News for hackers. Stuff that matters.
Re:Pacman running on DCPU-16 by RegEx on Friday April 20, 2012 @10:14AM (#3867937)
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?
Re:Pacman running on DCPU-16 by Wilduck on Friday April 20, 2012 @11:04AM (#3868152)
What's (potentially) revolutionary about this game is the deep rooted support for emergent gameplay. A telltale sign of a great game is that players themselves, in exploring the game, find new and interesting things to amuse themselves. Minecraft is an obvious example, with hundreds (thousands?) of public servers dedicated to varied pursuits.

A different type of example could be EVE, where the rise and fall of corporations is gameplay not written in by the devs, but gameplay created by the players. Any game that has developed a professional gaming community could also be lumped into the category of having emergent gameplay, since there is an entirely new game mode (spectating) created by a community surrounding the game.

When I look at 0x10c, and know that I'm going to have complete control over a CPU in game, and this CPU will be the basis of my pursuits in the game, I know that there will be interesting things to be done. This is because there's such a strong focus on allowing players to create their own gameplay. No other game (that I know of) takes its players' creativity seriously enough to rest so much of the fun on their shoulders.

Having Notch to hype the game certainly helps, but helping to create this world is alone an exciting prospect.

Re:Pacman running on DCPU-16 by monatron on Friday April 20, 2012 @10:18AM (#3867953)
I think it has very little to do with the design of the CPU itself but rather the unprecedented introduction of a functional CPU being emulated and usable/programmable within a game itself.
Re:Pacman running on DCPU-16 by Lerc on Friday April 20, 2012 @05:05PM (#3869778)
The fact that it was Notch gave it visibility, but I think the following is more than just design or cult-of-personality.

Simplicity is extremely important. A lot of emulators appeared the same day that the spec was released. That not only needed people who wanted to implement the CPU, but also a spec that could be implemented in under a day.

There's a bit of Benevolent Dictator effect here as well. It's not that the system is the absolute best, but it's something that people can target for interoperability. Someone can write a compiler and someone else can write the emulator.

Re:Pacman running on DCPU-16 by dholowiski on Friday April 20, 2012 @10:18AM (#3867951)
No it's not a great CPU design at all, it has some big limitations.
Re:Pacman running on DCPU-16 by sbarre on Friday April 20, 2012 @11:11AM (#3868195)
Can you expand on that? I'm genuinely curious (as an un-informed observer)
Re:Pacman running on DCPU-16 by unoti on Friday April 20, 2012 @11:38AM (#3868340)
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.

Re:Pacman running on DCPU-16 by Tuna-Fish on Saturday April 21, 2012 @01:11AM (#3870963)
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.

Re:Pacman running on DCPU-16 by Someone on Friday April 20, 2012 @07:47PM (#3870287)
I don't think the 6502 had #1, or at least not in an easy way. Accessing, say, the second element from the top of the stack required you to copy the stack pointer to the ?X? register, then use that to index into the stack. That works, but is cumbersome.
Re:Pacman running on DCPU-16 by polyfractal on Saturday April 21, 2012 @09:49AM (#3871740)
Not having interrupts makes it interesting to multitask as well, since every program has to be made to explicitly multitask cooperatively.
Re:Pacman running on DCPU-16 by redthrowaway on Saturday April 21, 2012 @03:47AM (#3871255)
>No ability to deal with negative numbers

How is representing a number in 2's complement verboten?

Re:Pacman running on DCPU-16 by sbarre on Thursday April 26, 2012 @04:54PM (#3896079)
That was a great link to read. Thanks!
Re:Pacman running on DCPU-16 by clavalle on Friday April 20, 2012 @10:17AM (#3867949)
The CPU design is bare bones which is part of the fun.