by Baker » Fri Jan 30, 2009 8:40 am
A game engine is like a movie player except that it gets judged by the ability to be presentation to interactive storyline, hopefully with a lot of environment.
I think it is rather disappointing how difficult they are to use and how much experience is required to modify them and how many of them have gaping holes in their functionality.
Quake has it better than most.
People like LordHavoc, Spike, div0 and others have redesigned the insides of the engines to get things more streamlined.
But I see some things that are a painful reminder of how primitive all the game engines are:
1. A lot of maps are made for Quake. Most of them are glquake compatible. Which means 1996 era functionality, which is fine except this means that no true progress has been made.
Quake2 can do non-linear play from map to map, for example. In Quake, monsters only know attacking and idling -- you can't have some monsters guarding something valuable (they won't guard it unless it is a Chthon who simply isn't mobile), but that's ok because Quake can't do inventory either. Or NPCs or events (well simple events are ok).
But there isn't anything about map editors that wouldn't support more immersive environments.
2. You see a lot of beautiful deathmatch maps for games. Most of these maps are made by people who know jack shit about deathmatch. They want to use the talent, but have no outlet to do anything creative with it so they made a recycle bin deathmatch map because they can't use those amazing skills to make an immersive single player experience.
3. You see people retexture and remodel things that don't really need retextured or remodelled. Again, there isn't an obvious better way to express the creativity, so they do what is available.
4. I've been spending time examining the source code of a lot of non-Quake engines lately. For the most part, I find it disappointing that many of them are far more of a mess than you'd think. Maybe the maturity of the Quake derived engines has led to more "care" and refinement of the source? And that only people who like working with the source code are doing so?
Random Thoughts
1. A CSQC campfire tutorial that emits smoke would be very cool.
2. I've looked at the Feral source and was hoping that the weapon-in-hand stuff was "better" than the vwep stuff in Quakeworld and in some ways it is (from a creation standpoint), but I see the xyz + angles are hardcoded. I guess md3 is really the only answer.
3. sbar.c is quite a mess in the engine in that it is very inappropriate for so much game logic to be hard coded into the engine. CSQC wins again.
4. Structurally, I wonder what the right way to keep to administrative QuakeC code out of the game logic is. Maybe the Nexuiz peeps have thought about this and I should look at that.
5. I'll know it is a better world when a single player equivalent of Nexuiz exists. You can tell something is in it's infancy when it relies on human players to play each other skipping over the design and story elements. I'm referring to the state of open source games in general, not Nexuiz which has done a fine job of advancing ideas into the world.
6. One reason I've been so intrigued by Half-Life over the last 6 months or so is that they invested a lot of time and energy into supporting more complicated plots and storyline elements for modders -- barely above the Quake threshold. id Software for the most part didn't advance the concept of single player after Quake 2.