Mootox

It’s been a while since I posted anything new, but I’ve started updating my old physics demo into a more complete game. There’s lots of open issues and missing features but the current version is reasonably playable (even had a relatively successful internet game :)). The game is essentially about racing a little truck around a 2D world to the finish after having collected the stars littered around the level.

STOP! If you don’t like 2D games, turn back now! :slight_smile:

Webstart Here

I’d really like some feedback on what works and what doesn’t. There are however plenty of known issues including:

  • Skinning the trucks is a little too flexible at the moment. It’s possible to cheat by creating interesting skins and the networking isn’t clever enough to sync up player skins yet
  • Graphics are generally pretty average, but at least nothing is ripped this time :slight_smile: Apart from maybe some user contributed truck skins
  • The levels are just test ones. They’re ok fun, but nothing designed
  • Controls are sensitive and not to everyone’s taste. This game isn’t intended to be the same as one of the many motorcross games though so keep an open mind. There have been some impressive times recorded even with current control system.
  • There arn’t any dynamic objects in the environment, this will come in time probably

Any and all feedback richly appreciated. Especially crashes with logs, performance issues and platform issues.


http://old.cokeandcode.com/demos/mootox/screenshots/mini1.png

http://slick.cokeandcode.com/images/minimootox2.png

http://old.cokeandcode.com/demos/mootox/screenshots/skins1.png

Notes on custom truck and level designing will be coming soon, or maybe I’ll convince one of the guys who have been playing already to post :slight_smile:

Any ideas for any of the following would also be appreciated:

  • Multiplayer game formats that work with the trucks
  • Powerups for the trucks
  • Skin extensions - what about multi wheeled trucks?
  • Website and Online features that might be fun

The webstart will be updating all the time so apologies if it’s broken for short periods. Never know quite how to end this sort of post, so I just will. Thanks for any testing or suggestions in advance.

Kev

Damn, should probably mention controls.

Cusors Left/Right to drive (or up/down depending on how you want to drive)
Ctrl - jump
Space - change direction
R - restart level

Kev

Nice work Kev! I like it a lot! 8)

Multiplayer Team Ideas:

  • Capture the Flag of course :slight_smile:
  • Truck Soccer ;D … imagine lots of trucks and a giant ball! Sounds like fun!

And most important you’ll need Avatar pictures floating above the truck ::slight_smile: :stuck_out_tongue:

void

Space and R didnt work…

Fixed, cheers.

Kev

The physics is sensational. And I like the graphics, the sky in the background is great.

Ran fine on WinXP java 6. I’m interested to see how it runs over the network, I’ll try soon.

Love it! The physics feel great, and it’s got a certain hard-to-define “fun” going.

What’s the point of reversing the truck other than to get the art to look right, though? Could it be changed so the truck automatically changes direction when driving backwards?
Also, the penalty for falling off the level seems a bit high… enough for me to give up on the second level.

Thanks for the feedback guys.

Reversing - yeah, it’s been debated a bit. The truck should probably drive slower in reverse too. At the moment there are slight advantages to taking jumps in reverse since the truck moves differently through the air when in reverse. From a purely cool factor, the brake lights wouldn’t work if the truck just changed direction on turn.

Penalty - yep. Noted. Might resetting to the last know “safe” position work - just determining that might be a bit annoying. :slight_smile:

Kev

Excellent!

Some more ideas for the gameplay:

  • Adding hoops; when you jump through you get extra points.
  • Springs that launch you into air when you drive over them (avoiding them by jumping over)
  • For the multiplayer modus, being able to shoot or drop mines or something (through powerups) always adds an extra twist

Cool… Very nice! (as usual for your games Kev)…
Reminds me a little of Line Rider (Sorry guys, I do play Flash games sometimes, tut!)
Would be nice if you could design your own track (similar to Line Rider, maybe by drawing lines, rather than using Images) altho apprecaite this could be tricky…
Steve

Tracks actually consist of an SVG file and a properties file, you can see an example here:

http://www.cokeandcode.com/demos/mootox/examples/

Using inkscape you can happily create levels and drop them in to play.

Kev

Multiplayer game updated to:

  • Allow sharing of custom skins via the network. Design your skin and then play online.
  • Allow sharing of custom levels via the network.
  • Swap levels after a set period (default 5 minutes play).
  • Point scoring - currently get a point for having the best time for the level after a period.

Kev

Hi Kev,

I tried the multiplayer game by starting two versions on the one computer. It was interesting to see what happened in the other game when I pressed forward in the first game.

I’m wondering how your networking approach works, because it’s pretty good.

Some observations:

  • Key presses instantly cause action on the truck (very cool, makes the game feel reactive and solid)
  • There’s a half-second lag until one game sees the other’s movements, even when there’s no latency at all (I assume that the 1/2 second is the default latency? What happens if latency is more?)

Something I was wondering, are there any synchronization updates sent from server to client, besides key presses? Because since the player’s actions are incorporated straight away in the first game, and then there’s a half-a-second lag until the other player sees what’s happening, the two worlds will be out of sync? Is this why the map is static and players can’t interact with one-another?

Also, if this was a racing game and both players pressed ‘go’ at the same time, would each think he is winning?! :smiley:

There’s no intentional lag between clients. Infact, if I run two here locally they move at the same time. I think you might be thinking I’m using that simulation method here and I’m not. I’m simply brute forcing updates across the network atm. Interesting to hear you’re getting half second latency between two local clients - you should get 200ms between updates at the moment, I guess that might be the lag you’re seeing.

The 200ms stops the TCP backend getting swamped by updates.

This makes no difference in this particular game, see trackmania nations. The players are racing to get the “best lap time”, whether someone else is ahead or not doesn’t matter. Since the lap clock resets every time you restart the level it’s all about your time, not your relative position.

Network approach is really primitive just because I don’t want to deal with cars bouncing off each other:

  • Every 200ms (or multiple of recording interval) send the truck’s x,y and rotation
  • Interpolate client side

There’s obviously alot of other game stuff that goes on (joins, leaves, chat, skin/level transfer, leader/time handling) but the update cycle is essentially that.

I’m trying to sort out the server to be a seperate thread and then hopefully I get a dedidcated server together - then maybe we can all have a go together :slight_smile: :slight_smile:

Kev

Thanks for describing it, I must have just been seeing the 200ms delay

Gee, well the system you’ve got is simple but effective.

A dedicated server will be good 8)

[quote=“kevglass,post:14,topic:31315”]
200 ms delay + interpolated 200 ms (since without dead reckoning you have to interpolate between the last two updates) = 400 ms delay, which is close enough to the half second delay CommanderKeith saw.

Na, when running locally (client A, client B):

A sends position - accurate at the moment of sending
B gets position instantly (close enough locally)
B moves the truck to the new position within 200ms (at which point A is 200ms into a new position)

B would only be 200ms behind A’s current position. Movement wouldn’t be perfect but it seems to work pretty well.

Having much bigger problems at the moment with synchronizing levels and skins, but development proceeds. I did take the time to set up a simple php blog (http://www.cokeandcode.com/demos/mootox/) and post a todo list:

http://www.cokeandcode.com/demos/mootox/web/index.php?entry=entry080212-193854

Any other thoughts, missing bits?

Kev

Oh, right! Haha =D

* Markus_Persson goes back to counting flowers or something.

New Version Up

Client:

  • New controls, you can now tilt the truck in mid-air to aid landing
  • Taunts - user configurable taunt strings that are activated by 1-5 in multiplayer
  • Network smoothing - network updates are smoothed more gracefully to give a better feel coping with lag spikes
  • Truck’s wheels are now skinnable (along with the body, brakes and physics as before)
  • Connection to the server is threaded to prevent freezing
  • Text field issues resolved
  • New menu styling
  • Color coded chat

Server:

  • MOTD added
  • Server command framework added
  • Ability to vote to change track (/vote and /yes /no)
  • List track command (/tracks) shows the IDs of the known server tracks
  • HTTP Server Status provided on running servers at port+1
  • Best times and scores maintained while the server is running (soon to be persisted)
  • Dedicated server provided at bob.newdawnsoftware.com:43210 (see status)

Kev

Found a bug, if I select another car (after the yellow bus) the game crashes and if I restart it, it will crash on the car selection and on the start of a game after I have chosen a map.

Nice game btw!