Game Development Community

Renderer

by Paul Johnson · in General Discussion · 01/27/2004 (10:00 am) · 3 replies

Hi Guys.

Are there many people about these parts that are working on or have released indie titles that don't rely on TGE ?

Following a thread elsewhere I mentioned that I prefer using a dedicated renderer and starting a new game project from the main() {puts"hello word";} stage. I got a lot of private mails to the "me too" effect also.

So, if you don't use torque, does that mean you use your own rendering stuff, or maybe one of the many ready-to-go packages like Crystal Space ? Have you stripped out the higher-level stuff from TGE like the scripting and maybe put that to work in your own engine that's separate ?

I'm trying to get a feel for what's going on as I'd like to release my own renderer, with source, into the community. To get the rights to it I've had to go back to a pretty old version but it should soon start to be pretty decent again.

It supports the concepts of models and has a heirarchy system you can build scenes out of, other support code like octree based beam-casting and "faces in box" collision detection help, math library, separate viewports, and a fair amount more. It doesn't have any really high-level stuff in it though and has been developed as a middleware layer as opposed to either just literally a poly-pusher or something like TGE at the other end where its practically a whole game in a box.

The code is in a right old state at the moment and I'm trying to judge whether it'd be worth the effort of tidying it all up and making it more robust for others to use (I can avoid the holes :)

If I were to do this, I'd like to charge a nominal fee just to make sure the support I'd need to offer only goes to those that take it seriously iyswim. It'd also be cool if people could help expand the engine by adding new rendering effects etc to it - modularity was high up the design goal list.

I'm a fair way off at the moment as having changed/simplified a lot of the pipeline I don't even have a model loader and max exporter working, but I can soon fix things like that. I'd just like to know whether anyone would be interested in something like this or whether I should just stick to making my own games with it and mind my own business.

What is your feeling on this Jeff ? Would it undermine or enhance the service you provide etc.

#1
01/27/2004 (10:18 am)
Given that you posted this publicly, I'll respond even though I'm not Jeff. ;)

Warning! I am not speaking as an employee here. These are my own opinions and subject to change. They do not reflect GarageGame's, Jeff's, or anyone else's opinions. Read them at your own risk, believe them at your peril.

I think that you're stepping into an already crowded middleware market. With the Nebula Device, the Reaction Engine, CrystalSpace, OGRE, Renderware, a half dozen open source game engines, Source (the HL2 engine), and Unreal, along with dozens of other hobbyist rendering engine projects, it's very very difficult to distinguish oneself. Adding another project to the list is just going to increase the signal to noise ratio.

And, it is unlikely that all the people that like starting their game from scratch are going to want to use your product - since it won't be "from scratch." ;) In my opinion, it's very difficult to write an engine from scratch _and_ a game to go with it. For simple things, it can work well - like Fuzzy TV at the last IGC - but for more complex games, like Lore, it's already taking a full-on team years to make salable progress, and that's building on top of a complete engine.

As for the ripping out comment - it is entirely possible to remove parts of Torque. For instance, I've been working with Mark on the TNL (www.garagegames.com/mg/snapshot/view.php?qid=693), which involves ripping out Torque's networking code and packaging it to be standalone (as well as adding a LOT of cool new features). Of course, to do this well, you sort of have to be fluent in Torque's codebase already...

I guess it depends on your focus. If you want to start and complete games, I don't see a lot of value in writing a new engine in most cases. If you're just curious/a hobbyist/not interested in completing games, then a new engine is a lot of fun and a good learning experience.
#2
01/27/2004 (10:28 am)
I've been working on my own engine for my project. It's DEFINITELY slowed things down --- initially I started this project just to exercise my old "3D engine writing" ability... and then my project matured into something I figured I'd take commercial.

In all honesty, I'm not sure I'd even reuse the graphics elements of my current engine, except maybe as reference code for enhancing an existing engine. Unless I'm doing a derivative product (sequel / expansion), I'll probably use Torque, Irrlicht, Ogre, or CatMother for my next project.

As far as YOU releasing a new engine - I'd say it's possible to do *IF* you have a particular focus / emphasis / niche that differs from the others. There are SCADS of engines out there that are appropriate for first-person shooters. There are a few, less-mature rendering engines that are good for things like flight simulators, that need to show a large span of terrain at varying levels of detail. I'm sure there's a bunch of stuff in-between and along a different axis. If you can find a particular need where people are really having a tough time shoehorning an existing engine to fill, then you'll be in business.

Well, that ... and actually showcasing games that have decided to use it.
#3
01/27/2004 (11:19 am)
@Ben: No problems - I posted publicly as I want some feedback from the public. :)

tbh, I don't think my engine is going to be any better than some of other more well-known engines. Initially it'll probably be worse tbh as (as I said) currently it's back at a bare-bones state.

I'm doing this development mainly to enable me to complete some games with it, although I must admit to enjoying developing 3D effects for their own sake too. There is enough middleware layer to let the user just get on and write a game (imo) but there is always that learning curve. For me there isn't one so this is the most sensible thing to do over switching to something like torque. But for others ? Well, its gonna be less steep than some but more than none, I guess.

The reason I thought about releasing the engine itself, even despite what I said above, is that I could offer a key benefit with mine that users may not get from other solutions (apart from TGE obv.) - I'm right here in this forum using the same engine to develop my own stuff with.

I'm only really guessing about that too tbh, hence my initial plea for opinions. Coming from a mainstream background, I've rarely used code that 'wasn't invented here' and definitely not something as key as the rendering pipeline, so I'm not at all familiar with what indies use generally. Whilst I consider myself to be an 'old hand' at games development, I'm a complete newbie as an indie and am trying to get into the right mindset.

Maybe it'd be better if I get my ass in gear and actually develop a game with it then look again if anyone wants acess to the engine afterwards. I only ask now so I can judge interest and zone some of my time into "people are gonna see this one day" aspects of the source. :)