Sidescrolling Beat'em Up Game Engine

Forums Programming cocos2d support (graphics engine) Sidescrolling Beat'em Up Game Engine

This topic contains 22 replies, has 10 voices, and was last updated by  Duckwit 3 years, 7 months ago.

Viewing 23 posts - 1 through 23 (of 23 total)
Author Posts
Author Posts
February 16, 2010 at 6:58 pm #219900

invulse
@invulse

Hey everyone,

I’m going to start working on a side scrolling beat’em up game very soon (in the likes of Double Dragon, etc…), and during the process of making this game I want to create a free open source Beat’em Up Engine for Cocos2d.

I have experience making somewhat complex games in Flash but I havent made a Beat’em up game before. Are there any good ‘open source’ beat’em up games out there to get ideas from? I’d like to make the engine as flexible but easy to use as possible but I am unsure of how to handle certain things like:

- how to split up the game environment (should environments be tiled to save resources, even though its likely the tiles are used only once on a specific map?)

I am working on a UML for the game engine right now, will post when its fleshed out a bit more, but any advice or links to resources is appreciated.

Thanks!

February 16, 2010 at 7:23 pm #273614

AkumaStreak
Participant
@akumastreak

If tiles are to be used only once within a given map, the point of using them is lost. Or maybe you just meant you want a unique tileset per level? Tiles were more common in the days of systems like NES, SNES, Sega Genesis, Game Boy, Game Boy Advance, etc. when the hardware was specifically designed with tiling being a prominent approach. There are still some neat things about working with tilesets, but I think you should have a good reason to use tiles this day in age unless you’re specifically trying to make a game that looks tiled (for a retro feel, for ex.) — just my opinion. Another argument for using tiles might be that there are good level editors and such available to you from the get-go. Personally, I would rather see more people writing streaming tech (basically what games like Spiderman 2 and the Grand Theft Auto series do, but for 2D assets/levels). I would really be interested in writing subsystems/editors for just that, but I can’t justify it now (too poor at the moment). There are artistic/logical complexities with coming up with good tilesets that don’t look like shit when laid out for levels as well. I’d much rather have an editor where I can align/layer background elements, instances and their spawn points, etc.

February 16, 2010 at 7:38 pm #273615

invulse
@invulse

My question about tiles is more about conserving memory than the necessity of having a tileset. The artist who will probably be making most of the artwork and environments for the game will likely want to create one long level graphic, but loading a potentially very long environment into a sprite and moving it seems like it could hog precious resources. I planned on splitting a long level into a smaller sized tiles and loading/unloading them from memory when needed as opposed to keeping them in memory. However I’m not sure if this is the correct path to go on.

February 16, 2010 at 8:37 pm #273616

Metric
@metric

Well, the iPhone has a limit of 1024×1024 texture size. With that you could create a sprite sheet with several level graphics that stretch 1024 horizontally on the same sprite sheet which in effect saves memory. So, no it is not costly at all to have a 1024×1024 level sheet, and cocos2d doesn’t render anything that is not currenty in the visible area.

On top of that, scrolling a sprite left to right or right to left is not intensive at all, because it is just a texture on a quad polygon.

February 16, 2010 at 8:46 pm #273617

invulse
@invulse

Interesting, I’ll have to make a test of this tonight, and see how the memory usage is.

I also wanted to know if anyone had experience with creating multiple character sprites which are animated in a similar way to flash. That is having multiple sprites contained within it that are animated (head, torso, arms and legs animated seperately), as opposed to drawing out each individual animation in a Texture Atlas (I believe), and if this is too taxing on the iphone using Cocos2d?

I downloaded OMG Pirates! and Zombieville and liked the smoothness this kind of animation provided, but each of those was built using the Unity engine which I’m guessing is significantly faster seeing that its commercial.

February 17, 2010 at 1:34 am #273618

Steffen Altwiese
Moderator
@steve-oldmeadow

…was built using the Unity engine which I’m guessing is significantly faster seeing that its commercial.

Then you’d be wrong. Before you write cocos2d off why don’t you give it a try? I think you’ll be surprised by how powerful it is.

February 17, 2010 at 2:16 am #273619

invulse
@invulse

I’m not writing off cocos2d, its by far the best 2d engine I have seen thats free and open source which is why I am working with it right now…

February 17, 2010 at 2:32 am #273620

Steffen Altwiese
Moderator
@steve-oldmeadow

You seem to be assuming that because something is commercial or closed source it is better than free and open source. Lots of cocos2d developers that have used Unity or Torque would tell you otherwise.

February 17, 2010 at 2:49 am #273621

SDKTutor
Participant
@sdktutor

Cocos2D FTW. Cocos2D is by far the best iPhone game engine available by far. Nothing else can even touch it. I thought at first it wasn’t going to be great…. by let me tell you… it’s AMAZING!!!!

February 17, 2010 at 2:57 am #273622

abitofcode
Moderator
@abitofcode

Windows Vista is commercial and closed source.

I rest my case.

February 17, 2010 at 2:59 am #273623

invulse
@invulse

Not trying to offend here, I’m excited to be using Cocos2D. I come form working almost exclusively in Flash AS3, and the speed of Cocos2D and the iPhone is general have motivated me to start working on games again.

Hopefully in a month or two I can have a working Beat’em Up Engine thats easy to use but flexible so anyone can work with it. I’m in the process of fleshing out the structure of it right now, and figuring out how to implement them in Cocos2d.

February 17, 2010 at 3:18 am #273624

Steffen Altwiese
Moderator
@steve-oldmeadow

I’m not offended, it just seems you have the attitude that Unity must some how be better because it costs money. The Unity developers don’t have any magic, they don’t know anything we don’t know about optimising performance on the iPhone. Unity is also designed for 3d games and is a good choice if you want to make a 3d game but for a 2d Double Dragon style game cocos2d can’t be beat. Have a look at these cocos2d games, personally I think they urinate from a great height on any 2d game I’ve seen developed in Unity.

ZombieSmash

http://www.cocos2d-iphone.org/forum/topic/1094

The Hero

http://www.cocos2d-iphone.org/forum/topic/2726

February 17, 2010 at 3:24 am #273625

invulse
@invulse

When I saw the ZombieSmash trailer a little while ago, was when I decided to work with Cocos2D. It looks really high quality.

February 17, 2010 at 3:27 am #273626

bradparks
Participant
@bradparks

hey there… first, welcome to cocos2d! definitely a nice game engine if you haven’t gathered that yet…. as for building your beat em up, i’d say start simple… here’s a link to a game that’s a very simple, but shows the basics of how a game works in Cocos2d…. Understand how this works, and you’ll be well on your way to building your game.

http://www.cocos2d-iphone.org/forum/topic/4516

The above mentioned sample is very simple, but works fine. After you understand how it works, I’d say your biggest decision will be whether or not to use a physics engine (chipmunk or box2d) or not! Alot of people will say “wow. physics engines… how neat” but note that making a physics engine do things that aren’t “realistic” may not be easy to do! which is quite typical in video games… i think of it as “cartoon physics”…. just my 2 cents ;-)

February 17, 2010 at 3:32 am #273627

abitofcode
Moderator
@abitofcode

Looking forward to both these games being released. Got fed up of waiting for ZombieSmash and joined their beta testers ;)

February 17, 2010 at 3:39 am #273628

invulse
@invulse

Definitely not going to use any physics engine in my game engine, I can’t really see a need for this type of game.

February 17, 2010 at 3:44 am #273629

Steffen Altwiese
Moderator
@steve-oldmeadow

@ abitofcode – Yes, ZombieSmash is taking a long time. As for The Hero, it is due out soon apparently:

http://toucharcade.com/2010/02/16/new-teaser-for-the-hero-formerly-superhero/

February 17, 2010 at 3:50 am #273630

abitofcode
Moderator
@abitofcode

@steve, magic its on my purchase list.

Hopefully my pig game (http://www.superturboactionpig.com/) will be out around the same time :s

February 17, 2010 at 4:04 am #273631

bradparks
Participant
@bradparks

i’ve been wondering about “fatty gets the princess”… i thought that looked good, but it’s been about 5 months now, I guess!

http://www.cocos2d-iphone.org/forum/topic/1814#post-11349

February 17, 2010 at 4:13 am #273632

abitofcode
Moderator
@abitofcode

lol, I remember seeing that at the time. There seems to be a correlation between the month a game is released and the date of their last post, I can only presume they’re all tanning themselves on a beach somewhere.

Looking forward to joining them ;)

February 17, 2010 at 8:55 pm #273633

Blue Ether
Participant
@blue-ether

Just to chime in on the Unity issue. I used Unity iPhone before taking up Cocos2D. We wanted to use it since it’s “cross-platform.” Unfortunately, it had to be dragged kicking and screaming to do a 2D game on iPhone. You might have better luck with a 2.5D or 3D game, but for pure 2D it is terrible. I know they’ve been improving it since I stopped working with it about 6 months ago, but I can tell you at the time that it was slow and irritating to deal with. I can’t even tell you how much I prefer working with Cocos2D. It’s night and day. Unity iPhone is split from the “main” Unity so working cross-platform isn’t all its cracked up to be. Moreover, because there are so many hacks you need to use to make an iPhone project run well that it wastes your time, and you’ll ultimately have to double your efforts to undo your hacks and make it work for another platform.

February 19, 2010 at 7:16 am #273634

sneakyness
@sneakyness

Blue Ether hit the nail on the head right here.

I would like to stress that we aren’t being unfairly biased because it’s closed source or something we have to pay for. Rest assured, if it was worth paying for, we’d be sitting on the Unity Forums instead right now. There are some fairly successful games that have used Unity, namely ZombieVille and OMG Pirates! or whatever. Those are great games, don’t get me wrong, but I think they lack a lot of polish, suffer from some nasty slowdown, and don’t really bring anything new to the table in terms of mechanics or gameplay.

I’ve personally watched a coworker mess around with Unity, and was thoroughly unimpressed. The time you’ll save using Unity to create your game will be lost trying to make it run smoothly.

If you really want to be multiplatform, you’ll write the core of your game to be platform independent from the start, and hook up I/O on a per-platform basis. That way you can save yourself a lot of time reusing core components, and still have very granular control over each platform’s implementation.

August 31, 2010 at 7:59 pm #273635

Duckwit
Participant
@duckwit

I know this is an old topic. :) But I am planning a pretty much beat em up style game as my first game.

I’d be really interested to know how you are creating yours and any info you can give me about it!

Thanks!

Duckwit

Viewing 23 posts - 1 through 23 (of 23 total)

You must be logged in to reply to this topic.