Trace

I was planning on making this multiplayer over the internet, but a) I’m not sure how much fun it would be, and b) I’m very, very lazy: witness my track record - I’ve been at least lurking since the very first javagaming forum iteration and this is the first game finished enough to show anyone else.

So here she is:

http://homepages.inf.ed.ac.uk/rmcnally/trace/snap6.png

http://homepages.inf.ed.ac.uk/rmcnally/trace/snap5.png

As you can see it’s a snake-like kind of deal. Steer your trace left and right, hit the gaps in traces for points, collect powerups and so on. Probably best with multiple people around the keyboard, but there’s several flavours of bot to fill up the numbers.

Preemptive answers:

  • No mouse controls. Remember: lazy. Just hit the pictured keys.
  • Choose the “Meatbag” trace type for human control

There’s a console hiding under your ` key, laden with options - it does tab-completion, so just spam that to see what you can do.

Webstart link.

Any thoughts? Would this work with netplay? Without the in-person smacktalk/keyboard interference possibilities, I reckon it would just be like playing against bots.

Many players use VoIP software like Mumble, TeamSpeak, Skype, etc. The game sounds fun for more people, go for it :slight_smile:

Very polished game, well done on finishing something! :thumbsup:

Funny game, love the particle effects and the sound.

It’s a bit freaky when the green grid starts pulsating! Hard to judge what’s happening with no point of reference. I was pretty bad - max score of 10. I found it safest to just hold down left or right and stay in a safe loop :slight_smile:

Meatbags - ‘error prone and moist’ lol. So you liked that movie Surrogates?!

When I closed the window the process still hung around. I think it’s that old webstart bug where it never knows when to close so you have to call System.exit(0) manually.

What triggers the speed boosts? is it a key, or an event in-game?

Nvm, worked it out - it’s when you are running parallel to another line, yes?

I think a good addition would be to display the scores somewhere whilst playing; would make it a bit more frantic & stressful if you knew you only needed a few more gates to win.

I liked it :), although I also sucked :confused:

The pulsing grid happens when there’s only one trace left alive. The speed and trace length are also gradually increasing at this point in order to bring a definite end to the game, but I thought I’d make it even more distressing. You can switch it off in the console.

Looping and scoring points in your own gates? Most dishonourable! Might have to reduce the points for that… :wink:

Meatbags: I was inspired by Bender’s “Pile of goo wrapped in a t-shirt”, but Surrogates fits pretty well too.

System.exit() added.

Yeah, speed boost kicks in when you follow another trace within 20 pixels - lets you catch up and cut in front :wink:
Score display - Currently you can check the scores by pausing (escape key), but I think you’re right - in game display would be better. I reckon a display of how many points are needed to win (or by how many points you are humiliating your opponents) in the endgame phase would be good. It’ll have to keep out of the way of the surviving trace though.

Familiarity has probably made me make the default settings too difficult - gaps too small, speed too high etc. Crack open the console and make some changes: decrease the speed, make gaps larger, increase the max and starting shield count, make traces more bouncy, and so on. The command to do these will look something like:

set (/trace/game/trace/speed) 50

Remember the tab-completion, it’ll save a lot of typing and show you what options there are. Once you’ve got settings you like, save them as a gametype with “savegametype myGameTypeName”, and you can then load them again later in one go.

Playing against a single coward bot would let you get some training in - the bot will stay out of your way and the endgame speed-up wont kick in.

Hi!

I don’t understand, nothing happens when I press the arrow keys. Can you explain to me what the expected behavior is? It is a nice polished game.

Edit.: when I leave the game, the process is not stopped, please call System.exit(0);

Difficult to know what sort of feedback to give on this.

On the one hand, I think it’s a superb bit of work: the style is great, the graphics and sound are really nicely done, there are plenty of imaginative twists on the ancient ‘Snakes’ gameplay, and overall the attention-to-detail is fantastic.

On the other hand, the game is so idiosyncratic that I just can’t imagine anyone playing it. The menus are so eccentric they need their own instruction manual, the gameplay is difficult to figure out, and the game’s never going to be much fun without a group of friends crowded around the keyboard. (And I can’t see the game working with online multi-player. You need to be in the same room as the people you’re playing against for this sort of game to be fun.)

This belongs in the ‘Featured Games’ section.

But don’t spend too much more time adding features to it. I want to still be alive when you finish your next game. :wink:

Simon

oh nice.

GUI is really strange though and takes some time to get use to it and understand how it works, would be nice if you added mouse controls to navigate it.

maybe its just my computer but game process continues running after I close the window.

its cause he doesnt System.exit(0). its been mentioned up higher :wink:

Hrm. Nothing happens? Not sure what to make of that. In general: Escape=back, Return=accept, cursor keys change based on context. From the starting screen: hitting up should start the process of adding a player (choosing a name, colour, trace type, keys if needed); hitting right should display a wee FAQ that you can scroll through with up and down. Does the input on the font test linked from this post work for you?

I completely agree with everything here. Get out of my head! :persecutioncomplex:
The game is a remake of something I remember playing on the Amiga (Can’t even remember the name. “Viper” maybe?), but made a touch more forgiving with the addition of shields, bouncing and powerups. It’s written for an audience consisting of me, and I’m pretty sure I’m not representative :wink:

I’m not going to get away without a mousable interface am I? :’(

Right - the not-terminating thing should be fixed now. Later on you might see an endgame-phase score display and mouse input

edit: endgame score display is in. It certainly stays out of your way, but it might be a little distracting. Kind of matches the point of the endgame phase though - sitting and watching the sole surviving trace loop about the arena racking up loads of points isn’t much fun. Distracting is good here.

Nice looking game and interesting twist on old idea.

If you are trying to get many people to play it, then you need to make it foolproof though. Grab an 8-year old nephew and make sure that he at least can get it started and understand the game within one minute. All web gamers are 8 years old or have the attention-span of one. That would mean intuitive menus and quick-start options (not “composing” games with opponents), and/or a progression from easy to more difficult game.

If this on the other hand is just A game for yourself, on the way to a final opus later on, then this is perfectly fine. Pretty cool with different AI, that at least in the beginning seems to be behaving quite well, and not too predictable. I could at least not find a safe formula to outwit the AI during my test, rather the other way around.

Yee… One room multiplayer would probably bring the best out of this game, but it is hard to compete with bomberman in that arena. :wink:

Now that you have figured it out, then next game should be trivial to create :slight_smile:

Couple of wee changes:

  • Points for someone hitting your trace, not just for the final kill. Also, negative points for hitting your own trace.
  • Bots now choose their own name and colour. Makes it far less tedious to set up a game. Not sure why it wasn’t always this way tbh

The problem is that the menu works but I don’t understand what to do in the game itself. When I press the arrow keys, nothing happens. I’m going to give it another try.

Edit.: it seems to work fine now :smiley:

Ah, I see. Step-by-step instructions (assuming you’re starting from a fresh, empty “user” list):

  • Hit up to add a new player. You’ll be presented with a choice of bot types you can scroll through with up and down. Select the “meatbag” option and hit return to accept
  • Enter a three-letter name for yourself, hit enter to accept
  • Choose a colour - up and down to scroll through the choices, return to accept
  • You should be prompted for controls: first the left key and then the right. Just hit the keys you want to use
  • Your key choices will be displayed. If you want to change either one, hit the left or right cursor keys and you’ll be prompted again. Hit Return when you’re happy with your key choices
  • You should be back at the starting screen, but now the trace you just defined will be in the “user” list
  • Add another trace by hitting up again
  • Select a different trace type. “Itinerant” is probably a good choice. It’ll choose its own name colour and colour, so you’ll go directly back to the starting screen
  • Repeat as needed for more players
  • From the starting screen, hit down to remove the last trace in the “user” list if you need to
  • From the starting screen, hit return to start the game, there’ll be a countdown where your position and direction will be indicated before the game starts

In the game: steer your trace left and right. Avoid hitting the screen edges and the other traces. Pass through the gaps in traces to gain points. You can hit a trace 3 times before your shields are gone, once more and you’re dead. Hit a trace or the boundary at a shallow enough angle and you’ll bounce off instead of taking damage. Travel within 20 pixels of another trace to get a speed boost.

Powerups will periodically appear, run over them to pick them up and adjust some aspect of your trace: Red for trace length, blue for speed and green for gap size. White powerups replenish one of your shields.
Viruses may also appear: a biohazard symbol trapped in a revolving cloak. Run over them to steal their cloak and unleash them on the other traces. Viruses will chase the nearest uncloaked trace, flipping the controls of whoever they eventually hit. Death usually ensues. Note: the cloak you steal will not last forever.

Made a few changes:

  • Mouse-able gui: not exactly fixed, but certainly addressed :wink:
  • Gametype menu: A few premade-options available, and you can add your own in the console

I was also forced to abandon the distance-field rendering for the text as loading the shader causes my laptop to crash (really, really hard) with Kubutu 04.10 >:(. This did highlight some text layout errors though.

If anyone is interested (and I’m not sure you should be - the game code is pretty ugly. The libraries that it uses are ok though), the source is available over here.

Anyhoo, I can’t really think of much more to add to this. Does anyone have any ideas? If not, any chance of a showcase assessment?

I’m going to give it a look now. Thanks.

P.S : the link doesn’t work :s

Works fine for me ??? Can you access other google code projects OK?

You must’ve done something to anger the Moderators.
Repent! Before they smite us all! ::slight_smile: