

Pacman running on DCPU-16 - reitzensteinm
http://fingswotidun.com/dcpu16/pac.html

======
nezzor
While certainly very cool, this is unfortunately using an unofficial sprite
spec[1].

There's plenty of awesome things being done with the official specifications
though, like this minesweeper clone: <http://0x10co.de/lqnit> and this simple
raycaster: <http://0x10co.de/o3xss>

Vim is also in the process of being ported:
<https://github.com/DanielRapp/0xVim>

[1] <http://fingswotidun.com/dcpu16/sprites.txt>

~~~
archgoon
I think it'd actually be pretty cool if the actual game had multiple DCPU
versions in the universe. It would give it even more of 1980's computing feel.

Explore the planet, fight off hordes of zombies to obtain... a DCPU16 - REV C!

~~~
nezzor
It's not certain if there's going to be different DCPUs with different specs.
Notch has said[1] that there's definitely going to be versions with different
clock rates floating around in space or on abandoned spaceships.

[1]
[http://vps.thomascomputerindustries.com/logs/freenode/0x10c-...](http://vps.thomascomputerindustries.com/logs/freenode/0x10c-dev/2012-04-17)
(search for "[11:38:45]")

~~~
DanBC
> _[11:39:56] <_notch> fly in highly radiated areas, and random bits in ram
> will flip_

Everything I hear about this game makes me want it more and more.

------
jgrahamc
How utterly marvellous! The entire outpouring of exploration around DCPU-16 is
a wonderful example of the hacker-spirit "Here's a thing, what can you make it
do?"

~~~
andrewingram
Reminds me of my community of modders and mappers of the original Jedi Knight
game. The engine was out-of-date pretty soon after release, but it's only
within the last few years that the editing community has died down. People
found ways to create 16 bit textures (the game only came with 8bit colour-
mapped ones), how to implement bots in multiplayer, they hacked the binary to
remove hard-coded graphical limitations. All of this happened while there were
far more powerful engines like Quake 3 and Unreal available to play with.

Sometimes it's good to see just how far you can push an idea.

~~~
malkia
This reminds of Heroes of Might and Magic III WOG - The folks changed the
executable so much that future scripts were encoded as text, hidden in the
message-boxes showing information about the map to the player (they would pop
once in a while, if the game scripts says so).

I know how crazy (in good sense) are the modders - I had to help release the
mod tools for World at War and Black Ops (I work at Treyarch).

------
catilac
It's kind of insane that people are writing games in assembly for a CPU in a
game. I feel like 0x10c is going to be some sort of milestone in terms of
innovation.

Next up is the immersive technology.

~~~
RegEx
As someone who knows absolutely nothing about CPUs, is this CPU design _that_
good, or is it just the fact that Notch made it that's generated all this
hype?

~~~
dholowiski
No it's not a great CPU design at all, it has some big limitations.

~~~
sbarre
Can you expand on that? I'm genuinely curious (as an un-informed observer)

~~~
unoti
There is a good discussion of it here:
<http://fail0verflow.com/blog/2012/dcpu-16-review.html>

The key criticisms center around it being not a instruction set for compiling
C and other higher language code. The biggest reasons for that are:

1\. No ability to store based on the stack pointer (this is great for handling
local variables not in registers)

2\. No ability to deal with negative numbers

3\. No way to address single bytes, everything is full words only. This makes
many basic manipulations take many instructions

4\. Not very many registers, particularly in light of limitation 1

The 6809 and 6502 had far fewer registers, but didn't have any of the other
limitations listed above.

~~~
Tuna-Fish
As an aside, I find it entirely plausible that these restrictions are, if not
designed for, at least desired in the design.

As they make the work of a compiler harder, they promote coding in assembly to
get faster code. This, on the other hand, leads to lower code quality (as
avoiding gotchas and dealing with corner cases correctly is a lot easier even
in c than in assembly), which creates more "drama", which is good for
gameplay.

------
swah
Having good names for functions and variables makes even assembly readable.

Names: what a great idea.

~~~
sanderjd
I've been finding all of these programs _incredibly_ refreshing and easy to
read. Each instruction does exactly one strictly-defined thing before moving
to the next instruction - so simple!

It will be interesting to see if my level of refreshment remains intact as the
level of complexity inevitably explodes. Even this pacman game, which is the
most complex I've seen yet, is much simpler than whatever space ship or armada
management programs people will eventually start writing.

~~~
swah
Its funny because in retrospect anyone can see how this game should be a
success due to how folks were using Minecraft to build complex machines. And
yet it came from Notch again (ok, he has a massive fanbase which will probably
determine his success, but anyway...)

~~~
aiscott
I think having a massive fan base really just helps to speed up the launch of
something, and it doesn't determine success in the slightly longer term.

With a new and great product, you have an exponential growth curve. People
find it, think it is great and tell their friends and so on.

The only difference with having a fan base built up already is you get to
start further along the curve.

It's still the same curve though. And how great the product is determines the
shape of the curve, not the fan base.

In my opinion anyway, for whatever that may be worth.

------
cs702
This brings back distant memories for me: ages ago, just for fun, I wrote a
quick-and-dirty PacMan clone for the TRS-80 Color Computer, which was powered
by a lousy-by-present-standards Motorola 6809 processor.

I have to agree with some of the other comments here, 0x10c looks to be some
sort of milestone: a fully programmable, Turing-complete game!

~~~
Natsu
Minecraft is Turing-complete too. You just have to build your own CPU and
there's no way you're going to get 100 kHz out of it. Heck, so is Dwarf
Fortress. People _have_ built CPUs in both.

Personally, I say the difference is that Notch makes meta-games. That is, he
makes game worlds in which people create their own games.

~~~
cs702
You are absolutely right -- in the sense that even a dead-simple Turing
machine built inside one of those other games is Turing complete too.

0x10c feels like a milestone, though... I guess it's because the in-game CPU
this time around is usable on a human timescale. If in-game networking is ever
added to 0x10c, one could even imagine a _usable_ minecraft clone inside the
game. It feels different this time.

~~~
Natsu
Yes, I think it's an important milestone in terms of making that sort of
mechanic more available to everyone. Most people were building small, special
purpose circuits instead of general purpose devices, simply because it was
difficult and wasteful to build your own CPU... unless that was their goal in
the first place.

I agree that 0x10^c will likely be something special.

------
rweba
Darn, looks like this is not editable like the code at <http://0x10co.de>

I was looking forward to seeing if I could figure out how to cheat and give
myself infinite lives (I'm not very coordinated so that's the only I'll ever
win ;-))

~~~
fla
It is editable. Stop the emulator and enjoy.

------
silasb
Is this the new demoscene?

~~~
catilac
I think raspberry pi and 0x10c will both be a part of the new demoscene.

------
psquid
Is it just me, or do the ghosts seem to all be moving fairly randomly, rather
than following 4 different, but consistent, behaviours (like in the original
Pacman)?

~~~
SideburnsOfDoom
Yes, ghost movement is definitely different and easier - for one thing, they
don't chase pacman when they get close like they do in the original game.

------
ja27
As great as Raspberry Pi is, this is much more likely to get my kids and their
friends programming.

------
sp332
Note for people with narrow screens: if you scroll over to the right you can
run the code :)

------
jebblue
I think it's pretty awesome but I'm not going back to assembly. If Notch
implements a Java version (for the in game CPU) then I'll definitely buy and
play the new game.

------
mackyinc
I could only say one thing... Whoa!

