Not logged in, Join Here! or Log In Below:  
News Articles Search    

Submitted by Luis Sempé, posted on April 09, 2002

Image Description, by Luis Sempé

This is the first demo of the game engine I've been working on for the past four months, part time, mostly. At the moment, I am the only person working on it, doing both the artwork and the coding. The engine is intended to be used to develop an action/adventure game that I'm currently designing.This demo can be thought of as an early prototype of the game, based on the current design treatment.

The engine was programmed in C++ using MSVC 6. It uses Direct3D 8 at the moment, although, Im working as API-independent as possible so that in the near future I can throw in OpenGL support easily. Visibility culling is done using octrees, as well as some line of sight tests and collision detection. Scenes are exported from 3D Studio Max to the ZCB file format, which is then imported by the engine. The engine also supports lightmapping, but a bug somewhere in the code is making the lightmap calculation time quite large, so I decided not to use it in the demo until all bugs in it are worked out, even if it did improve the visual quality by a lot :(

Some of the features included in the demo are:
  • Sky Dome
  • MD3 character support
  • 3D Positional Sound (using DirectSound)
  • First / Third person camera
  • Animated Textures (caustics, as seen on the fountain's water)
  • Data driven particle system
  • I'm currently in the process of designing a better architecture for the engine that makes use of a scene hierarchy, most likely, a scene graph, but Im experimenting with different options to find the one that suits the game's needs best. The complete engine will feature lightmaps (without the time consuming bugs!), animated characters that use bones and skin, dynamic lighting effects, dynamic shadows, and I'm sure more features will find their way into the engine along the way.

    Although, I am enjoying coding the graphics engine, I am looking forward to working on the game specific areas, but I am aiming to have a basic feature set before I work on the actual game. That is why the game is being designed concurrently with the engine's development, by the time the engine is ready I should also have a solid design to work with.

    There are some known bugs, but I won't spoil it for you, if you want to find them, you'll have to download the demo at:

    I must apologize for the rather large download size (20megs), It is mostly due to the use of a rather large sound file. I am working on resolving this issue soon.

    Finally, I just wanted to gratefully acknowledge the help of the folks at GameInstitute who have been an invaluable source of knowledge, help, ideas and at times even motivation. Thanks guys!

    Image of the Day Gallery


    Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
    Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
    Paul Hope

    April 10, 2002, 05:01 AM

    I have a:

    Radeon 8500
    P4 1.5
    DX 8.1

    Your demo crashes in XP pro but runs perfectly in Win 98se. I hope that helps a bit. Try debugging in XP to find out why it crashes, could be a great number of things.

    Nice work.

    Luis Sempe

    April 10, 2002, 05:12 AM

    Thanks for trying it, Im running XP Pro, and Ive found that I have problems when I use the D3D 8.1 Debug version, but works fine when I run it with the Retail version, I will try to identify what is causing this problem.

    Thanks again :)



    April 10, 2002, 06:48 AM

    Again. I did not criticise you or your engine but the screenshots only. Also I did not say it was a tech demo but that nowhere in those screenshots any special D3D8 feature was visible. In most (all I know) of those fancy D3D8 tech demos there are special effects which underline the usage of D3D8. These two screenshots are possibly the worst you could have chosen and that is all I tried to say.



    April 10, 2002, 06:58 AM

    I disagree and I really hate those "looks nice", "keep up the good work" posts especially in cases where obviously much more work is needed to get a project to a state where people would only consider playing it or even buying it.
    I agree though that I could have phrased my comment the other way round. Next time I'll try.



    April 10, 2002, 07:09 AM

    Next time I'll try to be more polite. However, I am not going to search for positive things if there are none in my opinion. I am stating my opinion and everybody is free to disagree.
    Many statements here are really redundant ("nice pic") and others are stupid remarks on my postings. You may believe I deserve this for being impolite but I believe criticism is not wanted here in any form.



    April 10, 2002, 07:10 AM

    ninjas are cooler


    April 10, 2002, 07:12 AM

    Do you mind explaining this? I guess you want to express a form of disagreement but maybe you could be more clear?



    April 10, 2002, 07:48 AM

    I don' think that criticisim isn't wanted at all. It's just that you don't know the poster and you can't say exactly what was his intention in posting it here.
    I will surely stating out what I am willing to hear about a post of mine and what not, so nobody get's confused about the purpose of his answer.

    Steve Streeting

    April 10, 2002, 08:54 AM

    I agree with your assessment here. Skyboxes are good if you want far details which are always at the same spot though, and if you need a complete wrap-around sky (we all know skydomes get funky below the horizon).

    Many engines use a combination of the two which looks nice: a skybox for the far-distance landscape, a planet in the background etc, overlayed with a skydome or skyplane for the moving cloud layer(s). In my experience this looks very nice, although it's easiest when your field of view is mostly upward - when you start looking at the horizon you have to resolve what happens to the cloud layer at that angle since you probably don't want it to be in front if you have mountains or something. Lower curvature levels and maybe vertex alpha increasing at the edges of the dome might look ok though.


    April 10, 2002, 09:04 AM

    It's a work of one person in few months, part time, zero budget. Don't compare it with commercial products like Q3/U2 or even DX8 demos! This forum is not for jeer. We must encourage the peaople in their work!
    Good work, Luis.

    Hugo Wetterberg

    April 10, 2002, 09:18 AM

    The engine is made to be API independent. That might be the reason for not using any DX8 specific effects.


    April 10, 2002, 09:48 AM

    Wow, very nice work!
    I had a problem running the game in windowed mode, I have a GeForce 2 MX 400. Just a little bug report for ya ;)

    The engine is looking good, keep it up! Good luck with your game!


    April 10, 2002, 10:27 AM

    Ninjas would flip out at this and chop off the samurai's head without even thinking twice about it!


    April 10, 2002, 10:31 AM

    Is it worth requiring DX8 without using the new effects? Maybe it's that much more easy to use than e.g. DX6. I don't know since I haven't looked into DX8 yet but in this case I would prefer OpenGL.


    Warren Marshall

    April 10, 2002, 10:35 AM

    But understand that they aren't posting it here for the expressed purpose of getting your approval. It's to show what they're working on ... they're obviously proud of it and they don't need people shitting all over their work.

    How about instead of negative comments we ask questions about how things were done? If you think the textures suck or something, maybe you'll find out that everything is placeholder which is -VERY- likely if it's a guy working on his own to make an engine.

    Remember, the majority of IOTDs are not trying to present complete games. Most are "I was working on this thing and thought I'd show what I have so far".

    Ron Frazier

    April 10, 2002, 11:04 AM

    Enough already. Just so you arent confused, webster defines an engine as "something used to effect a purpose". An engine can be anything that does something.

    You can have a graphics engine which does the rendering and controls render states.

    You can have a sound/audio/midi enging which controls audio playback or provides an interface for doing so.

    You can have a collision detection engine which takes input data and determines which data elements have collided in space.

    You can have a physics engine which is a more advanced collision detection engine and handles things like movement, accelleration, gravity, action and reaction, etc.

    You have have an animation engine which handles animating models, frame interpolation, inverse kinematics, etc.

    You can have a sprite engine which deals with drawing 2D sprites on the screen.

    You can have an input engine, which provides an interface to input hardware such as a mouse, keyboard or joystick.

    You can have a UI engine, which handles things like menus, buttons, windowing, etc. This might also include an input engine or interface with an external input engine.

    You can have a resource enigne, which handles access to resources like memory, files, etc.

    You can have a game engine which handles one or more of the above tasks, either be interfacing with several external engines or by integrating them into big engine, for the purpose of implementing a game.

    You can have about a million other type of engines which handle other types of tasks or integrate 2 or more other types of engines together.

    In summary, an engine is just about anything that does something. This explanation should clarify for you what the word engine means. I WANT TO SEE NO MORE POSTS FROM YOU TELLING US THAT YOU ARE CONFUSED BY THE USE OF THE WORD ENGINE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    Have a nice day :)


    April 10, 2002, 11:04 AM

    Ok, this post has nothing to do with the great image of the day posted here. However, I wasn't sure where else to post this and get an answer.

    It seems like everyone is supporting MD2/MD3 models in their engines. And with all of the models and such on the web for this I can see why. So now that I'm writing an engine myself I also want to support MD2/MD3 models. Where do I find the format definition for these?


    April 10, 2002, 11:05 AM



    April 10, 2002, 12:09 PM

    I guess you do not want to understand my point of view. As often as I restate my opinion I am always misinterpreted ;). All I was trying to say is that those two screenshots suck. Not his work, not the textures, not his engine or how far he has come. Those two pictures surely put his work into a much darker light than they should. Everything he mentions in the features list is hardly or not at all visible in the screenshots.



    April 10, 2002, 12:41 PM

    Looks pretty cool!


    April 10, 2002, 12:55 PM is your friend.


    April 10, 2002, 01:25 PM is also your frien



    April 10, 2002, 01:35 PM

    your trees draw in the wrong order on this computer. It's got a GeForce2, if that matters.

    Hiro Protagonist

    April 10, 2002, 01:38 PM

    If you were looking for the home decor forum, you can find it here:

    Because if you think he had legitimate points you probably don't belong in this forum. Try this, read the IOTD text. Yes there is text under that pretty picture. Now, when you're done with that, read stefan's post. Now, are his points legitimate? No. The author is working on the post by himself. Therefore, should it look like Quake 9 ? I wouldn't think so. Does he have support for lights? Yes he already does. Did he ask for criticism on features that he has not yet implemented? Nope, he didn't. If you write a game engine should it support every goddamn graphics feature ever conceived? Nope, if they did we would need only one, and nobody could run it. Does the image look bad? Not at all. Has Stefan submitted an image that looks better? Nope. Was that kept simple enough for you Ollie?


    April 10, 2002, 01:42 PM

    So what's the deal with something you can't see in those pictures?
    If somebody has some awsome lod based upon some good BSP tree code and a completely OO class design with template interfaces for pretty much everything, and has written some template optimized 3d math routines, all completely flexible, you wont see anything of this either. But non the less it's worth to mention and the picture is here anyway wheater it's showing those features ( wich are hardly to be shown at all ) or not.


    April 10, 2002, 02:11 PM

    Obviously you are not the only one who doesn't get it so I am very likely the one who is wrong :). Nevertheless I won't change my opinion. I thought that it would not represent a problem showing screenshots which do display the particle system in more detail, maybe two different pictures of the animated textures or a picture where you could actually see why he prefered skydome over skybox. Please visit EVERY SINGLE PICTURE there is much better than those two displayed here.



    April 10, 2002, 03:40 PM

    Wow, lot of help you were. I didn't think to try a search engine. That would be the last place on earth I would look for info on the web .

    Duncan Aitken

    April 10, 2002, 04:39 PM

    Hey sketcher,

    I'm not sure about the format definition, but there are pretty good tutorials on loading MD2/MD3 files here

    Hope this helps,


    April 11, 2002, 02:07 AM


    Sketcher:luther2k didnt mean (a search engine) but
    he meant which is a great site with desc on many file formats =)

    thx luther2k for that. I had that URL but lost it months ago. Now
    i got it back again.


    April 11, 2002, 04:44 AM

    i tried changing directX to retail - it still didn't work. if i get time, i'll try it in win98se

    This thread contains 124 messages.
    First Previous ( To view more messages, select a page: 0 1 2 3 4 ... out of 4) Next Last
    Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.