Am Sun, 1 Nov 2015 11:33:21 +1000 schrieb Manu via Digitalmars-d <digitalmars-d@puremagic.com>:
> 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. Sounds like a great idea! I can certainly build the GDC toolchains*. But I guess the first thing you'll need if you want to use Dreamcast, NDS and other low memory systems is a @nogc druntime port? I had a look at this some time ago and there's some work to be done until we can build a druntime completely without GC. * or better: also provide build scripts. We now use docker.io containers to build the binary GDC toolchains. Building a toolchain with the latest GDC version is as simple as running one docker command: docker run -v ~/shared-dir/:/home/build/shared #results will be saved here -t jpf91/build-gdc /usr/bin/build-gdc build --toolchain=x86_64-w64-mingw32/gcc-5/x86_64-w64-mingw32 It should be easy enough to add support for console toolchain build scripts. Docs: http://build-gdc.readthedocs.org/en/latest/ Sources: https://github.com/D-Programming-GDC/build-gdc https://github.com/D-Programming-GDC/build-gdc-config https://github.com/D-Programming-GDC/build-gdc-docker