• Hey! Guest! The 37th GMC Jam will take place between May 28th, 12:00 UTC and June 1st, 12:00 UTC. Why not join in! Click here to find out more!

Windows Warp3D - Game Engine, Level Editor & Model Editor

Joe Ellis

Member
Warp3D is an extension\engine for gamemaker with a realtime map editor, model editor and rendering system.

Features:

Easy to use level editor with full control over each object's variables and rendering properties.

Objects can be edited "on the fly" while the level is playing.

Triangle level collision detection optimized in a cell grid to keep heavy calculations low.

Model editor with tools for uv_mapping, sculpting, deforming, rigging and animation.

FBX model importer (currently only supports static models)

Anisotropic texture filtering.

Load textures from external files (no need to use sprites or backgrounds)

Resource manager with non-sandboxed file system for handling all external game assets (Maps, models, textures, materials and object presets)

Materials with normal mapping, specular masks, glossmaps, etc.

Realtime shadows, using shadow mapping & shadow meshes.

Realistic water refraction & reflections.

3 types of animations for models are supported: skeletal, vertex keyframe & vertex texture fetching.

I will provide more info and screenshots as this develops, if anyone has any questions feel free to ask here or pm me :D

 
Last edited:

TheSnidr

Heavy metal viking dentist
GMC Elder
Not much to go off of here. Got any more info about your program? What does it do?

Edit:
Ahh, there's more info in the first post now! This looks incredibly useful! Can't wait to play around with it!
 
Last edited:

Misu

The forum's immigrant
Ok before someone very specific in this community comes back and mentions octree and show off share his work in here, Im gonna provide my advice.

Since you doing collision using basic primitive forms like collision_sphere_mesh and collision_bbox_mesh, which is very neat and easy on the performance, it is also important to know that many people would also want to make a 3D game as an open world genre. Open world games can be highly heavy on collision checking. In this case, octree collision is required to better improve the performance on either open world games, or games with accurate physics collision. HOWEVER, if someone is making a very simple game that involves a tiny space of the world, it is not really bright to use octree (even though it will work) but its mostly because octree works heavier on processing than a simple primitive collision system. Now my suggestion is to have BOTH techniques as optional choice for better flexibility on editing and building the 3D game. Octree is quite simple but can be tricky to program it right. You should look it up on google to understand better what it is before making it. Hope everything goes well on this project :)
 
This looks pretty sweet man, could you post some videos of it in action? If you don't have it already an idea would be to include the ability to do vertex morph animation, since it is preferable for certain 3D effects.

I'm a 3D person myself, been working with it in game maker for ages, so it's nice to see more people come along who like to challange themselves with 3D in Game Maker.
 

Joe Ellis

Member
@Misu Cheers, I didnt mention each collision mesh is split into a grid, each cell containing triangles that intersect it, so each instance will only check a few triangles at a time.
I will probably implement octrees at some point though.

@RichHopelessComposer & @thestolenbattenberg Unfortunateley I havent got any videos, and I've only got a very few recent screenshots that I'm happy to show, as the model editor only really came into action last week, but I will upload any new stuff that happens from now on.
 

Joe Ellis

Member
@thestolenbattenberg Yes, it does support vertex morphing, each vertex keyframe animation can be compiled into a strip of vertex buffers, each containing 2 frames to morph between, it can contain 2 sets of every attribute if required but by default just morphs positions & normals.
 

CMAllen

Member
If you can get direct support for importing from major 3d software packages (like Blender, Max, or Maya) and all their major features (UVs, textures, morphs, bones, rigging), you'll be in an interesting position.
 

Joe Ellis

Member
@CMAllen it will have full fbx importing \ exporting with all the major features and also material settings, it uses a dll containing all the required functions, which is complete and working but the gui\editor itself only has the basics sorted so far (normals, uvs, textures & bones) but all the other features will be added before release.

I do have a few pictures of an imported Spyro level, but I'm not sure I'm allowed to post it here as its from a copyrighted game.
 
Last edited:
@CMAllen it will have full fbx importing \ exporting with all the major features and also material settings, it uses a dll containing all the required functions, which is complete and working but the gui\editor itself only has the basics sorted so far (normals, uvs, textures & bones) but all the other features will be added before release.

I do have a few pictures of an imported Spyro level, but I'm not sure I'm allowed to post it here as its from a copyrighted game.
Post it! People post material like that all the time for test engines/games. It's no big deal. If you go through the WIP forum here, you'll see stuff like that everywhere. =)
 
G

Gabe the Dead Fish

Guest
Nice! Will you have any tutorials on how to use this?

Also, is this only for Game Maker 2 or does it work for the original GM?
 

CMAllen

Member
@CMAllen it will have full fbx importing \ exporting with all the major features and also material settings, it uses a dll containing all the required functions, which is complete and working but the gui\editor itself only has the basics sorted so far (normals, uvs, textures & bones) but all the other features will be added before release.

I do have a few pictures of an imported Spyro level, but I'm not sure I'm allowed to post it here as its from a copyrighted game.
Well, what about animations? Do those need to be created inside your tool, or are they imported as part of 3d model's rig?
 

Joe Ellis

Member
Nice! Will you have any tutorials on how to use this?

Also, is this only for Game Maker 2 or does it work for the original GM?
I'm making it in 1.4 cus 2 wasnt out when I started, I'm gonna port it into 2 once its finished and both will be available.

And yeah, I'm gonna make a youtube channel with tutorials for as much stuff as I can, plus a manual.
 

Joe Ellis

Member
That looks great! May I ask how much FPS you're getting with it though?
Thanks, strangely 3 - 4 thousand fps_real, earlier attempts were alot slower but I kept improving it.
I do need to test it in a busy game though...

My computer is pretty average I think, I bought it about 3 years ago for £400,

Graphics card is AMD Radeon R7 with 4gb video ram
 
G

george_a3iristos

Guest
It's interesting! It's amazing watching people develop additional stuff for gm. I'm gonna test it today
 

Misu

The forum's immigrant
Its cool. Was gonna recommend a technique on smoothing normals but I believe my technique is too heavy on processing. Im still searching for better alternatives on performing smooth normal factors.
 

Misu

The forum's immigrant
Warp 3D sounds nice.

Also try not to double post. If you need to add something you forgot and your post is happen to be the last post made, just edit your previous post instead.
 

Joe Ellis

Member
I've made a shader that creates realtime mesh based shadows with softening \ anti-aliasing :)



Its very fast & efficient, but here is one problem with it, the max number triangles casting shadow is
only 73,
this is due to them being passed into the shader as a uniform array and directx9 only allowing a certain amount of uniforms at a time,
so it cant be used for precise silohette shadows from characters, they'd have to use a lowpoly shape instead (which might look good in a cell shaded or cartoony game)

while 73 might sound a small number, it actually means 73 per model rendered, and you'd never need this many if the shadows were from big objects like buildings,
so I'm planning on splitting the "shadow meshes" into smaller groups where objects only check the triangles that are going to cast shadow on them in that area,
which will allow a whole level to use them.

This technique can also be mixed with shadow mapping, which would allow entities to cast precise shadows.

But.. it looks great though right?
 
Last edited:

lolslayer

Member
Are you sure that those are stencil shadows? Because the stencil buffer is impossible to access in gamemaker without extensions
 

Joe Ellis

Member
Oh sorry I didn't realize they have to use the stencil buffer, I just call them stencil if they're hard and don't use shadow mapping, I'll change the description so its not misleading.
 
Top