seeing how far i can go with the bge.

So Ive been attempting to make a game for god knows how long with torque game engine advanced. this hasnt been working so I thought I would see how far I could get with the bge instead?

the game is essentially a tribes clone, never heard of tribes? well click here

this would be the first generic prototype I would like to attempt with the bge. I have some other random ideas but I figure I want to get something close to this.

Im not quite happy with the simpler thirdperson template but that just means I should probably research a bit more and roll my own. It was however very easy to setup and I have mostly been spending my time tweaking results.

so heres a small shot of the wip.

and the blend…

http://fleekyflux.com/3d/ascension/thirdpersontest.blend

not much to show yet. hopefully ill figure out the bge a bit more and have something fun soon :slight_smile:

p.s. the forums need an auto resize image function. sorry for the large image !

looks interesting but the link to your blend doesn’t work.

You sure about that ? works fine for me.

Good stuff! Graphics are great, and the controls very sleek (might want to look into limiting the camera so it doesn’t intersect with the terrain)

Hope you become a convert from the torque engine.

If you want, check out my website. I have an open source FPS with quite a few features and a creative commons texture pack with some good tileable organic textures.

http://www.terrasirenum.com/blog/

Torque is probably my least favorite game engine.

I say stick with blender ^^

Just keep in mind that (even though recent upgrades have reduced this problem) the BGE lags behind many engines in performance- so optimize where possible- on my MBP, I was getting around 17-20 fps, about 90+ percent rasterizer. Some LOD on the terrain would probably do wonders to this.

Also I have to point out that the mouse controls have a problem on mac (as many other mouse control scripts do) but there’s a simple fix: on mac, when the mouse stops moving, the mouse sensor returns the last position moved to, so when the mouse isn’t moving instead of the view staying still, it drifts at whatever speed it was moving when the mouse was last moved. The fix is to manually give the X and Z rotation commands (whether you used an actuator or python) both 0 rotation if the mouse sensor is not positive. this should have no effect on windows or linux, as both do this by default, but will make life easier for mac users.

Other than that, it looks solid so far. I’m interested to see where you go with this.

captain oblvion : Does the bge cull things that are out of view? if so one thing i could do is cut the whole mesh up into seperate pieces until they are 1024 tri chunks… this is quite labor intensive though ecpecially if each one must be an actual seperate object in order to be properly culled. if they can all be one object and still be culled since they are pieces within an object that might not be so bad though.

but yes im curious what other things i could do to improve the performance which is indeed too low already

another thing i heard is that nodes can impact performance a bit is this true?

honestly im extremely newbish to the bge so i have quite a learning curve ahead of me so forgive for any silly questions.

as for the mouselook stuff ill see if i can find a mouselook script that addresses that.

I also might try to redo the controls since im not liking them too much how they are.

some things i want to figure out in regards to controls.

  1. figure out how to do pitchangle animations where the player aims up/down and camera follows. also yawangle animations if it works good.

  2. first/thirdperson toggle ? maybe when you hit a key it makes the camera move from one position to another , any idea how to do that?

  3. jetpack : will be done with servos, i found an example i can use for this but couldnt get it to work properly with the current setup(which is why i want to redo things)

  4. weapon switching, different player type switching ?

theres quite a lot of other things i want to do, but i think ill constrain myself to that list first before i go any further. oh and not to mention getting it to perform better :wink:

jplur : i am extremely excited about the bge, however it has glaring problems mostly to do with scene complexity and just performance in general but im very hopeful that a kind programmer will come to alleviate these problems. for now though this is a fun learning experience for me, and its really interesting to see what the bge can really do :slight_smile:

kay_eva : indeed, i could go on for days about my dislikes of torque :slight_smile:

Pretty much everyone is a bit of a noob with the game engine now that there are so many new features being added. :wink:

I can’t answer many of your questions, but I’m pretty sure that object culling works well now and many objects are preferable to a single large object. There are recent scene graph optimisations that mean that large numbers of objects are handled far better than they once were.

Occlusion culling is also a new feature that people have yet to implement effectively. From your screenshot it looks like you might benefit from making the hills into occluders or placing a simple occlusion mesh inside them. This will not work too well on large flat terrain, but if your terrain has a lot of hills you might want to have a look at this.

As always though, the key to an optimised game is to optimise everything. :wink:

Edit: Another benefit from cutting up your terrain mesh would be the possibility of having different levels of detail for the sections.

i wonder if its possible to have a script that cuts up a mesh based on an octree, once each level gets to 1024 chunks, then it would use the poly reducer script on each piece and generate say 4 levels of detail for each chunk.

then again how would you tell the bge to actually switch the levels of detail out ? could you do it based off of distance from camera somehow ?

don’t ask how far you can go with BGE, ask how far BGE can go with you :stuck_out_tongue:
Art is surprisingly good

Niice! Thats looking really good!

I got a good 60 FPS…when the camera goes below the terrain! :wink:
If not, 12 FPS!

A 90MB? file, with a 137 000? faces and a character with 92? bones?!
You should return to Torque?!
You’re very skilled, try to create/integrate a team who works with “pro engines”!

If not, welcome to Blender, the “modest engine”!!
Blender GE is an authoring tool, created at the time ( 2001?) for “interactive content” or “product presentation”…don’t listen to rumors!
I’ve made a little “demo/game” with some GLSL inside that will probably sun smooth, if you want to check:
http://otothecleaner.free.fr/downloads/Dark_Days_V-1.0-beta.zip
Great work!
Bye

Hi! Very cool=) Runs at 60FPS all the time (with 60FPS cap). Took about 2 seconds to load the whole scene.

OTO, what system you have? I have impression you are underestimating BGE. My game scene has like 150000 polys and character has 10k polys and ~90 bones. Everything runs with 60 FPS on my…GF9600 :smiley: .

Actually, what slows down the engine is heavy physics calculations I have now, not optimised game logic and poor sound support. Pure render is not that slow anymore with 2.49a

athlon64x2/ gfx 7500…sorry!
But technicalities shouldn’t be important ( well just a little bit)
Bigger resources = bigger time spent
Now, if one wants to make a game ( as planaria clearly stated), it’s better keep “things simple”, in my opinion ( humble, of course)
Now, if one wants to impress XXX ( girlfriend, boyfriend, family, friends…put the good word here), just go ahead!
The"good game maker" must clearly identify his “target”…I guess?!
Bye

If I had a dollar for every time I’ve walked up to a girl in a bar and started talking about my videogame…

Hate to repeat myself but check out my FPS, which has those 3 features.

PS I’ve never played Tribes, but I read the wiki. It seems like you got the whole “skiing” thing ported over to the BGE. I jumped down a hill and got some impressive momentum built up.

BTW there’s already an open source clone of Tribes called Legend or Legends, can’t remember.

is jetting implemented yet?

I would really like to hear peoples thoughts on level of detail. One thing im wondering from the coder peoples is if its possible to do some lod stuff for the terrain in scripts. that is cutting up a mesh , and then making each piece seperate and then applying lod levels to each and further setting each up to switch lod levels based on distance from camera? sounds like a lot but if someone wrote that it would be an immense help for everyone working on the bge ?

jplur I downloaded your stuff but it will take me a little while to figure out exactly everything youve done.

So I added in jetting it makes walking around a little more fun.

New Control Scheme
: A for jet , and EDSF for directional controls. SPACEBAR still jumps

Added a skybox that I ‘borrowed’ from martinsh’s video texture/fancy water blend file.

Added in some extra ao vertex coloring, and threw some mist in as well.

Last but not least I went through and tried to organize things a bit. So if people want to keep tabs on this but dont want to download everysingle thing they can get things individually.

http://fleekyflux.com/3d/Prototype.zip

http://fleekyflux.com/3d/prototype

Now my main problem is just being able to parse through the python(g), I really wish I was more of a coder because I really dont understand much of any of it.

Movement : I am still working on that. You should be able to have the player move around while airborne, currently the mouse just orbits around. Want to be able to move the camera around, while at the same time having the upper torso move in conjunction with that. I have a spine Ik target along with a few other bones I would use to control that. I am still trying to think of the best solution. So far there is either ditch the more interesting Ik spine stuff and just use the base spine bone to rotate everything, then I have to figure out how to rotate bones in bge (have no idea). The other option that is used in most games is an animation that you would use to interpolate between so the first frame would be as far down as you look and the last would be as far up as you look. the problem with this is your view and where your pointing will often be different.

Also a bug with the template’s spring based jumping that I discovered is that if you hold jump down, and are falling from a great distance you can actually fall through the terrain so I need to start thinking about an alternative way to do jumping.

After that I need to add in strafe left/right animations, Jetting animations, but first I have to actually figure out how to do that :slight_smile:

So I am still quite clueless, hope you enjoy the slightly updated graphics :slight_smile:

annnddd heres some image to show some of the progress :

http://img33.imageshack.us/i/prototypew.jpg/


http://img33.imageshack.us/i/prototypew.jpg/

For the spine and body aiming, I’d keep the body oriented so the gun always points forward, and instead of orbiting the camera horizontally, just rotate the character (wit the camera parented to it). Then with the spine (and arms and head), make an animation rotating from aiming down, say, 80 degrees, at frame -80 to aiming up at the same angle, at frame 80; as the camera orbits up and down, set this animation to a frame corresponding to the vertical angle of the camera to the character. Maybe slow parent the camera a touch to smooth things out.
Then you just make an animation for the legs for each of the 8 relative movement directions, and you should be set there.

PS in the file you provided, nothing was appended into the main blend. It’s not a very big deal when there’s just 2 groups to append, but I thought I’d let you know. Looking good so far, too!