0x10c becomes a community-developed game

0x10c

It’s official. [Notch], creator of Minecraft, has confirmed he’s shelved plans for 0x10c, the space-based block building and exploration MMO that features assembly programming as a core game component.

Over the last year or so since 0x10c was announced, a whole lot of programmers have picked up the in-game fictional CPU – the DCPU – by writing emulators and even emulating this CPU that only exists as a design document on an AVR. Needless to say, there are a lot of very skilled programmers that want this game to exist. Now, it seems, this community is forging ahead with this project without [Notch].

This is a truly massive undertaking by the community. Not only are the current plans to build an open world, procedurally generated, space-based MMO, it looks like these new developers will also be writing their own engine from scratch. If this were a commercial endeavour, it would require millions of dollars and many years to get to a rough alpha build, and the 0x10c community is doing this for free.

If you have experience in C++, OpenGL, and 3D game programming, the official signup thread is over on the 0x10c subreddit. Even if you’re not a programmer and only have experience in modeling, writing, your experience would be greatly appreciated.

Bootable emulator for the DCPU

[Notch], the guy behind Minecraft, is currently working on a new game called 0x10c. This game includes an in-game 16-bit computer called the DCPU that hearkens back to the 1980s microcomputers with really weird hardware architecture. [Benedek] thought it would be a great idea to turn his ThinkPad into a DCPU, so he wrote a bootable x86 emulator for the DCPU that is fully compliant with the current DCPU spec.

This bootable DCPU emulator comes from the fruitful workshop of [Benedek], the brains behind drawing fractals on the DCPU, emulating bit-flipping radiation, and even putting the Portal end credits inside [notch]’s 0x10c computer.

[Benedek] wrote this new in x86 assembly, allowing it to be booted without an OS from a USB flash drive on any old laptop. This allows for direct hardware communication for everything implemented for the DCPU so far.

If you’d like to run your bare-metal DCPU, [Benedek] made all the files avaiable. Since the entire emulator is only 1800 lines of x86 assembly, it’s possible to load this off a floppy disk; an ancient tech we’ll be seeing in [notch]’s new game.

Oh. One more thing. When we were introduced to 0x10c, we said we’ll be holding a contest for the best hardware implementation of the DCPU. We’re still waiting on some of the hardware specs to be released (hard drives and the MIDI-based serial interface), so we’ll probably be holding that when there is a playable alpha release. [Benedek]’s bootable emulator is a great start, though.

DCPU-16 running Pac-Man

If you’ve been trying to think of stuff you can do with the DCPU-16 this may inspire you to write a clone of  a classic game.

This version of Pac-Man was written using a sprite system with a 16 color pallette. It runs in an HTML-based emulator, so you can even monkey around with the assembly code to help you figure out how it works. But if you’re not into writing code that is this machine-close, you can just click the ‘run’ button and use your keyboard arrows to play through a level or two. You’ll notice there’s only one game board available so far and some things are still missing like that familiar waka-waka as he gobbles up the dots. Let us know if you mange to extend the features of this version.

In case you missed it, this emulator is running the DCPU-16 spec from Notch’s new game, 0x10c (. We have no idea how that’s going to shape up, but getting in on the game early will pay off it turns out to be as popular as Minecraft.

Getting 12 year olds to learn assembly programming

[notch], the mastermind behind Minecraft, is working on a new game. It’s called 0x10c (pronounced ‘trillek’, we think) and promises to teach an entire new generation the joys of assembly programming on a 1980s-era computer.

The setup for the game is nerdy/awesome enough to make [Douglas Adams] blush; a ‘deep sleep core’ was invented in 1988 that attached to the 16-bit computers of the day. This core was big endian, where the DCPU-16 (the computer in the game) was little endian. What was supposed to be a one-year hibernation turned into a 281 Trillion year coma, the Universe is dying, and everyone from 1988 is just waking up.

The game features a fully functional 16-bit CPU that controls every aspect of your spaceship. The specs for the DCPU-16 have been released and there are several emulators available.

Already, a few communities have been set up around the web to discuss how to program the DCPU-16: the official forum of 0x10c, the 0x10c subreddit, and another dedicated to programming the in-game computer. Already there’s a C-like language that compiles executables for the DCPU and a Game of Life implementation.

We know this isn’t a usual Hackaday post. Despite this, we’re fairly certain a good percentage of our readership will be programming a DCPU-16 in the next year. It just might be time to crack the books and learn how to build a compiler and OS. The dragon book (Compilers Principles, Techniques, and Tools, Aho, Sethi, Ullman, 1985) is very good, and [Andy Tanenbaum]’s Operating Systems Design and Implementation is how [Linus Torvalds] got his start.

One more thing: we’re going to be running a contest for the best physical implementation of the DCPU-16 in a few months. We’ll wait until the in-game hardware is nailed down, along with any peripherals [notch] plans to add. Right now the prizes are some HaD schwag, but that may change. Further info with updates pending, but you’re free to start working now.