PDA

View Full Version : Anyone able to point me to some descent examples of basic game engines?




chrono1081
May 15, 2011, 01:55 AM
Hi guys,

As you may know from other threads I am in a class where we have to write a game engine as an entire class (we are split into teams). This has failure written all over it since only three of us know what we are doing since no one else seems to study outside of class (and the three of us who are familiar with engines are obviously not experts). I have only made a basic one in SDL.

Anyway I am wondering if anyone has any articles or really basic flowcharts of a really basic game engine built on a singleton design pattern that I can pass around my group for them to read while I work on coding. I was looking for some but didn't come up with much.

Right now I am the only coder since the others in the group are completely lost. They are confused by our book (even though the book is great) and its putting quite the strain on me. If anyone had a "game engine for super beginners" type article or even flow chart that would be super great :)



MrFusion
May 15, 2011, 06:46 AM
Hi guys,

As you may know from other threads I am in a class where we have to write a game engine as an entire class (we are split into teams). This has failure written all over it since only three of us know what we are doing since no one else seems to study outside of class (and the three of us who are familiar with engines are obviously not experts). I have only made a basic one in SDL.

Anyway I am wondering if anyone has any articles or really basic flowcharts of a really basic game engine built on a singleton design pattern that I can pass around my group for them to read while I work on coding. I was looking for some but didn't come up with much.

Right now I am the only coder since the others in the group are completely lost. They are confused by our book (even though the book is great) and its putting quite the strain on me. If anyone had a "game engine for super
beginners" type article or even flow chart that would be super great :)

Some links I collected for later projects. Don't know if they will help you.
http://codehowtos.blogspot.com/2011/04/building-maze.html
http://weblog.jamisbuck.org/2011/1/3/maze-generation-kruskal-s-algorithm
http://www.wildbunny.co.uk/blog/2011/04/06/physics-engines-for-dummies/
http://www.helixsoft.nl/articles/circle/sincos.htm
http://www.puremango.co.uk/2010/12/genetic-algorithm-for-hello-world/

If you find the know-all link of game engines, let me know as well. Thanks.

What kind of game engine are you making? Physics, genetics, math, etc.

chrono1081
May 15, 2011, 05:27 PM
Thanks for the links :)

I actually ended up just giving up and writing it all myself. It works high level but I haven't implemented any low level details so I'm sure I will run into something. What sad is our section is only 5 classes and my fellow team mates are confused :(

Oh well more programming practice for me since I graduate in October ;)

The engine is just a basic one for games, nothing fancy. We have a main core (my teams section) a physics core, AI core, scripting core (not a good idea IMO since now we have no sound core), UI core, and graphics core.

I wanted on the graphics team but got stuck on main :( We have 8 weeks to build it.

MrFusion
May 16, 2011, 01:03 PM
Thanks for the links :)

I actually ended up just giving up and writing it all myself. It works high level but I haven't implemented any low level details so I'm sure I will run into something. What sad is our section is only 5 classes and my fellow team mates are confused :(

Oh well more programming practice for me since I graduate in October ;)

The engine is just a basic one for games, nothing fancy. We have a main core (my teams section) a physics core, AI core, scripting core (not a good idea IMO since now we have no sound core), UI core, and graphics core.

I wanted on the graphics team but got stuck on main :( We have 8 weeks to build it.

Can't you talk to a TA? It is supposed to be a team effort. Doing everything yourself might not be feasible and you will end up with a lower great just because you can't finish everything in time.
The others might pass just because you do all the work, while they don't understand jack ****. Their graduation might degrade the value of your degree. Well, maybe not these particular people, but generally speaking.

chrono1081
May 16, 2011, 05:23 PM
Can't you talk to a TA? It is supposed to be a team effort. Doing everything yourself might not be feasible and you will end up with a lower great just because you can't finish everything in time.
The others might pass just because you do all the work, while they don't understand jack ****. Their graduation might degrade the value of your degree. Well, maybe not these particular people, but generally speaking.

I know its bad for me to do the work, its really a catch 22 :/ I'm going to see how it goes after this week and if its still bad I'm going to talk to the professor.

I understand that not everyone would be at my skill level because I do do a lot of studying outside of school and have been a hobby programmer since roughly 1998 and if someone doesn't understand something I have no problem showing them, but being one person (in a very hard degree program) it makes things difficult to be everyones tutor.

Whats worse is the classes always will pair the knowledgable students with the not so knowledgable students. You are asked to rate yourself on a scale of 1 - 10 (1 being someone who knows nothing and shouldn't be in the class and 10 being someone who thinks they are ready for the workforce) and I wrote 3 hoping to get paired with another student who knows what they are doing (in reality I think I'm about a 9 or a 10). Unfortunately in my desperate attempt to sway the class to use OpenGL over DirectX for our graphics API (since I'm on Mac and I also like OGL better) I used my knowledge to back my arguments.

I got a letter from the professor shortly after saying that I greatly underestimated my knowledge and then got stuck on the main core of our engine :( Two students told me up front they were lost. Ok, at least they're honest and willing to learn what I show them. The third student thinks he knows what he's talking about but its obvious he is clueless.

The whole thing is a mess :( What sucks is since I have to do everyone elses work that gives me less time to work on my portfolio and I graduate in October. Oh well I will see how this week pans out. I made them all a UML diagram to follow which looks flawless on paper (don't they always? :P ) so hopefully everyone can follow it and make appropriate classes for our section.

ShortCutMan
May 17, 2011, 05:51 AM
I was in a similar situation during the first computer science course I did at university. We were doing a team project, and I was the only one with prior programming experience. In the end, I did little work but oversaw what everyone was doing, as luckily most of the people in the team were keen enough to get the work done. We did have one person that didn't participate any further than the initial stages and he ended up getting a fail for the project.

Whilst I don't know the specifics of your situation, I would think it would be best to try and involve your other team mates as much as you can. You might end up second best if they tell your professor you did most of the work without consulting them. Take a step back and try to get them to do most of the programming work but watch over it carefully.

There are plenty of useless programmers in the workforce, so don't think this will be an unlikely scenario in the future either! :)

pilotError
May 17, 2011, 06:42 AM
This is a good life lesson for you. Your learning the 80/20 rule the hard way. 80% of the work gets done by 20% of the people. It works that way in the real world a fair amount of the time too...

I wish I could offer you some advice, but gaming was never my thing. Sounds like your on your way though.

Do you guys have a project lead? If not, why not step up and start assigning some of the work. Some people are natural leaders and some are followers. There's a bunch of folks out there that won't try unless you lead them. Not that they are bad coders or workers, just that they are less organized and need guidance.