Less Constricting 3D Engine with "Low Level" Code Access

Started by
7 comments, last by jsvcycling 9 years, 11 months ago

Last summer I wrote a 2D engine (and game) working off OpenGL. This summer I want to try something 3D.

I really liked the control writing my own engine gave me. I was free to stray from the beaten path and do things from dynamic lighting to user interface in unorthodox ways (for better or worse.)

I've used Unity3D before (years ago) and while it was fine then; looking back I can't stand the limitation it puts on your code/framework. You're forced to use their structure, their base classes like physics, lighting, particles (etc.) Not to mention that User Interface in Unity3D is (hopefully was) excruciatingly painful.

Anyway to get to the point I'm looking for a more minimalist 3D engine that has the bare minimum needed to get started with 3D with a lot of low level control. I'm looking for something more than a library but less than unity (only thing I have to compare.) I'm really hoping Unreal Engine 4 is in that direction, I was hoping I could get thoughts from someone who has worked with it, or from anyone else who might have thoughts on what I'm looking for.

Thanks.

EDIT: After doing my own research on the topic I'm leaning more and more towards just using OpenGL for 3D Rendering.

Advertisement


Anyway to get to the point I'm looking for a more minimalist 3D engine that has the bare minimum needed to get started with 3D with a lot of low level control.

To be honest, take opengl or directx. A working framework needs a lot of infrastructure and architecture, which will enforce you to use all its classes, structures to utilize their engine.

UE4 has the source, but to really do things with it you're going to be inheriting from their classes and structures.

Every engine assumes you'll be inheriting from its classes and/or using its structures. Unity tends to throw its UI around a bit more than most I suppose, but that's the only difference, except that the free version of Unity is closed-source.

If you're looking for an open source engine, there's plenty to choose from -- Ogre, Horde, Urho, Hieroglyph, etc.

Just know that everything makes a lot of assumptions by necessity, so if you want to violate those assumptions, you're going to have your work cut out for you.

This: http://www.gameplay3d.org/

Something like SDL 2.0 or DirectX Tool Kit (DXTK) might be close to what you're looking for. They help take care of the inane details of dealing with the platform, give you some nice APIs for doing common things, and integrating other higher-level functionality (like say, Bullet physics library) is fairly well documented by the community, but other than that you can have a straight-up 3D API interface with little or no interjection. But, teh downside for you might be that these things are not engines as you know them -- You'll probably have to roll a fair bit of your own tech (or integrate third-party solutions) for things like materials, models, etc.

That said, many people seem to find things like Unity adequate, and when I come to a point of feeling like an engine or library is stupid, myself, I've learned over time to take a step back and ask myself whether it really is, or if I've just not taken the time to learn it right. Your reaction might be something of a symptom of NIH syndrome, make sure its not because its going to take a lot of time and effort to re-implement the things Unity will give you (not to mention that Unity is debugged and battle-tested).

throw table_exception("(? ???)? ? ???");

Though with Unity Free, you may run into, "That's stupid, why did they gate that feature!" =)

http://g3d.sourceforge.net/ is mostly a thin opengl wrapper

I'm actually working with UE4 on my current project and I've had a great experience with it so far. With that said, I don't think it'll fit you well with you based on your OP.

UE4 is built more as an all-inclusive framework that you game is built on top of rather than a library that is built into your game. So for you it'll seem just like Unity where they require you to use their style of framework; this is the exact same approach UE4 takes. Also, although UE4 has the source available to subscribers, it is by no means minimalistic as all the core components of the engine are rather tightly knit together. Lastly, if you found Unity's GUI system painful, then you will find UE4's Slate system even more painful. The only way to get a "good" UI system into UE4 is essentially what would need to be done with Unity which is purchase a 3rd-party GUI framework (Scaleform and Coherent UI are the two big ones for UE4 thus far).

I'm not saying UE4 is a bad engine (heck I use it myself), but I'm just saying that it's not going to fit your needs/wants.

Some favourite quotes:Never trust a computer you can't throw out a window.
- Steve Wozniak

The best way to prepare [to be a programmer] is to write programs, and to study great programs that other people have written.
- Bill Gates

There's always one more bug.
- Lubarsky's Law of Cybernetic Entomology

Think? Why think! We have computers to do that for us.
- Jean Rostand

Treat your password like your toothbrush. Don't let anybody else use it, and get a new one every six months.
- Clifford Stoll

To err is human - and to blame it on a computer is even more so.
- Robert Orben

Computing is not about computers any more. It is about living.
- Nicholas Negroponte

This topic is closed to new replies.

Advertisement