Hacker News new | comments | show | ask | jobs | submit login
Dcpu-lisp: a static Lisp that compiles to DCPU-16 (github.com)
71 points by jlongster 1695 days ago | hide | past | web | 17 comments | favorite



It is a little brother of GOAL/GOOL. Both are LISPs used in making real PS2 games. More on GOAL: http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp and GOOL: http://all-things-andy-gavin.com/2011/03/12/making-crash-ban...


I had forgotten about those! Thanks for the links. I'll research how they do things.


I've heard people deriding notch's coding style, skill, or flair, but the power of fame is really amazing and he has used it very well here. He has put the word out and there is significant adoption before the game is even close to being finished (I'm guessing). And similar to Minecraft, he has found a way to brilliantly leverage other people's creativity and use that to amplify the popularity of the system.


That’s what I have been thinking about as well. At first I thought that 0x10c will be a game for an extremely small niche, enough to not really be a failure (at least if you don’t compare it to Minecraft) but not enough to be a true success.

That is still very possible (I think it’s also possible that Notch doesn’t really have a well-thought out plan, that all this wasn’t planned and that he just did what he can do best, playing around with a game concept and having fun, all alone. I’m not arguing that’s a bad thing.) but the game has certain properties that could make it a success, even if it seems incredibly nerdy.

Only a handful people had to re-build the Enterprise in Minecraft and make a video of it. Only a handful people had to build ALUs and CPUs in Minecraft and make a video of them. Only a handful people had to design practical redstone and rail contraptions and make video tutorials. Only a handful people had to build tools, make texture packs and code mods. Only a handful people had to make adventure maps.

0x10c could be similar: Only a handful of people have to write software (and judging from the initial response, that handful will be quite the handful). And someone writes really cool software and shows it off in an YouTube video others who have no intention of ever really understanding the DCPU-16 nevertheless have a reason to check out the game and run that software.

There is obviously more to a game than that, but I do think that 0x10c has at least the potential to be quite popular even for those who don’t know how to write assembler.


Agreed - the big difference to the nerdier bits of minecraft here is that it seems, in comparison, absolutely trivial to copy complex concepts in 0x10c.

In minecraft, you might be able to load the map for yourself or, if you're already very knowledgeable, copy parts of it into your own map. But building your own x-bit-CPU in minecraft is a herculean task where even the block-by-block copying takes a lot of skill, while in 0x10c, you basically only need to know Ctrl+C, Ctrl+V.

I guess the biggest change will be when Notch introduces interface to those DCPU-16's. Because that's when you have to start adapting code to your own situation in the galaxy. Still, however, that will provide for a reasonably soft learning curve.

What will drive adoption and innovation is the competition of "I can do X" and "I want to do X" in the marketplace of ideas. It's very solid in minecraft, but if Notch sets the right incentives in 0x10c, I could see this getting a surprisingly broad userbase as well.


Alright this is getting ridiculous. First person to implement a real DCPU-16 on an FPGA wins 50 internet points.


More points for someone who wire-wraps a bunch of transistors.

EDIT: This is the one using discrete transistors (http://www.6502.org/users/dieter/mt15/mt15.htm)

(http://www.bigmessowires.com/bmow1/)

(http://web.cecs.pdx.edu/~harry/Relay/index.html)

(http://www.nablaman.com/relay/)

(http://www.northdownfarm.co.uk/rory/tim/)

etc etc

(And see other sites on the homebrew CPU web ring.)


Since there is already two implementations of it in verilog wouldn't it be a relatively simple matter of compiling and loading those unto an FPGA?

Also what is the exchange rate of internet points to HN/reddit karma these days?


I could even say that writing vhdl code for it would be very straightforward, maybe even more so than some of the stuff already made.


There's already a pipelined DCPU-16 Verilog implementation:

http://sybreon.github.com/dcpu16/


Awesome.


I should have known :)


So this is a Lisp subset compiler to DCPU-16 written in a lisp that compiles to javascript. Is javascript really becoming the IL now?


It is a very attractive intermediate layer because we can run everything in the browser.

I read "IL" as intermediate language, and I wouldn't say it's the IL here, the compiler just happened to be running as javascript.


"It is a very restricted subset of Lisp. There is no GC, and thus no data structures or run-time closures."

Ah, disappointment. :)


But it does have Macros. Being able to write a macro that changes the AST is pretty awesome. Definitely a LISP.


Cool!




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: