I’d be interested in a simple tool to create 3D games. There are unlimited features that could be added to a 3D engine, so I’m curious what minimal feature set could be to still be fun and enjoyable to use.
Lately I’ve been less interested in flashy special case features, and more interested in simple core features that could be used to build those special case features.
So what would such a program have? I’m sure we all have a varying list of things we would want.
* object types: camera, 3D mesh
* A level editor to place, size, orient said objects
* a way to get keyboard input as a minimum
* an event/simple scripting system to move stuff about.
* we’d want functions and some kind of arrays at least.
If we could access all the mesh data with expressions, even better.
After that I have a cascading list of ideas. Lol. But those basics could be enjoyable. In that base state there would be lots of math to do stuff, but I don’t think it too bad. Simpler helper functions could be made to hide the math.
Of course there would always be things to optimize and improve.
The dream feature list would be:
* editor built with same engine for ease of adding editor features.
* a simple way to make shaders in the editor without using glsl.
Ahh it’s fun to dream and design in your head. Kudos to anyone that takes such a dream and try’s to make such a thing for fun.
If I had the time and was more confident in my programming, I'd probably make an attempt at building some kind of game tool. I built my own 3d editor using the three.js library in the past: http://www.crocotile3d.com
I made that because I wanted something simpler than all the generic 3d editors out there that are bloated with features. It's difficult to visually focus in programs that throw everything at the user, it becomes overwhelming. So that was my attempt at a simpler concept of building 3d models using 2d tiles. I like the pixel-art aesthetic too.
As for a basic 3d game tool-
What I would want is at least the ability to load .obj models and texture them. With ability to control/edit UV values so that you can have animated billboarded sprites- and also ability to change textures.
Also ability to move, rotate the models, and scale.. x,y,z axis separate from each other.
Also would need to be able to set the "Alpha Test" values, along with transparency, so that objects behind sprites can be seen through the transparent parts.
Also ability to set opacity, hide/show objects. Maybe also the ability to Tint the objects.
Some other helpful things would be stuff like setting the Up vector of objects, and having helper functions to make objects look towards a position. Maybe some simple collision/intersection checks, and raytracing.
I like to remove some of the complexity when developing 3d games by using billboarded sprites instead of animated 3d models. I also like to remove lighting and other effects and go for a more clean pixel-art style.
A 3d game can be simpler than developing a 2d game that uses a lot of complex animation and effects.