I agree with Naughty - B3d is a language with which you can build your own game engine, and I know loads of people here have sucessfully done that.
Gizmo - you should take what you know start creating ALL the software tools and subroutines for doing all the jobs which a game (of whatever type you have chosen to make) needs to be able to do. After identifying what type of game engine you want to build I would start with an ENTITY system - think of ALL the things you may ever need to do or know about any ENTITY in your game, and write handy routines to take all the complexity of writing the game out. You can set collisions, colours, rotations, positions, scale, textures, anything you need.
For example in a game I finished early this year, I had to have some collectible objects, these all needed specific properties so I created an INCLUDE file to handle them as follows:
;gameentity(meshfile$,gescale#,gex#,gey#,gez#,gepitch#,geyaw#,geroll#,gerotation# -2 ,glow,geshadow(True/False) ,shadow size1,shadow size2,shadow size3,distance# of shadow under entity, geparticle=0, gravity=0, trigger, timer,collectable+score))
The code to call a game entity would be :
I could now instantly load any model, position it, scale it, give it a rotation flag (in order to rotate constantly in my game loop), give it a shadow (by linking into another area of my code to add a shadow type here), give it gravity, set up a particle type, set if it was a trigger or not, and if it was collectable give it a score too.
Now you could get even clever as with a 'world/level editor' working through a GUI, most of this kind of stuff gets hidden for the user and you just load the object in from a file menu and the actions you do in the level editor sets the objects' properties. This way a world editor can save you a lot of time, as you plan and set stuff up visually.
Your game engine reads the files your game editor saves and reproduces what you set up visually, for the in game level/world etc, with all the bells and whistles working for you immediately. Preparation takes longer, but level building is incrementally faster, and the more levels the better the time saver this would be.
I hope this helps some.
IPete2.
Gizmo - you should take what you know start creating ALL the software tools and subroutines for doing all the jobs which a game (of whatever type you have chosen to make) needs to be able to do. After identifying what type of game engine you want to build I would start with an ENTITY system - think of ALL the things you may ever need to do or know about any ENTITY in your game, and write handy routines to take all the complexity of writing the game out. You can set collisions, colours, rotations, positions, scale, textures, anything you need.
For example in a game I finished early this year, I had to have some collectible objects, these all needed specific properties so I created an INCLUDE file to handle them as follows:
;gameentity(meshfile$,gescale#,gex#,gey#,gez#,gepitch#,geyaw#,geroll#,gerotation# -2 ,glow,geshadow(True/False) ,shadow size1,shadow size2,shadow size3,distance# of shadow under entity, geparticle=0, gravity=0, trigger, timer,collectable+score))
The code to call a game entity would be :
gameentity("fish001.b3d",0.15,7624,-910,-7950, 0,0,0, -2, 1,False,0,0,0,0, 0, 0,0,0,10)
I could now instantly load any model, position it, scale it, give it a rotation flag (in order to rotate constantly in my game loop), give it a shadow (by linking into another area of my code to add a shadow type here), give it gravity, set up a particle type, set if it was a trigger or not, and if it was collectable give it a score too.
Now you could get even clever as with a 'world/level editor' working through a GUI, most of this kind of stuff gets hidden for the user and you just load the object in from a file menu and the actions you do in the level editor sets the objects' properties. This way a world editor can save you a lot of time, as you plan and set stuff up visually.
Your game engine reads the files your game editor saves and reproduces what you set up visually, for the in game level/world etc, with all the bells and whistles working for you immediately. Preparation takes longer, but level building is incrementally faster, and the more levels the better the time saver this would be.
I hope this helps some.
IPete2.