Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was thinking about a game engine development, I understand as engine the main program that can develope next duties:

  1. Receives parameters.
  2. calculates what is needed.
  3. Delivers results.

As an example lets say I'm writing an sports game, so I was thinking that instead of starting with something big I could start with a very small objectives and always (now not even thinking in graphics management so maybe I could be speaking about a simulation and not yet even about a game) just getting data result through the shell.

What about next steps?

  1. Develop an script which gets all the data stored in a database and after calculating everything based on that data it releases the result of the match or race.
  2. Get more in detail and a part of calculating the result it delivers too details through the match or race (not jet in real time).
  3. In that third stage what it happens is that the program will temporize the details and final result progress in real time through the shell delivering messages before the final result.
  4. Though the real time data delivering the user will be available to interact introducing parameters when is asked.

Many thanks I hope it gets your interest, I'm just trying to clarify the process and catch advice and suggestions from experienced people.

share|improve this question

closed as too broad by Byte56 Feb 21 '15 at 15:52

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

I feel like this question is an overly broad, discussion-oriented "question," which is a sort of question that is discouraged here as it's not a great fit for the site's Q&A format. – Josh Petrie Aug 5 '11 at 4:50
"1. Receives parameters. 2. calculates what is needed. 3. Delivers results." Isn't that every program? – Tetrad Aug 5 '11 at 6:50
up vote -1 down vote accepted

As far as I understand - and I'm not sure to have understood right - you are describing something like a test-driven developing system.

If it is your case you should focus on: adding a functionality, test for (some sort of) correctness, test it does not break existing functionalities, profile it, tune performace.

Your engine should be a kind of library that has the responsibility to abstract a complexity. What are the complexities on your game? How can those breaked down into decoupled ones? How each complexity can be abstracted throught functionalities?

What you described should be seen into a process of testing the incremental adding of functionalities. In this scenario you can use mock data so you can foresee the results and mantain the functionalities decoupling.

share|improve this answer
I take into great consideration the downvotes because it means that there is a valuable positive differential between my knowledge and the downvoter's one. This is the reason why I deeply appreciate commented downvote. – FxIII Aug 5 '11 at 9:06

In the title you are talking about engine development but, there in only 1-2 lines of actual engine development talk. Most of the thing that you've talked about is the logic part of the game, which in not related to engine development.They are related to game logic, which varies from game to game.

Nonetheless, just for the title's sake I am going to put my cent here, cause I am also working on my own game engine right now.

Game engine is an library which you develop to handle the game logic and assets. As anything else out there, there is not ideal process of developing a game engine. Whenever you want to develop a game engine, I can safely assume that you have worked(or have some idea) with several game engines before and now you want to make one of your own. In my case I am a big fan of jMonkey Game Engine and I am trying to mimic that engine in C++(jMonkey is Java based). Why copy instead of new architecture, for 2 reasons. I can use their architecture, cause they are developing it for years so, there should be a reason why they choose it.Rather then creating something new on my own from the scratch, and later finding it's not good for implementing certain feature. Another reason is the documentation will be same ;)

So, first what I did is gathered enough knowledge about Opengl and java to read through the jMonkey source code. They I am trying to abstract out the important parts which can work independently. Say, you are going to drop the Game State & Render Manager part. Just the object loading & setting up material should be enough for prototype 0.1.

Then add other features. You will find problem while adding new features to the existing code. You may end up with re-writing the major part of your code but you will learn a lot about what-shouldn't-be-done along the way. From here, its a iterative process. After a certain point, you'll find yourself in a position when you can think about your own engine without looking into other engines. That's when things get a lot of fun.

Hope it helps someway.

share|improve this answer
Thank you, then i'll do so following your advice, I'll look for an engines already done for an specific sports games, but not looking for an specific graphics, just wanna build up the logic engine which calculates everything. Thank you. – arrrrgv Aug 8 '11 at 1:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.