I have this game engine...

Manu via Digitalmars-d digitalmars-d at puremagic.com
Sat Oct 31 19:35:40 PDT 2015


On 1 November 2015 at 12:10, Nerve via Digitalmars-d
<digitalmars-d at puremagic.com> wrote:
> On Sunday, 1 November 2015 at 01:33:29 UTC, Manu wrote:
>>
>> I have this game engine (https://github.com/TurkeyMan/fuji), it's
>> lived for about 12 years now (first commit in 2004, and it existed
>> prior before source control). I called it 'Fuji' (a modest, yet
>> pleasing and attractive mountain). It supports (or has supported)
>> shit-loads of platforms; I'm a game-engine dev for life, and I have a
>> fetish for portability, and niche platform support.
>> Needless to say, it has had a LOT of time and energy put into it, and
>> I would say it's infrastructurally better than most proprietary
>> commercial game-engines I've worked with (although there are some
>> missing features, I just implement what I need), mainly in that I have
>> the luxury to aggressively refactor when design decisions turned out
>> to be mistakes, and no deadlines to meet.
>> It is a very good example of what we use in real-world AAA gamedev.
>
>
> I would be very, very interested in this. I've been yearning for something
> in D that supports some lighter 3D with texturing, animated sprites, and
> lighting on both. Something flexible and light that can also have modules
> pulled independently for drawing and sound if possible. Unfortunately, DGame
> really only supports 2D, and Dash has all its weight behind being a
> full-featured 3D engine a la Unity/Unreal.
>
> Would Fuji fit the bill?

In terms of what I've used commercially, Fuji is the platform
abstraction and core concept implementation that lives below the layer
that the high-level interacts with. Editors and tooling (I feel this
is what you're talking about when you start using words like 'Unity'
or 'Unreal') typically impose particular design decisions wrt
scene-graph, physics implementations, etc. The goal of Fuji is not to
be Unity, it's intended to be the platform which you could build Unity
above, and all commercial engines I've had contact with do have such a
layer.

I'm not sure if that answers your question.
For what it's intended to be, Fuji is quite comprehensive. As a
full-game-engine a-la Unity/Unreal, it needs all the high-level stuff
built on top. The reason I didn't touch that, is because that layer is
extremely subjective, and there are no right/wrong answers there. I
also change my mind on that stuff every year or 2. Whereas the lower
level is a lot less subjective, and it's been more-or-less constant
since I started Fuji in 2003. I still wouldn't do it differently
today, although I have a lot more experience and console generations
to draw wisdom from.


More information about the Digitalmars-d mailing list