I have this game engine...

Manu via Digitalmars-d digitalmars-d at puremagic.com
Sat Oct 31 18:33:21 PDT 2015


So, I just wanted to put this idea out there, and see what other
people make of it.

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.

It's written in C, obviously. It has comprehensive bindings for D,
which I'm pretty sure I'm the only one that's ever used, and I use it
in all my modern D projects.

Anyway. I'm spending less time on hobby game-dev these days, obviously
I'm not going to make the worlds next big game engine... Hobbyists
will just use Unity. I'm not quite sure what to do with it.

I have been thinking about full-scale porting to D, and it would serve
there is a massive-scale long-term codebase, with portability as it's
primary objective, and I don't know of another project quite like this
in the D ecosystem? Also, perhaps D gamedevs might be interested in an
all-D game engine they can use and hack on.

So, when I think on that, I consider what would be lost... and the
answer is; almost all platforms. But this is something that can be
addressed.

If people find this to be an interesting project, and I do take some
time to do this port, what I'd really love is to work together with
some of the niche platform support guys and use it to stress test
toolchains for various platforms. I'd also like help from guys like
Johannes to make regularly released builds of some console
cross-compilers available so that it can keep on building.
The CI of this project for those platforms would more-or-less verify
that the toolchains and druntime+friends are working.

It seems like a pretty big project, but I can't think of a better use
for this codebase right now.

Does this generally interest anyone? The thought of it makes me
nervous, but I also think this might be the most valuable thing I can
do with this code today.
Alternative would be to port to Rust ;)


More information about the Digitalmars-d mailing list