Page 1 of 1

RACR, a Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 12:37
by mbue
Since the old forum thread of mine is gone, I guess I'll post the essentials again :-)

Project name: RACR (temporary)
Project status: WIP - see tasks below.
Project members: Just me right now.
Project page: http://gitorious.org/racr
Why: Well, I was (and still am) searching for a open/free game that plays like Micro Machines and can be played via network multiplayer.

Software license (of my own code): GNU GPL2+
Programming language(s): C/C++, Lua (currently config-only), Python (Blender script)
Drawing code: OpenGL & SDL
Artwork: Maps rendered via Blender 3D, some graphics created with GIMP
Coding tools: CodeBlocks, gcc, MinGW, make
Compiles on: Linux, Windows

Used libraries (details for compilation is here):
  • SDL
  • SDL_image
  • SDL_mixer
  • SDL_net
  • SDL_ttf
  • zlib
  • libpng
  • jpeg
  • lua50
  • lualib50
  • OpenGL
  • Chipmunk physics engine

Features:
Note: Since the game is still a WIP, not all of this is finished.
  • Fast paced top-down car racing (arcade-style with some simple physics)
  • Multiplayer action (over the network! Splitscreen only if time permits.)
  • Collectible powerups like Speed Boost and Oil
  • High-quality graphics (the current ones are far from finished)
  • Easy addition of custom tracks.

Most needed stuff to make it playable:
  • Fixed propulsion/steering physics! (See Phys_CalculateForce and Phys_Steering in sv_physics.cpp) I've started an extra thread about this here.
  • Better network code for faster data transfer (UDP? I have some test code, but it's not in a working state right now.)

Screenshots
racr_01.jpg
Screenshot 1: Very basic map with some grass :)

racr_02.jpg
Screenshot 2: The very fist map - mostly sand and some plastic toys/tools here and there.

racr_03.jpg
Screenshot 3: The game with debug stuff (collision borders and force vectors) enabled.


Cheers,
Martin

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 14:54
by qubodup
Hey, I'm trying to compile on a 32bit arch linux netbook. I had to remove "lua50/" from the includes in src/cl_lua.h or make would not find lua. Now I get following error.

{l Code}: {l Select All Code}
$ make
g++    -c -o src/cl_parse.o src/cl_parse.cpp
src/cl_parse.cpp: In function ‘int E_ParseMaps(char*, engine_t*)’:
src/cl_parse.cpp:414: error: ‘lua_dofile’ was not declared in this scope
src/cl_parse.cpp: In function ‘int E_ParseCarTypes(char*, engine_t*)’:
src/cl_parse.cpp:577: error: ‘lua_dofile’ was not declared in this scope
src/cl_parse.cpp: In function ‘int E_ParsePowerupTypes(char*, engine_t*)’:
src/cl_parse.cpp:660: error: ‘lua_dofile’ was not declared in this scope
src/cl_parse.cpp: In function ‘void E_ParseData(engine_t*)’:
src/cl_parse.cpp:721: warning: deprecated conversion from string constant to ‘char*’
src/cl_parse.cpp:724: warning: deprecated conversion from string constant to ‘char*’
src/cl_parse.cpp:727: warning: deprecated conversion from string constant to ‘char*’
src/cl_parse.cpp: In function ‘void E_ParseConfig(engine_t*)’:
src/cl_parse.cpp:739: error: ‘lua_dofile’ was not declared in this scope
make: *** [src/cl_parse.o] Error 1


Allacrost seems to have (had?) the same problem: http://bugs.allacrost.org/view.php?id=119

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 15:02
by charlie
There's been a few of these over the years although most never got too far. The only ones I know of that are playable are Racer and Trophy.

I look forward to screenshots and playable releases!

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 15:33
by mbue
qubodup {l Wrote}:Hey, I'm trying to compile on a 32bit arch linux netbook. I had to remove "lua50/" from the includes in src/cl_lua.h or make would not find lua. Now I get following error.

<SNIP>

Allacrost seems to have (had?) the same problem: http://bugs.allacrost.org/view.php?id=119


I'm not at my linux computer right now, I'll look into this in the evening.

It seems to be a problem with deprecated function names in newer lua versions (5.0 up?).
(see also http://lua-users.org/lists/lua-l/2003-05/msg00071.html)

Looks like lua_dofile got replaced by lua_load.
Dunno why sometimes lua_dofile still works.

Also: I haven't touched/used the makefile I mostly use C::B) in quite some time (also I'm on 64bit linux), so it may not work right now anyway ;)
It doesn't even have a "make clean" function IIRC, so keep that in mind.

@charlie: Yes, both of these look promising :)
EDIT: Unfortunately racer is "only" splitscreen, no network multiplayer (yet).
I remember that I discovered this game after I already started my own project :)
And trophy has the same problem of having no multiplayer (yet) according to the FAQ.

Cheers,
Martin

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 19:13
by mbue
@qubodup:
I've committed some changes that should fix your LUA compile problems (the correct function name is now called "luaL_loadfile" btw).

Although not for the "lib50/" path problem - anybody who can suggest a good solution here (Something that works with make and C::B would be great :D)?

EDIT: Damn, but now it segfaults - nevermind :(
EDIT2: NOW it should work.
EDIT3: Also: Screenshots in first post :)

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 20:19
by qubodup
Thanks, it worked! (on my 64bit desktop, didn't try on netbook [yet?])

The controls are very.. weird.. they are not sensitive enough. Also I had the feeling that my frame rate was unpleasantly low to my eyes..

I made a video: http://www.youtube.com/watch?v=q2ZuJDgOrY4

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 20:25
by mbue
qubodup {l Wrote}:The controls are very.. weird.. they are not sensitive enough. Also I had the feeling that my frame rate was unpleasantly low to my eyes..

The bad controls are due to my lack of good physics code (see the "Most needed stuff" in the original post and also this thread).

Dunno about the frame rate, the graphics are rendered via OpenGL. That should not lag much.

Cheers,
Martin

Re: Micro Machines-like car racing game (early WIP)

PostPosted: 13 Jan 2010, 23:36
by mbue
The steering should be a little bit better now.
I've applied a temporary fix, but I'm still searching for a real solution.

Re: RACR: A Micro Machines-like car racing game (early WIP)

PostPosted: 14 Sep 2011, 19:43
by mbue
Just a small update on the project.
I was pretty busy since I last posted, so nothing much has changed.
I recently got a bit of spare time to look at the game again and trying to get this on the rails again.

There is a UDP-netcode branch (brach "racr_udp") where most of the development happens right now.

If anybody is out there and has some experience with UDP&TCP and SDL I'd appreciate any help ;-)

Re: RACR: A Micro Machines-like car racing game (early WIP)

PostPosted: 14 Sep 2011, 21:18
by charlie
Any chance of a Windows build mbue?

Re: RACR: A Micro Machines-like car racing game (early WIP)

PostPosted: 14 Sep 2011, 22:08
by mbue
I theory yes, but you'll be disappointed with what you get. Some things have been broken (even more) since qubodup made that youtube video.
The network code is currently under refractory and physics (i.e. steer/driving) still don't work like I want them to.

Right now I don't think there is anything for players to see here, at least not more than the screenshots & the video already show. Gameplay is basically absent except for the horrible steering.

My goal right now is to get 2 players to work again (using UDP & TCP for networking).
Which means that there will be one player as the server and one client and both can drive around (no matter how bad).
Once that works I can release a Windows build that is at least somewhat usable.

Re: RACR, a Micro Machines-like car racing game (early WIP)

PostPosted: 25 Oct 2011, 11:33
by Nikuradse
Hi, I tryed to compile on Win with VS, but looking at the requirements
lua
lualib
liblualib
I do not understand what this means as I could get a precompiled
lua5.1.ddl (and lib)

and headers
luaxlib .h
lua.h
luaconf.h
lualib.h

So I do not know how to retrieve liblualib.h or .lib or .dll
I do not know if the lua and lualib you mention are actually the header files
I suppose I should link also the lua5.1.lib but It is not specified.
Could you please give me some more information, I would like to build the project and see if I can put down some line of code (I loved MM2 back then)
Bye

Re: RACR, a Micro Machines-like car racing game (early WIP)

PostPosted: 05 Apr 2012, 17:07
by mbue
Nikuradse: Sorry for replying extremly late. I saw your post, but got side-tracked somehow. As you can imagine I haven't worked on this project for quite some time :)

This also means that the used libraries (here: lua libs and headers) may have been updated since the last update of the game. I haven't really had time to make it work.

I'll definately post here when I get this sorted out, but don't expect anything soon :(