BrightRealm FPS game engine tech demo

Community Forums/Showcase/BrightRealm FPS game engine tech demo

Zethrax(Posted 2012) [#1]
Hiya. This is an early tech demo of a first person shooter engine I've been working on using Blitz3D. It also makes use of Itmbin's Newton physics wrapper as well as Particle Candy for the particle system, and Ruz's Redbron model for the test avatar. I've still got a long way to go with it, but the character controller is almost nailed down, along with the spawn system and a few other things.

To use it just download and unzip the file below (1.7 Megabytes) and run 'start.exe'. Instuctions are on the screen.

http://files.pmnova.com/stuff/FPS-Engine-29-nov-2012.zip

This has a couple of known bugs. Sometimes impact damage doesn't register when falling onto the ground. This seems to be a problem with my code - possibly relating to the groundspeed restrictor routines interfering with collision forces.

The other bug seems to be caused by dodgy raycasting in Itmbin's Newton physics wrapper. You can see it in action when you fire up the thrusters and fly over the Redbron test character under the nearby structure (push him out where you can get at him). The character's ground-test raycast that should extend from slightly above his feet to a bit below them actually catches the user's physics volume flying above him, which then causes him to think that the player above him is a moving platform that he is standing on. Since I localize the characters velocity relative to any platform they are standing on when doing groundspeed restriction, this causes Redbron to be influenced by the player's velocity and basically hooks onto him and pulls him along. You can even pull him up into the air and drop him. On the plus side this gave me an idea for a force-whip weapon I'll be adding to my game.

I've confirmed in a separate test program that this issue is a bug with the Newton wrapper's raycasts, so I'm not sure what to do about that. I'll probably contact Itmbin and see if he has a fixed version.

I actually wrote a much more comprehensive FPS engine a few years ago which worked fairly well, but the codebase was a mess and the physics didn't work all that well. I started this new version to clean things up and get proper physics into the engine. I've got some good code I can use in this codebase once I get it cleaned up, including some basic AI.



Last edited 2012


andy_mc(Posted 2012) [#2]
Looks good so far, can't take a proper look as I'm at work.


AdamStrange(Posted 2012) [#3]
great looking.


RemiD(Posted 2012) [#4]
Zethrax>>When i try to run your .exe i get a message "Unable to set graphicsmode", then the program closes.

Maybe try to export a demo with 800*600 or 1024*768 ? No fullscreen please


matibee(Posted 2012) [#5]
That runs really nice & no fancy PC here.. WinXP Pro, NVidia Geforce 8800 GTS 512mb gfx card. My only complaint is that running up slopes felt too generous - running up a 45° slope was as easy as running along the flat.

Nice work tho :)

What format are your maps? I see lightmaps are baked on etc, this would be a great use for Bad Sectors 3d world editor...

http://www.blitzbasic.com/Community/posts.php?topic=98876


Zethrax(Posted 2012) [#6]
I uploaded a new version which uses windowed mode. I also made the test arena a bit more varied.

Since I've got a lot of my old code to cleanup and convert to proper physics I'm considering discontinuing development in Blitz3D and moving to BlitzMax and MiniB3D. Hopefully the Newton Physics wrapper DLL that I'm using will work in BlitzMax, but I have yet to try it.

Also, anyone who wants to use that Maplet test arena for their own projects is welcome to do so. All the textures for it are free ones as far as I'm aware. You can find the B3D and Maplet files along with the textures in the '\resources\models\test arena' folder in the zip.

Last edited 2012


RemiD(Posted 2012) [#7]
Ok this time i have managed to go ingame. Well done !

Lenovo Thinkpad E325, DualCore AMD E-450 APU 1.65Ghz, 6 Go DDR3-1333, Radeon HD 6320 Graphics 384 mo, Windows 7 Home Premium


Zethrax(Posted 2012) [#8]
I've done a BlitzMax version of this FPS engine, which uses MiniB3D, Itmbin's physics wrapper, and an OpenAL based 3D sound system for BlitzMax and MiniB3D that I've written and will be releasing soon for free. You can read more about it and grab the download on my new blog. Link is below.

http://brightrealm.com/blog/2012/12/12/brightrealm-fps-game-engine-tech-demo-blitzmax-minib3d-version/