Jump to content
  • Advertisement
Sign in to follow this  
kiwii_

Resources on Game Engine programming?

This topic is 2751 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi! ^_^

Last days I was diving into Amazon books looking for some solid title about game engines. I know you have to start from the very bottom, making Pong clones and so, but this is a bit different.

I'm looking for a book or web resource, not about graphics, but about game engine. Almost all books focus on graphics engines or game design. I don't want someone to tell me how to develop my games ideas! And there are a lot of books about graphics better than those 'For Beginners'!. All I need is some book explaining best programming practices, data structures, engine design and architecture and that sort of things... Not 'For Beginners' but not extremely advance for someone who has only have two or three years learning c/c++.

I'm currently like this: 'I know some C/C++ and POO, I know basics about libraries like SDL or PyGame, I don't need (By now) how to make an incredible graphics engine, I need help on doing more complex games than Pong and how to implement physics, AI, graphics... in one engine'. I need a book or web resource about programming game engines INDEPENDENTLY FROM THE LANGUAGE OR THE GRAPHICS ENGINE
I found a book called 'Game Engine Architecture' but seems too advanced for a intermediate-newbie like me :P Should I get it or its too advanced really? And 'Game Coding Complete'(This book seems to focus on other topics than game engines)?





Thanks ^_^

Share this post


Link to post
Share on other sites
Advertisement

I found a book called 'Game Engine Architecture' but seems too advanced for a intermediate-newbie like me :P Should I get it or its too advanced really?


"Game Engine Architecture" by Jason Gregory is a good book. If you feel the topics are too advanced, you are probably not ready to program your own game engine. Game engines are one of the most complex pieces of code in game programming, and are never easy to write. Completing Pong is not enough experience yet. I would recommend you try some more games. A platform game like Mario would probably be a good start. It will teach you the basics of collision detection, physics, and resource loading while still not being to complicated.

Share this post


Link to post
Share on other sites
Hi guys,

as this is my first post I didn't want to start a new topic. I have a similar question - I'm looking for a book or tutorial which would provide some well defined standard on game architecture. I mean something like definition of interfaces to implement, some core elements like rendering, game logic, resource management, entities, user input etc.. An UML diagram would be perfect - I just need an overall structure of basic classes and their interactions, and I need to know that this is the way to go. I've dug through "Game programming gems" by Mike Dickheiser, "Fundamentals of game design" by Ernest Adams and tons of online tutorials, but I didn't find what I was looking for.

Mentioned "Game Engine Architecture" by Jason Gregory was the closest match, but not quite there. I have some experience in game development and I've got to a point when figuring stuff by yourself is not enough and you need some standards to follow. Can someone help me out?

Share this post


Link to post
Share on other sites
There aren't really standards, and the little that does exist tend to vary depending on the game, what sort of environment you're working in, the scope of the project, etc.etc.

Figuring stuff out yourself (based off of experience and creativity) is pretty much the core of program design. If you have a specific thing you're working on, I'm sure others here could offer suggestions. Even then I'm not sure the community would come to a consensus about how to approach the problem.

Share this post


Link to post
Share on other sites
Well, maybe there isn't any strict, well defined standard that everyone follows but surely there are some widely accepted "best practices". I'm looking for a program structure that will assure me that certain core mechanisms like physics simulation, rendering, game events, GUI etc. could be developed more or less separately/independently and would be easy to add new functionality in the future. Also, I'm quite a newbie when it comes to multiplayer games - I need an idea on how to write game mechanics that will work in singleplayer and multiplayer - so that when I decide to add multiplayer servers I don't have to write a complete new code.

Share this post


Link to post
Share on other sites

Hi! ^_^

Last days I was diving into Amazon books looking for some solid title about game engines. I know you have to start from the very bottom, making Pong clones and so, but this is a bit different.

I'm looking for a book or web resource, not about graphics, but about game engine. Almost all books focus on graphics engines or game design. I don't want someone to tell me how to develop my games ideas! And there are a lot of books about graphics better than those 'For Beginners'!. All I need is some book explaining best programming practices, data structures, engine design and architecture and that sort of things... Not 'For Beginners' but not extremely advance for someone who has only have two or three years learning c/c++.

I'm currently like this: 'I know some C/C++ and POO, I know basics about libraries like SDL or PyGame, I don't need (By now) how to make an incredible graphics engine, I need help on doing more complex games than Pong and how to implement physics, AI, graphics... in one engine'. I need a book or web resource about programming game engines INDEPENDENTLY FROM THE LANGUAGE OR THE GRAPHICS ENGINE
I found a book called 'Game Engine Architecture' but seems too advanced for a intermediate-newbie like me :P Should I get it or its too advanced really? And 'Game Coding Complete'(This book seems to focus on other topics than game engines)?
Thanks ^_^



Well you have to make a choice. Do you want to be the guy that makes the ENGINE or do you want to make a game? From your post, it seems like you're a bit confused by the two...which is normal for someone new to this stuff. smile.gif

If you just want to make a game, you should use something like UDK, Unity, etc. Why reinvent the wheel? wink.gif

If you are into rendering/low level graphics pipeline stuff, then those books will be of use to you.

Share this post


Link to post
Share on other sites
A good place to start is component based entities. This design pattern is massively useful in making game objects that are easy to modify and add additional functionality. You should start searching around for information on that. As a note, there are a lot of different ways people make component based entities. Don't worry about which one is best, because they all have trade-offs. Just pick one, implement it and don't worry about whether its the best or not.

Share this post


Link to post
Share on other sites

Well, maybe there isn't any strict, well defined standard that everyone follows but surely there are some widely accepted "best practices". I'm looking for a program structure that will assure me that certain core mechanisms like physics simulation, rendering, game events, GUI etc. could be developed more or less separately/independently and would be easy to add new functionality in the future


Those things aren't specific to games (or engines). And while there's a number of best practices there, I don't know of a good resource that explains them well. Code Complete and the various Design Patterns books help a bit as far as program design goes, but a lot of that skill comes with experience/practice.

Share this post


Link to post
Share on other sites
The reason I posted this is because some weeks ago I was coding some very basic Diablo-like game with shoots and aliens. Every time I wanted to add new features to the game logic core, I was forced to rewrite almost all code, and I was wondering how could I adapt it to my future needs like bullet drawing, enemy generation and handling, events, sounds, AI... so many rewrites of the code! I thought there must be some book or resource that could prevent me from coding a buggy engine of thousands lines of unreadable code. Maybe something like 'Software Engineering for the Game Programmer/Developer'. I don't need a step-by-step tutorial on 'How to do THAT with THIS'. Most tutorials from the net doesn't go further than the Update() and Draw() methods. I'm tired of reading about the game loop. What I still don't know is how to design interaction between modules, how to design that modules, how a game engine should like, what should I do to improve engine escalation, stability and performance...?

Oh! Thanks for the fast answers ^_^

Share this post


Link to post
Share on other sites

The reason I posted this is because some weeks ago I was coding some very basic Diablo-like game with shoots and aliens. Every time I wanted to add new features to the game logic core, I was forced to rewrite almost all code, and I was wondering how could I adapt it to my future needs like bullet drawing, enemy generation and handling, events, sounds, AI... so many rewrites of the code! I thought there must be some book or resource that could prevent me from coding a buggy engine of thousands lines of unreadable code. Maybe something like 'Software Engineering for the Game Programmer/Developer'. I don't need a step-by-step tutorial on 'How to do THAT with THIS'. Most tutorials from the net doesn't go further than the Update() and Draw() methods. I'm tired of reading about the game loop. What I still don't know is how to design interaction between modules, how to design that modules, how a game engine should like, what should I do to improve engine escalation, stability and performance...?

Oh! Thanks for the fast answers ^_^






Uhhh...that's more of a planning issue. You can't find tuts on the net for everything.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!