Notch, creator of the immensely popular and successful Minecraft, has announced his next game project. It’s a multiplayer and single player space simulator with all the usual stuff like resource mining, combat, exploration, and so on. However, a very unique aspect is that each player’s ship has a custom fully programmable 16bit CPU which uses a custom, hand-made instruction set. The possibilities are amazing.
Notch’s new game, called 0x10c, is incredibly ambitious, and will certainly appeal to programmers and regular gamers alike. The backstory alone is delightfully geeky – we’re in a parallel universe where the space race never ended. In 1988, a new deep sleep cell was developed which tapped into the popular 16bit computers of the time. That’s where things go wrong.
“Unfortunately, [the deep sleep cell] used big endian, whereas the DCPU-16 specifications called for little endian. This led to a severe bug in the included drivers, causing a requested sleep of 0x0000 0000 0000 0001 years to last for 0x0001 0000 0000 0000 years,” the backstory reads, “It’s now the year 281 474 976 712 644 AD, and the first lost people are starting to wake up to a universe on the brink of extinction, with all remote galaxies forever lost to red shift, star formation long since ended, and massive black holes dominating the galaxy.”
Notch is focussing on ‘hard’ science fiction, preferring to keep the science in the game as firmly grounded in theoretical reality as possible. Furthermore, expect derelict ships with loot, a working economy for both single player and multiplayer, space battles against other players and AI players, planet exploration, mining, and more.
As fascinating as that sounds, it’s not the real innovative feature here. The big thing is that each player’s ship is fitted with a custom-built virtual 16bit processor called the DCPU-16. Version 1.1 of the specification has already been released, offering insight into how to program for this custom virtual CPU.
This opens up a whole Pandora’s box of possibilities. For instance, you could program a game for this virtual CPU, so you can pass the time during a mining operation. The CPU can also be used to control all aspects of the ship, which is where another defining element comes into play: each ship is fitted with a generator which can only output a fixed wattage. This means that yes, you could outfit the ship with a cloacking device – but it will most likely suck so much power that you’ll have to turn off the engine, lights, and everything else to power it.
The possibilities of this CPU and generator are… Fascinating. For instance, users players (see, lines are already blurring) can exchange programs, so you can expect a lively scene of people exchanging programs. There’s a nefarious side to this as well – Notch will not stop anyone from making viruses, so even computer security becomes an element of play. A virus could, for instance, disable a ship’s weaponry or shields.
The game won’t be free, obviously. “The cost of the game is still undecided, but it’s likely there will be a monthly fee for joining the Multiverse as we are going to emulate all computers and physics even when players aren’t logged in,” 0x10c’s site explains, “Single player won’t have any recurring fees.”
As a huge Minecraft fan and science fiction geek, this new project has me very, very excited. All we need now is a pronunciation.
We need more than pronounciation, we need Eve Online type graphics!
I fear it’ll look like Minecraft, in space! Huge Lego blocks flying around ..
It sounds like a much more modern “tradewars” mixed with “crobots”. To be honest, graphics were never among the principal reasons to play with those.
I believe that your imagination should take care of the graphics aspect of the game….
Really? Why not just use text then to really get that imagination going.
I agree that graphics are not what makes the game, but it’s definitely an important factor in player immersion.
That’s why anytime soon everyone install a graphic package to get at least better textures.
Kochise
I believe that your imagination should take care of the computer aspect of a game….
http://0x10c.com/screenshots/
Love the Commodore look.
Edited 2012-04-07 07:38 UTC
One thing I don’t like about most spacefarers is that every man and his dog seems to have an FTL drive of some sort. I’d like it if FTL were something you unlocked mid-game, rather than something you started with. This would mean that most of your early-game stuff would involve playing around in the system you start in. If you wanted to travel to another system, you could use a hyper-space gate, or maybe dock with a larger FTL ferry to take you there. Once factions form (and they will) this will introduce an interesting aspect to the factional warfare, making control of the hyperspace points, and seizure of FTL ferries (for use as carriers in times of war) a necessity.
Another thing on my wishlist, right there next to a pony, is making the planets you land on people’s Minecraft worlds probably not the ones they’re playing on, but reproduced in the same way Spore does it, with a bit of extra code to make them finite and round, rather than infinite. That’ll never happen, of course, but a guy can dream.
Crossed my mind too, but it would pose massive problems with blocks very high up the world; if you make everything round, those blocks would have to be HUGE (stretched) – else you’d have to make the world itself positively huge.
Rendering is going to SUCK.
Then they could make it a cube, like a Borg cube if you watched star trek.
Another stumbling block would be the unlikelihood of it. Just how likely would it be that at the end of the universe’s life, all of the planets in the galaxy were lush, verdant green worlds with jungles and swamps and seas?
I still like my no-FTL idea though. It would mean an earlier release, I think, if we could have five or six densely populated stars to start with, and have people zooming around planets and their Lagrange points.
0x10c, “hex one oh see”.
As in, “heck, wanna see?”.
what about: two-sixty-eight.
Well, actually it’s 16^12; the “c” is in superscript, in the site logo.
Yeah, it’s definately 16^12. That’s how many years in the future it is (0x0001 0000 0000 0000, like the back story says).
So far I’m pronouncing it “hex one zero to the C”
This is pretty neat. The entire CPU spec fits in less than two screen fulls and is definately Turing-complete. I might just write my own assembler for it some time this Summer.
Edited 2012-04-05 01:42 UTC
Not to rob you of the fun (so feel free to go ahead anyways), but some guys have already hacked up some stuff:
http://board.flatassembler.net/topic.php?t=14135
“Zero hex ten cee” = Zero Extense
http://dictionary.reference.com/browse/Extense
Or “Zero Extancy”
http://dictionary.reference.com/browse/extancy?qsrc=2446
Sounds a bit… Culture-like
http://en.wikipedia.org/wiki/The_Culture
Looking over the CPU spec sheet, it looks like programming will be done in 16-bit assembly. Finally, a fun way to learn assembly programming!
In all seriousness, I’m really looking forward to this game, programming aspects and all.
Maybe it could boot Linux via simulated ARM in something less than 2 hours.
A 16 bit software ALU inside a game engine, emulating a 32 bit microprocessor? More like days than hours, I’m sure!
Boot from what, and how will you know if it booted at all?
A CPU without I/O is like a mathematician in a coma. 😉
I assume ships would have a computer console in them, in the game. a monochrome monitor and a gloriously clacky keyboard.
Well, when your ships blows up in a gorgeous explosion, you know you’ve got a kernel panic.
Maybe not what your were expecting, but that’s still *some* output 😀
All that with 65k of ram
I’m sure it could be expanded, with something like LIM-EMS, or DMA like the Commodore 64 cartridges used.
But why *16 bit*?
A nice and clean 32-bit MIPS like ISA would be much better..
And much, much more time consuming to create, as well as many more bugs to squash. I’m sure Notch would like to release this some time within the current decade.
Personally I would have been fine with an 8-bit machine, or even just a BASIC or Lua interpreter. Of course, that’s the inept programmer in me speaking. I know this 16-bit ALU will be a hit with the majority of the target audience.
Maybe a dev at OpenCores.org could develop a Verilog or VHDL core for it.
Why 16bit ? Maybe just for to restrict memory. The registers could be as well 32bit or 18bit wide.
But why not use an ISA already arround ? Maybe because only legal issues (I’d prefer 6502 ISA 🙂 ).
…Not a dime! ?
The in game programming aspect reminds me a little of “Federation Of Free Traders” on the Amiga. It had a implementation of basic you could access while docked at a space station, and it was quite powerful too for the time. You could even write a game in game. 🙂
Some small info here: <li><a href=”http://www.mobygames.com/game/foft-federation-of-free-traders“>…
cute name but it won’t work. they’ll pick something marketable or else
* From what I can gather 16 bit computers was actually typical for the space program at that time: http://www.cpushack.com/space-craft-cpu.html
* If it was 32 or 64 bit, his simulator would also have to deal with 32 or 64 bit address spaces and probably expectations of virtual memory etc.
* If the MMO version is supposed to keep simulating the computer, even when you are not logged in, the amount of memory available to the computer has to be relatively low. The current spec says 0x10000 words of ram, which is the obvious choice for a simple 16 bit architecture and no one have to deal with segment pointers.
* By making 16 bit the smallest addressable unit he can make unicode the default charset and avoid issues with international character sets, codepages and the like.
* 16 bit is also a perfect fit for a 565 rgb raytracer. I wonder if the computer has a vesa compatible graphics adapter? INT 10H.
I would be interested in how the IO thing is going to work.
It sounds like fun.
I KEEP THROWING MY MONEY AT THE SCREEN, AND NOTHING IS HAPPENING! I WANT THIS NOW!