Advertisement

Game Architechure (long)

Started by June 10, 2000 01:28 AM
4 comments, last by xeos 24 years, 7 months ago
I have spent well over 6 months exploring game architecture design and rendering processes, and generally making a mess of things. I am attempting to create a basic height-map engine (similar to Roller Coaster Tycoon) in OpenGL under the Win32 environment. My first attempts were based upon NeHe''s OpenGL tutorials, which while they provided a testbed for little experiments, lacked any real functionality, such as an effectuve error handler. I did like (in the later versions) the ability to change from fullscreen and windowed mode. But I had a lot of trouble implementing loops to draw points. I have also experimented with the Code off the Cob framework, which was far too complicated. I was unable to get OpenGL working with it, and I added it to the pile in my recycle bin. I have decided to start from scratch. I''m going to make a clean engine, with a simple interface, but still retaining full functionality and power of the underlying APIs. What I need is a basic system approach to a game engine. Something like: WinMain: Initialize System Game Loop Main Game Loop: Draw World Do other stuff .... .... Loop What my engine requires: * GOOD error handling and debugging system * Heirachial system for drawing height-map grid squares (World, Grid, Triangle, Point) * Dynamic LOD, or some other technique to reduce the number of polygons in squares (each square is made from 8 triangles) * Variable zoom and rotational levels, which allow the user to move arround the world with more freedom * DirectSound support for in-game sounds and music * Support for a 3D model format (undecided, but most likely something from MAX) * I DON''T require suggestions on the afore-mentioned features I plan to implement. I have included these as a guide to the sort of functions I want to implement, so that someone who helps out is more informed. In summary, I require a pseudo-code implementation of a game architecture, and a rendering loop, as well as any other sections which may not be intuitave, such as input and sound. Please DON''T give me code - I need some challenge! However, if anyone has documentation or a tutoral on this or a related topic, I would gladly accept. Thanks in advance to anyone who helps! Richard (Not affiliated with XEOS Digial Development - just using their internet connection :-)) I may not be the smartest man alive, but I have a lot more hair than you! Bill Stephenson
XEOS Digital Development - Supporting the independant and OpenSource game developers!
quote: In summary, I require a pseudo-code implementation of a game architecture, and a rendering loop, as well as any other sections which may not be intuitave, such as input and sound. Please DON''T give me code - I need some challenge!


50% of programming is the actually psuedo-code itself. Implementation is the other 50%. you''re asking US to do 50% of the work for you?

=======================================
A man with no head is still a man.
A head with no man is plain freaky.
Advertisement
>> 50% of programming is the actually psuedo-code itself. Implementation is the other 50%. you're asking US to do 50% of the work for you? <<

Zipster, he asked for tutorials and/or documentation. He also specifically stated that we shouldn't give him any code

/. Muzzafarath
Mad House Software

Edited by - Muzzafarath on June 10, 2000 4:29:19 AM
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?" - Larry Wall
Richard seems to have caused quite a stir!

I had a talk to him, and all he wanted was a general description of how a game loop and rendering function should work. I would help him, but he has to learn something for himself too :-P! If anybody can give him a hand, he''d appreciate it!

Simon Wilson,
Lead Programmer,
XEOS Digital Development.
Website comming soon!
XEOS Digital Development - Supporting the independant and OpenSource game developers!
quote: Original post by xeos

Richard seems to have caused quite a stir!

I had a talk to him, and all he wanted was a general description of how a game loop and rendering function should work. I would help him, but he has to learn something for himself too :-P! If anybody can give him a hand, he''d appreciate it!

Simon Wilson,
Lead Programmer,
XEOS Digital Development.
Website comming soon!


Quite a stir? There has been three replies (four including this one) when I wrote this. That''s not a stir And why are you also using xeos as your nickname...?

/. Muzzafarath
Mad House Software
I'm reminded of the day my daughter came in, looked over my shoulder at some Perl 4 code, and said, "What is that, swearing?" - Larry Wall
Simon''s just kidding - it seems you got a little bit upset when I asked above.

The reason we all use the same nickname is that very early on, we developed a custom front-end for these boards. It automatically puts our nickname and password, and all we need to do is select our name from a drop-down box, and it sends it off. Simple! :-)

*********************************************

I have been based upon the work I have been doing some work on my architecture. I''d appreciate if someone could peruse it for me, and give me some feedback!

ENGINE DESIGN:

MAIN LOOP:
* Read input and modify required flags / variables
* Calculate AI functions and modify appropriate game data
* Render scene
* Check sound que and update sound thread if necessary

RENDERING LOOP:
* Which Quadtree sector is the camera above?
* Can we see other sectors?
* Calculate LOD for grid squares
* Draw visible grid squares
* Draw objects (people, buildings, vehicles etc.)

I have NO idea how to detect which sectors in a quadtree are visible, but I''m sure I''ll find it somewhere.

Thanks for your help, and I''m sorry if it offends you to ask for help!

Richard
Artist / 3D Modeler

XEOS Digital Development - Supporting the independant and OpenSource game developers!

This topic is closed to new replies.

Advertisement