Total newbie here, what should I study?

Started by
15 comments, last by zenoru24 12 years, 9 months ago
As the description points out, I am a total noob at game programming. Right now I'm doing my internship at a small videogame company and the project given to me is to create a 2D RPG video game engine that runs games like old school final fantasy back on the SNES. Anyways, I only have sufficient knowledge on C++ but that's it. I have no idea where I should start or what I should start reading up first before embarking on this quest. So any of you guys can tell me what I should study first?
Advertisement
First I think you should definately understand the concept of APIs/librarys and how you should set them up and use them to your advantage. I would try to find a 2D graphics API, or if you really want to get out there you could just use OpenGL or DirectX for your 2D graphics, although that may be a bit unnecessary. I believe there's also OpenVG (Vector Graphics API) that you may want to take advantage of, even though I haven't actually used it yet. Just find a graphics API that suits your needs. Another thing I would do if you're really serious about the game engine itself is to learn Win32 programming, and//or just GUI development in general, since you'll need that for creating game engine tools like a world editor, profiler, etc. One book I would strongly recommend reading is Jason Gregory's Game Engine Architecture. It's definately way beyond the aspect of 2D games and moves on to modern 3D ones, but it still has some great aspects in terms of general games development (that even applies to 2D games). I'd definately recommend reading it if you know you're going to be serious about game development and want to see how the biggest game developers get their work done. It's intended as a college text apparently, as well as for other audiances/hobbyists/indie devs. It's not necessarily meant to be read in order, you should probably read the first few chapters, then find a topic that interests you. It's just a suggestion for a good read, but think about it as its fairly expensive.

First I think you should definately understand the concept of APIs/librarys and how you should set them up and use them to your advantage. I would try to find a 2D graphics API, or if you really want to get out there you could just use OpenGL or DirectX for your 2D graphics, although that may be a bit unnecessary. I believe there's also OpenVG (Vector Graphics API) that you may want to take advantage of, even though I haven't actually used it yet. Just find a graphics API that suits your needs. Another thing I would do if you're really serious about the game engine itself is to learn Win32 programming, and//or just GUI development in general, since you'll need that for creating game engine tools like a world editor, profiler, etc. One book I would strongly recommend reading is Jason Gregory's Game Engine Architecture. It's definately way beyond the aspect of 2D games and moves on to modern 3D ones, but it still has some great aspects in terms of general games development (that even applies to 2D games). I'd definately recommend reading it if you know you're going to be serious about game development and want to see how the biggest game developers get their work done. It's intended as a college text apparently, as well as for other audiances/hobbyists/indie devs. It's not necessarily meant to be read in order, you should probably read the first few chapters, then find a topic that interests you. It's just a suggestion for a good read, but think about it as its fairly expensive.


Thanks mate, I'll be sure to check all these out. At least now I know what to do from here on out :)
My reply isn't as in depth as the one above, but I could suggest the SDL library, with which you can use Lazy Foo's Tutorials.
-A1P4A 0M3GA
Lead script writer on Scutum [http://www.gamedev.n...-entertainment/]
Team Member of [size=2]Forcas Entertainment
Amateur programmer with C++ and SDL knowledge
Game Enthusiast

My reply isn't as in depth as the one above, but I could suggest the SDL library, with which you can use Lazy Foo's Tutorials.


Is SDL better than SFML? I'm currently learning to use SFML, but if SDL is better then I'll switch to SDL. Right now, since I'm just starting I'm looking to use an API that is easier to learn as opposed to an API that has more functions but has a higher learning curve.
You should check out roguelikes too for stuff specific to rpg games. There's tons of stuff out there on them.

[quote name='A1P4A_0M3GA' timestamp='1308724902' post='4826287']
My reply isn't as in depth as the one above, but I could suggest the SDL library, with which you can use Lazy Foo's Tutorials.


Is SDL better than SFML? I'm currently learning to use SFML, but if SDL is better then I'll switch to SDL. Right now, since I'm just starting I'm looking to use an API that is easier to learn as opposed to an API that has more functions but has a higher learning curve.
[/quote]

I think you should stick to SFML, Ive messed with both.. SFML is simply more modern. SFML has a good community and uses more modern methods, for example SDL uses older blitting methods while SFML supports useful things such as sprite rotation. From my experience, SFML is just a cleaner, newer, better version of SDL. Im not expert on either of them.. but from what Ive read and experienced, thats what I would say.
Never, ever stop learning.
- Me

[quote name='zenoru24' timestamp='1308743712' post='4826389']
[quote name='A1P4A_0M3GA' timestamp='1308724902' post='4826287']
My reply isn't as in depth as the one above, but I could suggest the SDL library, with which you can use Lazy Foo's Tutorials.


Is SDL better than SFML? I'm currently learning to use SFML, but if SDL is better then I'll switch to SDL. Right now, since I'm just starting I'm looking to use an API that is easier to learn as opposed to an API that has more functions but has a higher learning curve.
[/quote]

I think you should stick to SFML, Ive messed with both.. SFML is simply more modern. SFML has a good community and uses more modern methods, for example SDL uses older blitting methods while SFML supports useful things such as sprite rotation. From my experience, SFML is just a cleaner, newer, better version of SDL. Im not expert on either of them.. but from what Ive read and experienced, thats what I would say.
[/quote]

Alright, so I guess SFML it is then.
I would recommend looking at some complete source code for a 2d RPG engine and understanding each part. If there is some code that you dont understand why or how it works, past a snipit in the forums and people would probably explain it. The fastest way to learn (for me anyways) is to copy, and don't move on until you completely understand what you have copied. Nothing would be worse than having some code running in your engine that you do not know what its doing, that is a danger of using 3rd party game libraries as well.

No. Looking at source code is BAD; almost anyone will tell you that. The fact is, everyone programs differently and it is far better to learn from tutorials/experimentation than to attempt to figure out someone else's code which may not make total sense to you.
-A1P4A 0M3GA
Lead script writer on Scutum [http://www.gamedev.n...-entertainment/]
Team Member of [size=2]Forcas Entertainment
Amateur programmer with C++ and SDL knowledge
Game Enthusiast

This topic is closed to new replies.

Advertisement