View Full Version : Multi-Player Platform Game

12-03-2005, 11:41 PM
You know it's been agest since I've worked on my last major project. I still intent to finish it sometime in the future. But I had this really cool group project idea in mind.

How many of you guys have ever played Mega Man on the old consoles? Or even Super Mario Brothers? Wouldn't it be awesome if these games were multiplayer? Yes, You could play SMB in turns as a multi-player, but honestly... do you think anyone would want to go online and play like that? I'd like to make a true-to-form MegaMan-style multiplayer platform game. Now the engine would be 2D of course... not-barring and cool 3D effects or pre-rendered graphics for the player and enemy sprites, other objects.

I loved the characteristic feel and style of the CapCom games in those days the games were ultra-responsive and quick on the controls... if you were good enough you could go par-on-par wit hthe quickest of bosses in the game. I'd like to try to recapture that style of gameplay that seems to be lost these days.

What do you guys think? Story ideas, themes? Weapons, features?

13-03-2005, 02:50 AM
A few years ago I had created a MultiPlayer Platform Game Engine in Macromedia Flash MX. Although the multiplayer was 2 players on the same keyboard, it became a hit with all my friends, and just about everyone at school.

After I had left school people were, and still are, asking about it. So I had started a total recoded version in Delphi, with network play. But I havn't worked on it much in the last year, and I've almost abandoned it, you know how it goes...

But yeah, people still love the ol' 2d platformers, especially multiplayer platformers.

I suggest checking out Soldat, http://www.soldat.pl/. It's not quite a platformer like MegaMan, but it's multiplayer, and has awesome physics.
It's pretty advanced for this type of game, nice effects, smooth gameplay, perfect bot AI, lots of good guns, maps etc, and it's made in delphi :D . It's free to download and play, but you can register to unlock some of the other features, so it's not open source.

So yeah, you got all my support Will.

Robert Kosek
13-03-2005, 03:01 AM
Yes yes, YES! You've got my support, what it's worth, and I'll be rooting for you all the way!

I like scifi stuff like Tiberian Sun, *hint hint* :).

13-03-2005, 05:43 AM
Hmm... well I was thinking of maybe combining some favorite features from either Contra or MegaMan... The assortment of different weapons is always nice.

GAMEPLAY: For the interface. I'm considering have 2 mods of play... Top/Bottom split screen OR Normal single screen showing your view only. The split screen could be an interesting pick-up item won by defeating one of the levels...

Controls... well arrow keys obviously... but besides Shoot and Jump possibly 'Special Item' a 'Change Items' button too...

So for things like say Grenades and health packs, etc... You can manually use them this way and you can build up an inventory of them too. Might even add a secondary weapon ability. Like in Unreal Tornament.

STORY IDEA: Well we have a few choices... but the main 2 are... do we go serious or cutesy? Or if we mix it how far left or right of that do we go? See if it's too cutesy it'll get dropped right away if it's too serious and it is not exciting enough, it'll get forgotten about quickly too. So there is the balance issue.

We can go either humans or robots. I can handle either, but the gameplay would go one way or the other depending on which it is. ie. humans would have lots of different weapons and pick-up items that they can stock and use where as robots would get different upgrades and such. Robots might be more catchy though...

GRAPHICS AND MUSIC: who here is handy at graphics and wants to contribute to this idea? I mentioned 3D pre-rendered graphics, any tallent in 3DS MAX or the like? Heck I wouldn't mind pixel art too. In fact might be easier for me. Less enviroment factors to consider. For music, I want to use modules. They are much more powerful than mp3 or ogg.

OTHER PROGRAMMERS: ok now usually I go it alone on these things, but I am not doing that with this. :) I'll be more than happy to work on the core/graphical engine, but I'd like someone to maybe do networking, controls, etc... I want to work with JEDI-SDL though. But I like the idea of using OpenAL and OpenGL... for cross-platform. I don't plan on using any part of DirectX directly(only through SDL)

Well anyone want to jump on board this idea? I will probably see about starting after the PGD Dogfight contest is over.

14-03-2005, 04:56 AM
Am I correct in presuming that you are talking about a 2D sidescroller? If so the base engine of FOOGS would suit you. Also as part of the DogFight contest I have added SDL_Net support to S2DL so adding in a second player to foogs will be pretty straight forward.

If you want it isometric instead just wait for my DogFight Entry as it will already support two players and with a bit of tweaking should be able to support more players.

14-03-2005, 11:54 PM
Hey, I think I'll give FOOGS a look over. :) Though I may 'borrow' some techniques, I want to write the engine of the game from scratch to try to get a nice orgainized core for my purposes. Then again I haven't even looked at FOOGS' source yet, so don't mind my ramblings, just yet. ;)

Technical-ly speaking, I am planning in using JEDI-SDL, OpenAL and considering modifying SoundLib 2.5a. Or just going along with SDL_Mixer. I'd prefer to have the option to use 44100Hz detail and have a bit more control over things like manually jumping position in the OrderList, but I need the good quality and speedy mixing without the hasstle of licencing issues. (BASS and FMOD are out!)

What I think I'm planning is to make a freeware first version then perhaps a shareware/commercial second. This depending on if I can get the artists and musicians for the job. I might see if they guys that helped me with the PGD Dogfight Competition Intro, might be interested. They were both pretty modivated so they might be interested. Of course if it goes shareware, I'd be willing to go on with royalties, but that depends on the success of the freeware version I guess. :roll:

Well right now, I'm finishing up on some other things left over from before and then I'll wait until some people give me their thoughts and ideas to bounce off me. We'll see what sticks :P

17-09-2005, 09:55 PM
It's been a while since I revisited this thread.

I've been toying with a basic engine under Delphi(for now. I plan on moving to FPC once I get comfortable with an IDE).

Here (http://www.pascalgamedevelopment.com/files/188/Shooter.rar) is the source and win32 binary for my prototype.

I had just finished the map obsicle tile collission detection, which was a needlessly long story. In short: Sometimes the easiest, more modest solution is the best choice. ;)

Next I plan on incorporating the scrolling and map editor. From there, basic sprite animation, new map tile types (implimenting ladders and damage blocks), in-game objects and characters and so on.

EDIT: It uses JEDI-SDL...

17-09-2005, 11:44 PM

Yay me!

:lol: No lie. Almindor has been naggin me to give it a try and a few pointers to boot. I can be stubborn at times, but he is right. It definately is capable of this type of development. It just takes some getting used to it.

18-09-2005, 01:55 AM
Here is a few works that I have collected as insparation for this game. It's not meant to be a 'lets copy this', but a I like this style and design...

http://www.pascalgamedevelopment.com/awaken/images/566.jpg ('http://www.pascalgamedevelopment.com/awaken/images/566.jpg')
A new generation of miltary cyber soldiers based on the Doctor's original designs.

http://www.pascalgamedevelopment.com/awaken/images/64.jpg ('http://www.pascalgamedevelopment.com/awaken/images/64.jpg')
Kinda looks like the swamp that our character wakes up in...

http://www.pascalgamedevelopment.com/awaken/images/Phobo_drone.jpg ('http://www.pascalgamedevelopment.com/awaken/images/Phobo_drone.jpg')
Another type of gardian or heavy drone based on the Doctor's designs.

http://www.pascalgamedevelopment.com/awaken/images/Robot.jpg ('http://www.pascalgamedevelopment.com/awaken/images/Robot.jpg')
An enhanced version of 'the original' prototype design? Could this be your... brother...?

http://www.pascalgamedevelopment.com/awaken/images/industrial_city.jpg ('http://www.pascalgamedevelopment.com/awaken/images/industrial_city.jpg')
A view of big the city...

http://www.pascalgamedevelopment.com/awaken/images/City_Assault.jpg ('http://www.pascalgamedevelopment.com/awaken/images/City_Assault.jpg')
A city under attack by a robot army!

http://www.pascalgamedevelopment.com/awaken/images/ROBOT_MILENARY.jpg ('http://www.pascalgamedevelopment.com/awaken/images/ROBOT_MILENARY.jpg')
A robot by someone else's design.

http://www.pascalgamedevelopment.com/awaken/images/Coast.jpg ('http://www.pascalgamedevelopment.com/awaken/images/Coast.jpg')
A robot has a dream...

http://www.pascalgamedevelopment.com/awaken/images/Homeworld.jpg ('http://www.pascalgamedevelopment.com/awaken/images/Homeworld.jpg')
An enemy installation in the forrest.

http://www.pascalgamedevelopment.com/awaken/images/city_2048.jpg ('http://www.pascalgamedevelopment.com/awaken/images/city_2048.jpg')
Inside the lower levels of the city.


22-09-2005, 09:30 AM
I took a look at your code WILL and im stumped as to how you managed to compile your EXE so damn small! i cant get mine below 1.2 - 1.4mb!

And yeah it does seem to run slow for some reason, how did you go about finding leaks and stuff?

Robert Kosek
22-09-2005, 02:11 PM
Yeah, that is a bit slow. I noticed it most when the window wasn't in focus. Otherwise it's quite good. :)

Oh, and how in the world did you get teh EXE so small? StripReloc and UPX are what I use, but they don't get THAT small.

22-09-2005, 05:23 PM
The size is so small because it doesn't use any VCL.

22-09-2005, 11:12 PM
THAT file wasn't compiled under Lazarus. :)

As for the slow-down, I'm quite sure it's a result of the leak. The other night I was watching TV while programming. I ran the program and forgot about it and when I came back it was complainning about havintoo big a swap file. :?

Where it is... I have no clue to be embarassingly honest. But I should find it before I go much further with the engine.

Anyone find anything?

22-09-2005, 11:15 PM

the most obvious is not freeing an SDL Surface. Are you creating surfaces on the fly ( for text maybe? using SDL_TTF?) I had the same problem on one of my apps beforeI knew it it was up to 32 meg of memory, then crashed. :oops:


22-09-2005, 11:25 PM
found the problem

// New Screen! -- Draw Background
SDL_BlitSurface(Background[0], PSDLRect(0, 0, GameScreen.w, GameScreen.h), GameScreen, PSDLRect(0, 0, GameScreen.w, GameScreen.h));

the PSDLRect does a new to create a new instance of TSDL_rect then returns the pointer to you, which you must free.

Better to declare a local variable in GameCycle of TSDL_Rect ,

procedure GameCycle;
var Rect: TSDL_Rect;
// Check Player Input

// Game AI Input

// Perform Game Physics

// Check Game Actions

// New Screen! -- Draw Background
Rect := SDLRect(0, 0, GameScreen.w, GameScreen.h)
SDL_BlitSurface(Background[0], @Rect, GameScreen, @Rect);

// Draw Tiles

// Draw Sprites
Player1.Draw(GameScreen, ScreenX, ScreenY);

// Draw Effects

// Draw Foreground

// Draw FramesPerSecond!

{ Update Screen }

or just pass nil instead of SDL_Rects as this will blit the entire surface. The same thing is in DrawTile as well.


23-09-2005, 12:37 AM
Good eye Dean! ;)

You really notice the difference...

Well, I guess that I can continue to tweek the scrolling code and game objects, etc... :)

I'm really trying to push as much stuff into the engine before I start the map/level editor... Simply because the more that I have in the main engine, the less I'll have to copy over to the level editor version.

What I'm planning is to do is add a whole bunch of menus and mouse functions to create and design your maps and that'll make up most of the map editor for development.

The only other tools I'll need are little things, like the AI trainners, packers and such.

I also plan on using NNs with GAs for the Boss AI. I'm not sure how I'll arrange it's use, but it will be capable of learning from your playing the game. ;)

23-09-2005, 07:52 AM
I was hoping to use NN's in my project for AI. Anyone got any good NN units or training examples, it's been a while. :?

23-09-2005, 08:51 AM
I think it needs a scripting engine. Then we can all make mods :D

03-10-2005, 12:23 AM
Well I think that the scripting will be needed for making it a bit more dynamic then just run through and shoot things.

Changing of background graphics when you pass through a tunnel or get outside... Character dialogs and interactions... and even small triggers and switches in the levels.

Luckily I have already had some experience with my first scripting engine in my SkyBlast Engine Project.

18-11-2005, 11:09 PM
Well in a private message to K4Z about development of this game, I wrote up an interesting peice of text that describes how I plan on putting all the major peices together and what the more exciting features of the game would be. So, here is what I wrote.

I plan on creating a map/level editor soon that I can use to create maps for the robot to run through. From there I can move on to scripting enemies (with a enemy creator that will handle assigning animations and AI stuff), scripted objects, animations, events and dialog. Pretty much anything that doesn't involve the map directly. Think of the scripted objects and enemies like a seperate layer of the game level.

It'll come together something like this:

1) You maps...
2) Your level script with events and triggers for in-game manipulation...
3) Your enemy, player, weapon and item objects pre-made and used by the scripts and game engine.
4) The game engine and menu code that binds it all together.

5) Extra features, game modes, etc...

At least this is a rough description of what the game's makeup will be like. Don't forget the Boss battles too. I think I will need a battle mode where you can run it as a player vs. player, AI vs. player or AI vs. AI for learning mode. As I will be using Neural Nets for the bosses so that they will learn and will be more effective as opponents. The 'trainning' portion will require AI vs. AI so that I can run it a few hundred times so that they will evolve enough. It's a process that takes time to do, but it's all a semi-automated task, which is kind of neat. :)

I think that the main selling point of this game will be the advanced AI technique. Of course a multi-player co-op and battle modes would be fun for Internet/LAN play. Wouldn't it be fun to play as any of the types of evil robots that you discover in the game? You unlock new robots to battle as by uncovering secret locations/discs or something? Or by simply defeating a new boss allows you to play as/against him in multi-player battle mode.

18-11-2005, 11:12 PM
Hmm... you know, this game does need to get a name soon, I think.

From what you read in the story peices I wrote in the Story Writting section of the forums, what would you suggest I call it?

I already have some name ideas, but I want to know what you guys think. Seriously, what would you choose as a title for this game?

19-11-2005, 12:35 PM
I have absolutely no idea. I think a working title might help until the game has progressed to a more completed product.

10-10-2006, 12:33 AM
Reviving this thread might not do the project justice, so I've instead made a new thread in 'My Projects' since none was created originally.

You can view it there: Cyber Crisis ('viewtopic.php?t=3652')