
Von Neumann Defense Force source code is now available - IceyEC
http://hannobraun.de/vndf/news/the-source-code-is-now-public/
======
pavel_lishin
Is anyone familiar enough with this game to write up a quick TLDR? I can tell
that it's an MMO in progress, and that it's space-based, and I'm guessing from
the name that you probably build autonomous self-replicating probes... but
that's as far as I got from skimming the newsletters.

~~~
hannobraun
Author here. You're right on most counts, except that you were supposed to
fight the Von Neumann probes, not build them.

The homepage on the project's website mentions some other things that were
goals: [http://hannobraun.de/vndf/home/](http://hannobraun.de/vndf/home/)

For anyone wanting more detailed information, the design docs may be a good
start (as baking already said in the sibling comment):
[https://github.com/hannobraun/vndf/blob/master/docs/game-
des...](https://github.com/hannobraun/vndf/blob/master/docs/game-design/start-
here.md)

The newsletter archive also has a lot of information, especially the early
newsletters:
[http://hannobraun.de/vndf/news/](http://hannobraun.de/vndf/news/)

------
bluetwo
OK author, since I see you are reading the comments here: Would you care to
add some info about what worked well and what you would do differently next
time?

~~~
hannobraun
Hmm, interesting question. Not sure how well I can answer, given that I
probably either internalized or forgot most of the lessons learned by now (I
worked on this for years and abandoned it almost a year ago), but I'll try.

Working on something I was passionate about and sticking with it for a long
time was definitely good. Even though it wasn't successful in the end, it was
way better than all those projects that I thought would be a "good idea", but
never finished because I didn't really care.

Rust is awesome. It was already awesome when I started using it for the
project in late 2013/early 2014 and it's way better now. It has become my go-
to language for everything.

Setting up a simple website with a newsletter signup form was a very good
decision. I wrote a short blurb on the home page (still there), put the signup
form right under it (no longer there), and de-emphasized all other content.
Even though I did near zero marketing, that approach got me to almost 40
subscribers. Not a lot, but apparently enough to get to the front page of
Hacker News. (To be clear, I did nothing to get this on Hacker News. One of
the subscribers must have posted this, and it went from there.)

The newsletter also attracted my only co-developer, even though I wasn't
looking for one at all. He was a huge help, and the main reason the project
wasn't abandoned half a year before that ended up happening anyway.

During the course of the project I changed direction a few times. Some of
those changes couldn't be avoided, but others could have. In the beginning I
thought that the technology not working out would be the biggest problem, so I
started out by putting the fundamentals (rendering, user input, networking
etc.) in place first, then build the game on top. The technology never was the
problem, however, the game design was (and all that networking code made it
harder to iterate on the game design).

If I were to do it again, I would start out much simpler. I probably would
build a simple single-player game to work out the basic building blocks first,
then extend that step by step towards the MMO that I always envisioned.
Ideally, this approach would have led to a series of small releases early on,
which could have had a lot of benefits.

It was pretty harmful to put most of my professional life on hold for this
project, as I ended up doing. I did enough consulting work on the side to
survive, but didn't put much effort or thought into the long-term viability of
my business. As a result, my business today isn't very viable :)

I think it would have been possible to choose a more synergistic approach, for
example by polishing and releasing parts of the backend technology along the
way, and trying to leverage that into well-paying consulting engagements. I'm
actually trying out a similar approach right now, although in the field of
embedded software.

That's basically all I can think of at the moment. I hope it's helpful.

~~~
bluetwo
Thanks and good luck on your future endeavors!!

------
Pixadus
The concept of the game is fascinating. Realism-based starship movement is a
concept that many modern games sorely lack in it's entirety.

A question for the developer; What status is the unfinished game presently in
relative to what you initially envisioned?

~~~
hannobraun
It's not very far along, unfortunately. While my vision stayed intact over the
course of the project, the specifics changed, and I've changed my approach a
few times. Every time that happened it basically reset the progress. I'd guess
it would take me a few months at most to get to the same state, if I had to
start from scratch. Someone with proper tools (like a game engine, which I
didn't use) could be much faster.

What's there right now are basic 2D graphics, a user interface based on an in-
game console (designed as a prototyping tool; we planned to replace it with a
proper UI), some buggy beginnings of a mouse-based interface, networking code
(client/server; the clients can see each other in the game), and some basic
physics.

When you connect to the game, you start in orbit above a planet and can use
the in-game console to execute commands that change your orbit. You can't
really do much else other than fly around. So there's not really any game play
or anything interesting to do, really.

If we had continued development from there, we could have started adding some
real game play pretty much right away, but to get the basics right would have
required a lot of iteration, and we would have been weighed down by all the
technical infrastructure that was already there. Plus, none of that technical
infrastructure was very polished, so it would have required a lot of updating
and rework along the way.

So yeah, still years of work ahead, I suppose.

------
iso-8859-1
The most interesting thing about this is, that it is written in Rust.

~~~
hannobraun
Author here. Couldn't agree more :)

This really caught me off guard. I didn't expect an unfinished game I
abandoned almost a year ago to generate this much attention.

------
lucio
I will be useful to know the reasons why it was abandoned

~~~
Kenji
Most projects are abandoned because the main developer (and often, the only
one) either gets bored with the project or has to focus on other, more
pressing, real life issues.

~~~
ahazred8ta
>real life

That's the big drafty room with the blue ceiling, amirite???

~~~
Kenji
Yeah, and in the center of your perspective, there's this fleshbag that
requires maintenance and downtime every day. Annoying stuff ;)

~~~
webmaven
It is worth noting the fidelity of the physics engine, the unsharded
"persistent open world" architecture, and the incredible resolution of the
graphics engine (effectively infinite even on generic hardware) are quite
astonishing.

That said, I fail to see why expending so much effort to make NPCs
indistinguishable from other players makes any sense in service of such
incredibly boring storylines, or why there is so much finicky grinding that
has to be done just to maintain a PC's rank, much less actually try to advance
before dying of old age. To add insult to injury, apparently you only get one
life, and once it's done, that's it (and they back this restriction with some
truly diabolical system fingerprinting that as far as I know no-one has been
able to spoof).

It's a really strange mix of technical tour-de-force (how the _heck_ did they
do that?) and utter banality (why the _heck_ would they do that?).

------
hga
_a multiplayer game that was in development for a number of years, but was
ultimately abandoned_

