I have mainly just a random question regarding 2D Fighters.

Started by
6 comments, last by Gian-Reto 9 years, 1 month ago

My goal is to make a game like Mortal Kombat 1.

I have a long way to go, but could someone tell me what all goes into something like that? There's apparently something called time steps I need, specific collision detection. How much is there that I wouldn't know about immediately?

Vague question, but I assume someone should know.

Advertisement

The first step to any interactive game is a "game loop"... I guess its what you call time steps.

Inside this game loop, that runs for a set number of times per second (30 or 60 commonly in todays games -> Frames per second), you have multiple sub parts, for updating the game logic, getting user input, handling physics and collisions, and, of course drawing the graphics to the screen.

Depending on the game, this might be a very simple loop, or a very elaborate "engine" that your game logic runs in and that takes your graphics assets and sounds and does all the low level tasks for you.

Now, before I go too much into details you could read on websites or in books in much more detail than I have time to write here, let me tell you this:

If you have this little knowledge about game development, file away the game idea you have for now, and start MUCH smaller.

Learn the basics, and start creating pong, pacman, tetris clones.... games from the dawn of video games that combine very simple graphics with very simple game logic. Games that can be easely created in hours by more expierienced game developers, and should be able to be created in days by less expierienced ones.

Don't aim for the stars right now... you will just end up disappointed.

Because you mentioned Mortal Kombat: If you are trying to recreate the graphics style, be aware that Mortal Kombat was one of the Pre-Rendered 2D Games created in the mid nineties. That means, all objects and characters in the game where created in 3D on at the time extremly expensive Silicon Graphics Workstations, and the animation frames where rendered out to static 2D Sprites.

While 3D Gaphics has matured a lot since then, so you can create a similar pre-rendered style on any normal computer nowadays, you now additionally need to learn 3D Modelling. And while this stile CAN be much more scalable compared to traditional handdrawn 2D graphics, you have a much higher overhead. You need to create fully 3D Models, and then rig (prepare) them for animation, which can take a lot of time. Once ready, capturing animation frames can be much faster than the traditional way of redrawing every frame in 2D.

Still, for a beginner starting with simple drawn and handanimated 2D Sprites might be the less bumpy road at first.

Hi,

If you have no C++ Game Programming Knowledge, you could start with this tutorial , it will show you how to set up a little 2D SDL code base and from there you can start to learn. Just go through all the tutorials and write the code while following the video, don't worry if you don't understand, as you do it and do it more, things will start to fall in place.

This is what I started with and it did wonders for me.

You could also do the Nehe tutorials too, but since its 3D there is a bit more to it, I suggest you start with SDL in 2D, SDL sets up a lot of stuff for you, like creating a Windows window easily.

Don't be turned off by the obstacles, you'll overcome every single one of them. It just takes dedication.

Peace!

Because you mentioned Mortal Kombat: If you are trying to recreate the graphics style, be aware that Mortal Kombat was one of the Pre-Rendered 2D Games created in the mid nineties.


You're thinking of Killer Instinct.

Mortal Kombat used digitized characters - all the player sprites were scanned pictures of real people performing the various moves in front of a greenscreen - up until the Mortal Kombat 4, where they switched to 3D models.

Hi,

If you have no C++ Game Programming Knowledge, you could start with this tutorial , it will show you how to set up a little 2D SDL code base and from there you can start to learn. Just go through all the tutorials and write the code while following the video, don't worry if you don't understand, as you do it and do it more, things will start to fall in place.

This is what I started with and it did wonders for me.

You could also do the Nehe tutorials too, but since its 3D there is a bit more to it, I suggest you start with SDL in 2D, SDL sets up a lot of stuff for you, like creating a Windows window easily.

Don't be turned off by the obstacles, you'll overcome every single one of them. It just takes dedication.

Peace!

Poking around in someone else's code while not knowing the basics of the language is a bad way to learn and you'll end up going back to trying something simpler anyways, just to get a good handle of it.

Those videos are a good way to learn 2D game programming if you've already made simpler programs with C++ but it is too out of the scope of actually teaching you the concepts of the language. If you use a tutorial that uses a Sprite class and you don't know what a class is you have a problem here that you need to isolate and solve. You come back to it to put the pieces together to make a game.

New game in progress: Project SeedWorld

My development blog: Electronic Meteor


Poking around in someone else's code while not knowing the basics of the language is a bad way to learn and you'll end up going back to trying something simpler anyways, just to get a good handle of it.

Those videos are a good way to learn 2D game programming if you've already made simpler programs with C++ but it is too out of the scope of actually teaching you the concepts of the language. If you use a tutorial that uses a Sprite class and you don't know what a class is you have a problem here that you need to isolate and solve. You come back to it to put the pieces together to make a game.

I find the best way to learn for me is to dive in and start practicing actively right away. I find that having a practical hands on approach while being driven with high motivation is the best way. Just learning about a language without directly applying it to something I really want to do, never worked for me.

You practice and practice and as you're moving forward, question arise, and you find the answers as you go and keep on learning. Game programming is very complex. It's going to take a lot of work, a lot of trial and errors.

I plan to start small, I was just curious about what all goes into a game like that. I'm working with SDL as well.

Theres some major C++ concept I gotta work with before I get much done. But I was mainly curious about what all goes into making a 2D fighter like MK. Seeing as I never even heard of timesteps I figured theres probably more that I don't know about. I plan to start small though.

Because you mentioned Mortal Kombat: If you are trying to recreate the graphics style, be aware that Mortal Kombat was one of the Pre-Rendered 2D Games created in the mid nineties.

You're thinking of Killer Instinct.

Mortal Kombat used digitized characters - all the player sprites were scanned pictures of real people performing the various moves in front of a greenscreen - up until the Mortal Kombat 4, where they switched to 3D models.

Ah, yes... Now that I think of it, you are right, I read that somewhere back in the nineties about how they made Mortal Kombat... Somehow I remembered it to be 3D Models because I forgot about that article...

Anyway, doesn't make the style easier to reproduce... in fact, makes it even harder.

I plan to start small, I was just curious about what all goes into a game like that. I'm working with SDL as well.

Theres some major C++ concept I gotta work with before I get much done. But I was mainly curious about what all goes into making a 2D fighter like MK. Seeing as I never even heard of timesteps I figured theres probably more that I don't know about. I plan to start small though.

I would recommend getting a good book about the topic. Here, this is a very in depth book about what goes on in a modern game engine: http://www.amazon.com/Engine-Architecture-Second-Jason-Gregory/dp/1466560010/ref=sr_1_1?ie=UTF8&qid=1424170133&sr=8-1&keywords=game+engine+architecture

Should be readable for anyone with beginner to intermediary skill, and if you get stuck on a concept or word you do not understand which is not explained in the book, you will at least know what to look for on Google.

This topic is closed to new replies.

Advertisement