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

Submitted by Jeff Kiah, posted on March 07, 2002

Image Description, by Jeff Kiah

This is my first time posting on Flipcode but I wanted to get some feedback on my current project. It's a pure portal engine written in VC++, uses OpenGL for rendering and FMOD for sound support. My ultimate vision is for this to be a GAME engine and not just a PORTAL ENGINE, meaning it will be a simple yet effective way to build a complete and customized game. Since I'm just one man and I'm doing this in my spare time away from my college studies, I plan on keeping things as simple as possible without sacrificing quality. Here is a current features list.

I call it the QuickPort engine
  • Portal rendering with an OOP algorithm
  • 3d collision detection
  • Fully Dynamic Lightmapping (no static lighting)
  • Movable Sectors (elevators and such)
  • Particle system
  • 3d object support (loading of my own ".3d" format)
  • Texture blending over portals to simulate glass
  • "Sound event handler" - what I call my system of deciding which sound to play and when
  • FMOD sound support
  • Skybox
  • NO DIRECTX USED!! woohoo.
  • Here are some things that are in progress or will be in the future...
  • Sloped walls / floors / ceilings (right now the engine assumes walls perpendicular to the floor and ceiling for simplicity of level design)
  • md2 file loading & animation (there are so many great md2 models out there, and I'm not an artist, how could I NOT use this resource?)
  • Dynamic shadows WITHOUT using stencil buffer (this is very close to being done)
  • Link to a quadtree terrain engine I developed for indoor / outdoor scenes
  • Weapons / Items and other gameplay related features
  • Network support - This I will need help with, but what good is a game if you can't play with yer friends?
  • Optimization (change drawing algorithms to use triangle strips instead of single polygons, among other things)
  • Level Editor (I started this today, shouldn't take too long to get something rough but useful ready to use)
  • Well I have more visions for this thing but I don't want to bore you. My plans for the engine other than providing it to others for game building, is to build a game myself. A 3d rpg type game similar to Ultima Underworld (probably the best game I've ever played) or something along those lines. I'm not looking for another Quake / Unreal / Half Life clone, that's been done and this engine is FAR from a Quake engine, so I have to use what I think fits, but it's still capable of a shoot'm up game I suppose.

    Alright well, let me know your thoughts (I know these screens aren't much to go by). If I get enough feedback I'll definitely be posting a demo in the future when it's ready. Hey, if you're interested in getting in on this project I'm looking for 1 or 2 people, especially good artists and network programmers. Email me at cause I'm very interested in getting this project going with a small team. Probably just for fun but maybe we can put something out worthy of selling?! Long shot I know but given the right circumstances, who knows. Take care everyone.

    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.

    March 07, 2002, 03:38 PM

    Nice work.


    March 07, 2002, 03:40 PM

    Looks very nice. It is nice to see a game engine, and not just a 3d engine. I don't see what's woot about not using dx, but each to his own.

    Also, I wish someone would try a different approach to creating fountains (assuming the particle system in the upper screenshot is a fountain). The 'blue particle spray' kind doesn't look very much like a fountain at all.

    P.S. Ultima Underworld roxxors :)


    March 07, 2002, 04:08 PM

    nice textures.

    Chris McArthur

    March 07, 2002, 04:23 PM

    Looks great. I would really like to see a demo of it in action (mostly the particle engine)


    March 07, 2002, 04:47 PM

    It looks really great.. How long have you worked on it?

    And yes.. the Ultima Underworlds are still the best rpg's ever on PC. Never has a game come close to it's fighting interface. I would love to bring these glory days back to PC!

    Johan Öfverstedt

    March 07, 2002, 05:30 PM

    Which win-handler do you use? SDL? Win32?


    March 07, 2002, 05:46 PM

    NO DIRECTX USED!! woohoo

    Actually, you are using DirectX.. altough implicit ;)


    March 07, 2002, 07:49 PM

    Where are the binaries? ;-)

    Timothy Barnes

    March 07, 2002, 08:57 PM

    Now it's nice to see lighting in games. Good work! It really adds to the mood.

    Jeff Kiah

    March 07, 2002, 09:55 PM

    Thanks for the comments everyone. I use Win32 API Johan. I've been working on it since Feb. 13th (I made sure to keep track of the date). The screenshot really doesn't do the fountain any justice, but what would you suggest as an alternative to rendering the fountain Golroc? Maybe an animated model with blended textures would look cool? And yes, I am using DirectX implicitly through FMOD...but how did you know I wasn't using FSOUND_OUTPUT_WINMM as my driver? ;)
    Okay a demo of this will be ready in a few days, I'll try to get it posted back up on here.


    March 07, 2002, 10:02 PM

    Wow. Grat thing!
    I've been doing thing JUST like this for last 2 years (!!!!!)
    but i was SO focused on that portability/reusability/maintainability/
    gotta-be-best stuff that i rewrote the thing four times and not goin'
    further than few-boxed maps with 3 textures and 1.5 portal :)
    How did you force yourself to use doom-ish maps, knowing that it's
    not the way it is gonna be in the final version? I mean i could never
    force myself to use shitty maps instead of 2-box maps :)
    Ah, nevermind, i haven't had any sleep for 19 hours, so i suck.


    erik robson

    March 07, 2002, 10:35 PM

    So... is that just simple lightmaps, or are you recalculating cast shadows every frame?

    (Oh, and BTW: "Level Editor (I started this today, shouldn't take too long to get something rough but useful ready to use)"... I've heard this before, and it never turned out well ;)


    March 07, 2002, 11:47 PM

    Feb 13 !?!
    No waay thats 2002 man...
    its been like 4 weeks.
    That looks like a years work.

    But everythig looks good cept for the fountain. :)


    March 07, 2002, 11:49 PM

    About your use of crappy maps, I am just fine with that. I find that in games, 3d adds an extreme amount of immersion, but better 3d doesn't neccessarily add much more. If you are truly creating this for game creation, make sure there is a game to be made. The content, story and other elements contribute more to the game than most of us coders are willing to admit many times.

    I am also working on a 3d engine, but I am writing it around a game concept I have, and I am only implementing things that will significantly help the game. I am also very much opposed to dx. Now that I know this little tidbit about FMOD, I will probably not use it for any of my sound. Sorry guys, but even though dx is an excellent tool, I am so opposed to Micr*S*ft's way of doing business, that I will use almost anyting else whenever possible.


    March 07, 2002, 11:59 PM

    and i bet you devel with Visual Studio...

    All this DX flames because its Microsoft is so fucking stupid i wish you all would be banned from the site, really youre just stupid :)

    Not using the best API's there is because its Microsoft.. Is it so wierd Microsoft developed the BEST HW API's for its own operating system?

    Microsoft DID make Windows Multimedia Sound crap to in case you didnt know that lamers AND it has *BUGS* and *HIGH* latency .. morons :)

    And not using Direct Input is the best sollution to get a really non-control over the keyboard or mouse.. good thinking :)

    Also ehm.. Microsoft is in charge for implementing opengl32.dll in Windows and they are not doing a good job on that point so either change to unix where OpenGL still is updated or live with that MS rules the API's for game creations under Windows :-)


    Jeff Kiah

    March 08, 2002, 12:02 AM

    Haha, I appreciate the replies guys. Yeah let me put it this way...I've been researching portals and 3d engines for a long time now, so I've written mini engines before and I have a lot of code to pull from. I started this engine on Feb 13 2002, wrote everything from scratch, but I already had a lot of the ideas in my head so it went relatively fast. You're right to say that there's no way I could have just come up with that in 4 weeks with no prior experience...but yeah, that's when I started writing this project.
    And about the fountain, it looks like crap in the picture, but you'll have to take my word for it until you see the demo, it's a pretty nice effect in my opinion, you of course can have your own opinion about it.
    As for the lightmapping, I only use one 32x32 lightmap for all of the lighting in the world, and it's only recalculated when a light moves, so it's dynamic lighting but acts as static lighting when lights are stationary. Right now shadows are being added but aren't currently implemented. My lightmapping technique is certainly different, I came up with it sitting in Econ class bored out of my mind, but hey it works and it looks good. Check ftp://Guest:mmhmm@ to download and old binary, it'll show you my little world and the particle effects.

    Jeff Kiah

    March 08, 2002, 12:32 AM

    Hey Stefen, there's no place for that here, no one wants to hear it okay? Let's grow up a little. Thanks.


    March 08, 2002, 12:54 AM

    ehm... well this is just atlittle hostile, but I tend to agree. If you are so opposed to Microsoft's way of doing business that you'll do anything to avoid using a Microsoft product, why are you using Windows?

    Linux is an excellent platform for developing games on... the only reason you would avoid it IMO is because you'd have a much smaller audience, but for a non-commercial product why is this a problem?

    Personally I tend to use SDL and OpenGL for simple things as it allows for cross-platform compilation and it's easy to get up and running. But I've been known to code under DirectX aswell.

    As far as Microsoft's way of doing business is concerned, the DX runtimes are free and so is the SDK. Point me to another free SDK of any type with the power and level of documentation that you find with DX.

    Luke Philpot

    March 08, 2002, 01:11 AM

    Sweet pix!

    But the link doesn't work :(

    Rasmus Christian Kaae

    March 08, 2002, 01:57 AM

    What the fuck, I have the agree with Stefan.

    Even though FMOD/SDL/WHATEVER might easen the initial phase of programming, it will sure as hell add an overhead to the execution time (+ it's a damn mess figuring out all those licenes).


    March 08, 2002, 02:13 AM


    nice one, hmm do u share the sources with us who havent so much experience :)

    Also very professional reply to stefens post.



    March 08, 2002, 03:08 AM

    Excuse me, but - while being quite hostile - I was happy to read Stefan's reply. His choice of language might be objectionable. However, the points he states carry a lot of truth in them. What makes you so sure you're not using DirectX? If I got you right, you're using MS Visual Studio. (One of the few good choices you made, IMHO). Thus I assume you're developing on a windows system. Let me assign you some homework: Open 'opengl32.dll' in 'DependencyViewer' and you might be surprised to find out, that it sure as hell uses DirectX. So why use the extra level of indirection instead of going the DirectX-way from the beginning. OpenGL started to suck, when hardware T&L came around. If you're happy to step back to the old DOS-days when you had to write extra code for any Graphics-card you planned to support (OpenGL-Extensions...) then that's entirely your choice. However, don't call this approach superior.
    Bottom line: You may agree or disagree with Microsoft's policies. But if you're arguing that M$'s policies stink and thus you're not using their products, you do sound like a moron.
    Conclusion: Let's grow up a little.


    March 08, 2002, 03:42 AM

    How much execution time though? If you'd like to post some informed benchmarks showing the cost of using SDL/OpenGL vs DirectX, I'd be very interested in reading them. I doubt, however, that it is a signficant overhead.


    March 08, 2002, 04:05 AM

    I totally agree with you, some people are tended to flame microsoft just because others do, though microsoft has somewhat an agressive and sometimes brutal way of doing business: it seems to work that way, cause they make great stuff and they make lots-a-money :)

    As a commercial game programmer you must be stupid not to include microsoft products in the project, cause almost everyone who has a x86 based computer has windows and is therefore your target market.
    As a commercial game programmer you have to fullfill the demand people create and not trying to create a demand for those people, cause that would never ever work offcourse :)


    March 08, 2002, 04:26 AM

    Without DIRECTX very cool very very very good work !!!!


    March 08, 2002, 04:29 AM

    fmod costs alot.. alot of "new" companys skip it.. the ones who have the money can spend it on it since it has alot of advantages.. but if you only target on win32 there really no need to spend those money on it. tho fmod is good


    March 08, 2002, 04:59 AM

    DirectX rules

    Jason Colman

    March 08, 2002, 05:07 AM

    4 weeks! Just 4 weeks!! *looks at 2-years-and-counting project and weeps*


    March 08, 2002, 05:10 AM

    "Portal rendering with an OOP algorithm"...?

    OOP stands for..?
    I hope it isn't Object Oriented Programming :)


    March 08, 2002, 05:12 AM

    Maybe he means that we already know all that, and this is not the place for stupid flame wars...

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