Desperate for help!!!!

Started by
15 comments, last by jad_salloum 18 years, 1 month ago
Help please!! I’m really getting frustrated. I’ve been working on my own engine for a long time now, but I really don’t want to be working on an engine. I want to be working on my game, but I have specific requirements and years ago when I started no engine had the features I really wanted. Today I’ve created some of the core functionality including a great Terrain system for unlimited sized terrains, a real portal system (not quite done) but this is not using portal for just occlusion of a single large model like others, but my portals are true links between different objects. Each room is an object and indoor scenes are just collections of highly detailed models developed in any modeling program you want. They are linked dynamically and can be changed dynamically. I have a pretty robust scene manager which allows me to manage the content over a life size planet, without having to preload any of it, and without incurring any delays for loading. The engine starts up almost immediately, and you can travel anywhere without delays, you can even leave the planet to space and land on another planet without load or delays. I’ve also completed the core foundation of my MMOPG networking system designed for 10’s of thousands of concurrent users (or more). However, even having accomplished all of this, I’m still very frustrated, because I don’t have many common features such as: 1. Models: Reliable modeling system for animated and non-animated objects. I originally wanted to use .X models, which I’m currently using, but I’m finding that the exporter is terrible, especially for animation. I’d love something like granny, but it’s too expensive. a. I’m particularly fond of the way HL2 and Quake 4 animate the upper torso when you move the mouse while keeping the lower torso fixed. This isn’t so much an animation as they are moving the bones connected to the gun as the gun swings around. It’s a great effect 2. Shadows: I’ve never done shadows, and need to cast shadows for my models. It’s not trivial but so common it’s mandatory. I'd like something that supports both higher quality, less performance and lower quality higher performance shadows. I'll then choose based on distance. 3. Particles: I need a good particle system to bring the world to life. Smoke, fire, rain, clouds, vapor trails, etc. 4. Lighting: Goes without question. I can use HW lighting for some things, but I know my indoor scenes will need dynamic light maps. One of the benefits to my portals are that I can load an individual model in sub second, so having a high-res model from 3DSMAX, prelit might be an optional cheat, but I think I need more of a dynamic lighting system Instead of getting a formal rendering engine that would limit my abilities to use what I’ve already done, I think maybe what I want are libraries, preferably open source, but I’d even pay if it’s not too expensive. Does anyone know of or possess good quality libraries (source prefered, c++ classes for directX) so I could easily add the missing functionality into my engine? I really want to get to focusing on the game, but I at least need the basic engine to meet minimal standards as defined above. Thanks everyone, I’d appreciate any feedback you can provide. If you’re an expert in any items 1-4 and want to provide your own classes, that would be equally awesome  [Edited by - QuadMV on March 15, 2006 10:19:20 AM]
3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
Advertisement
Quote:Original post by QuadMV
1. Models: Reliable modeling system for animated and non-animated objects. I originally wanted to use .X models, which I’m currently using, but I’m finding that the exporter is terrible, especially for animation. I’d love something like granny, but it’s too expensive.

Have you looked at Cal3D? It is an open-source animation library that has a capable and stable exporter for 3ds Max. I have not used it personally, but have heard of many people who used it with success.

Granny sets the low-end cost-wise of animation middleware, so you aren't going to really find anything less than that (commercially).

Quote:2. Shadows: I’ve never done shadows, and need to cast shadows for my models. It’s not trivial but so common it’s mandatory. I'd like something that supports both higher quality, less performance and lower quality higher performance shadows. I'll then choose based on distance.


There are 2 common methods nowadays, each with tons and tons and tons of resources. You can try shadow maps, which basically renders the casted shadows from the viewpoint of lights, or shadow volumes, which basically extrudes geometry. Both have a lot of tutorials on them (both are even in the DXSDK as well).

Quote:Instead of getting a formal rendering engine that would limit my abilities to use what I’ve already done, I think maybe what I want are libraries, preferably open source, but I’d even pay if it’s not too expensive. Does anyone know of or possess good quality libraries (source prefered, c++ classes for directX) so I could easily add the missing functionality into my engine? I really want to get to focusing on the game, but I at least need the basic engine to meet minimal standards as defined above.


It seems like the Torque engine is a common solution for indie developers who just want to get up and running fast, but without the cost. Also, OGRE is very nice - it is fully featured and free, too.
Dustin Franklin ( circlesoft :: KBase :: Mystic GD :: ApolloNL )
DirectX is a graphics API not a game engine. It would take far less of your time to use something which wraps DirectX in some easier to use interfaces.

Try taking a look at:
Ogre3D
Nebula Device

They're both really fantastic game engines which are free. They're also open source so you can see how everything is done and extend it and modify it as you need to.

Also,
Blitz Max

Good luck! And have fun!

Greg
Thanks guys, but I've thoroughly researched Ogre, irrLicht and Torque as well as others. Although these all have their benefits, none have the features I'm looking for and after evaluating the amount of time it would take to integrate my required feature set into them, I'm believing it'll be less work to add the aforementioned features into my engine and will give me more control and flexibility as I know my engine very well.

I've not looked at Cal3D yet, but I have heard of it. I'll check it out.

Quote:
There are 2 common methods nowadays, each with tons and tons and tons of resources. You can try shadow maps, which basically renders the casted shadows from the viewpoint of lights, or shadow volumes, which basically extrudes geometry. Both have a lot of tutorials on them (both are even in the DXSDK as well).

Circlesoft, yes I'm aware of the basic concepts. I don't want to do it though. I want to get libraries or classes that will ease the process so I can focus on the more important elements of my engine and more specifically my game.

Expecting there are many experts in these areas already, I'm assuming someone has packaged nice wrappers for these components instead of an entire engine like Ogre or irrLicht or Torque

Quote:
Granny sets the low-end cost-wise of animation middleware, so you aren't going to really find anything less than that (commercially).


At $12,000 for an indie developer, that's hardly cheap, and even at $1000 for a single development license, I'm just a hobbyist and can't afford that. A $100 is more realistic, and Torque looked very promising at first. It's hard to justify the price of Granny when compared to all the features of Torque for $100. However, after chatting with the Torque developers, the networking is VERY tightly integrated and not meant to be heavily modified without a major impact to the overall architecture. Their networking is designed for multi-user play based on a level approach, not MMOPG based on a persistent (non level) universe.

My engine on the other hand is architected from the ground up for MMOPG in a persistent and non level based universe. It'll support 1000's of planets in a galaxy with 1000's of galaxies, and the player will experience no performance degradation, long loads, delays during transition or anything. It'll all be smooth and natural and instant (near instant anyway).

It's not just the client code either. I've already build most of the middle tier and backend database to run the whole thing.

Quote:
DirectX is a graphics API not a game engine. It would take far less of your time to use something which wraps DirectX in some easier to use interfaces.

Greg, I appreciate the feedback, but (maybe I'm reading too much into your post and if so I apologize) if you understood my post and checked out my site, I think you'd see that I'm a seasoned DirectX developer and understand the difference between an API and a game engine. The point I was making is that the engine that I'm writing is coming along very well and will stand up to many other engines, but it's lacking some basic functionality like shadows and a particle system.

There are many, many seasoned veterans developing for DirectX and I'd rather buy the functionality to do shadows and particles then spend the time doing it. My focus has been on the less obvious stuff that doesn't exist in other engines like Ogre, Irrlicht or Torque.

Please keep the feedback coming. The more comments and suggestions the better I'll feel that I'm going down the right path.


3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
DirectX is an engine. It does everything and the d3dx makes stuff like shadows and particles a piece of cake. Shadowmapping is insanely easy i don't understand what the problem is.
Then maybe you'd like to provide the wrappers for me if it's so easy

;-)
3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
what wrapper? its just 2 render passes.
To be honest, from what I've seen, what you're referring to (more broadly classed as middleware) rarely comes cheap and/or seperate. You often buy into a particular engine/library and use it for "all or nothing". Pulling out a stand-alone shadowing module (for example) is more difficult than providing a full graphics engine that supports dynamic/generalised shadows as a basic feature...

A couple of possibilities:

1. Bring in another programmer to help things out and get things moving along. If you can't buy in the technology, buy in the talent.

2. You seemed to hint against it, but maybe if you have aspirations as high as you've suggested then putting down your current codebase and using a 3rd party engine/library from scratch is a better plan for the long-run.

[rolleyes] @Anon Poster: I'm sure everyone would appreciate it if you added something useful to the thread. Maybe even used your (obviously far superior) knowledge to help others...

Simple shadow mapping is easy, but getting good, accurate and general shadows at a reasonable speed from SM is definitely not simple. There are lots and lots of special cases in various SM algorithms - trying to get them all balanced so as not to introduce graphical artifacts is no small challenge.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Cal3d actually looks very promising. I’m surprised I haven’t heard more about it.

JJ (  can I call you that?). I agree, I was very interested in recent weeks looking at 3rd party engines, but my gaming vision has certain necessary features that just aren’t out there. If I were to give in and use another solution I would have to give up this dream game idea of mine, and I would sooner code it myself ;-). I have also been thinking about porting some of my necessary features to something like Ogre or irrLicht, but I think the learning curve and complexity would be higher than my enhancing my engine. Cal3d looks very promising from a modeling perspective, and I know there are stand-alone particle systems out there. I haven’t mentioned physics yet, but Ogre and irrLicht both rely on 3rd party solutions there, which I could use too. Therefore I’m mostly needing a lighting and shadow solution, which at the end of the day maybe I will implement myself. My terrain is already lit dynamically at runtime with an on the fly generated light map or shadow map (what ever you want to call it). This allows me to let the sun move and have the shading change without reloading everything. I thought a class could be used to simplify shadows, but if not I’ll either bite the bullet and do it, find another to help me, or maybe cal3d helps with this? I’ve not looked into it yet.

Thanks for the input.

3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
Im not saying this to bring you down or anything, but do you not have a lot of time to work on your engine? Because it sounds like youve been working on it for years and still dont have the trivial things like decent model support or a good particle system. Jolly has some good points though, maybe bring in another coder.

Good luck to you!

EDIT: BTW I can let you see my particle class, it works pretty good. I will PM it to you when I get home.

This topic is closed to new replies.

Advertisement