Hacker News new | ask | show | jobs
by feoren 749 days ago
> Also, remember that games are not very long-lived pieces of software. You build it, release it, maybe patch it, and move on.

This was true a couple decades ago. Nowadays many games are cash cows for decades. Path of Exile was released in 2013, Minecraft in 2011, and World of Warcraft in 2004, and all of those continue to receive regular updates (and have over the course of their lives) and still make plenty of money today. Dwarf Fortress has been in continual development since 2002! (Although probably not your ideal cash-flow model.)

Or you have the EA Sports model where you use the same "engine" and just re-skin some things and re-release the same game over and over. There has been a new "Football Manager" game every year since 2005 -- do you really think they throw out all their code and start over every year?

3 comments

I maintain that the majority of games are still disposable, despite the occasional subscription model or long-lived hit that pops up. Remember that most games aren't made by AAA studios.

Wasn't Minecraft completely rewritten from scratch in Java after a few years?

And the EA one, like you said, it's just model updates. Very few gameplay mechanics get more than a simple tweak. Just recompile with the new models. You don't need unit tests if the code never changes.

the original minecraft is in java, it's probably gone through a lot of code transformation. The version you're thinking of is the microsoft version, rewritten in c++
I thought the MS version was C#?
I think Minecraft was originally written in Java and rewritten in a good programming language (i.e. not Java).
Whether or not one thinks C++ is a "good" language, I always thought that (original) Minecraft busted the myth that blockbuster games had to be written in C++.
Being written in Java was probably instrumental in enabling the huge modding community around Minecraft. Which in turn was probably in large part responsible for its success.
And more to the point for this thread, writing it in Java let Notch build and iterate extremely quickly. Minecraft originally came out of a 24 hour game writing competition in which most competitors were using C++, but Notch always used Java because coding speed was the most critical thing in that context.
It should have been written in C#, instead, the developers had to resort to silly optimization tricks that often never transpired.
You can add rigor to your decade-plus cash cow later, once it’s clear that you’ve hit the jackpot.
I wonder how many games have been released that could have been jackpots but weren't due to bugs and lack of rigor.

Tests also aren't just about rigor. They don't take years to pay dividends. The time you save just being able to develop and iterate without having to spin up the whole app and manually click through things to test them is huge. Not to mention the time saved hunting down regressions.

I still play games that came out a couple decades ago…
Let me guess... Super Metroid? Chrono Trigger? Final Fantasy VI? Ultima Underworld? Symphony of the Night?

There were a few decent games released in the '80s and '90s.

The fact that you put Ultima Underworld in the company of those masterpieces makes me think I should probably give that game a shot.

I only tried playing one Ultima game a long, long time ago, and I couldn't get into it. I'm guessing that one is a particularly good one, though.

Ultima Underworld is a bit different from the mainline Ultima games. Those are fairly regular RPGs (though I'd say that IV through VII are really good RPGs), but Ultima Underworld is more like an immersive sim. In fact it pretty much created the immersive sim genre. I personally kinda prefer UU2 over UU1, but they're both excellent.