top | item 3822530

Take Over The Galaxy with GitHub (DCPU16 support)

255 points| rlm | 14 years ago |github.com

86 comments

order

phren0logy|14 years ago

I'm having a hard time articulating why I think this is so fantastic. It's great to see people attack a not-so-serious problem with such gusto. I love the passion behind taking things apart just to see how things work.

Thanks, github. You made my day.

dan00|14 years ago

The value of just playing around is underestimated. A lot of discoveries have been made by people just playing around.

gravitronic|14 years ago

Ok after seeing the assemblers/VM's last week I wasn't expecting to see much new this week.. then I saw this:

https://github.com/krasin/llvm-dcpu16/

C compiler support for dcpu16!

In a way this almost saddens me as by the time the game comes out it looks like the community will have javascript ported to the CPU and no one will actually have to program in assembler as per the original idea... ;)

secoif|14 years ago

Don't start worrying about the "purity" and "this was never intended". You don't specify a processor instruction set in the real world without expecting people to write higher level languages for it, so why expect people to write at such a low level in a GAME of all places? I am fairly certain everything is going exactly as planned. Notch has got this.

TazeTSchnitzel|14 years ago

It could run JavaScript, but this is a 16-bit processor we're talking about here, with minimal RAM. It's more likely we'll be using C and BASIC ;)

drawkbox|14 years ago

He who has the best systems will win, no matter the tools or platform. I love it.

I think it is great for teaching kids to program as well, or be excited about it. Notch is going to do what thousands of teachers can't do because he is using the power of gameplay to drive it.

rmc|14 years ago

It's a game. if you can make your code run faster, you'll probably get more magic pixels.

MiguelHudnandez|14 years ago

I want to see a networking protocol between ships so that fleets form in order to take advantage of multiple "cores."

So for example, you'd have the difference between a single-celled organism (standalone ship) versus a multi-celled organism (a fleet), with a fleet of ships delegating work to specific ships. So 10 ships run the "scout" programming in a perimeter, 5 act as resource gatherers, and a few others as transports within the protected space. Perhaps some act as brain cells which tell ships when to change roles.

All of this is happening even when no members of the fleet are actually playing.

This just boggles the mind with possibilities and I can't wait to start playing this game.

Furthermore, you have people trying to break into space protected by fleets by attacking networking protocols--in a game!

yolesaber|14 years ago

I had a dream the other night wherein there was a start-up that took custom code requests for 0x10c players on commission. Requests ranged from optimizing the ship's defense to autopilot and hyperspace jump controls.

Viable?

DanBC|14 years ago

For some definitions of viable. Perhaps taking the requests, and converting those into mechanical turk tasks would work. That'd allow the price to be low enough to be doable.

There's a market for minecraft servers, so anything's possible.

xsmasher|14 years ago

Due diligence is called for. Has this business model been successful in other games? Do you have some advantage over the throngs who will gladly do it for free / recognition?

SoftwarePatent|14 years ago

Absolutely. Maybe you can get acquired before the game is actually released! ;)

aaronblohowiak|14 years ago

small business, not startup

jazzychad|14 years ago

HN is funny. Last week as each new dcpu emulator implementation popped up, they got fewer and fewer votes and more comments like "oh great, yet another dcpu post. let's call this Dcpu News for crying out loud!" Then github adds syntax highlighting and gets 150+ points. I'm very curious why that is...

Twisol|14 years ago

The emulators got less votes because it was more of the same exact thing ("someone implemented DCPU-16"). This is news because a big name has taken notice of DCPU-16, going so far as to officially support it. It's a different flavor.

minhajuddin|14 years ago

My sentiments exactly, I don't believe that Github adding syntax highlighting of a language is "hacker news". They are supposed to have syntax highlighting for most of the languages. Maybe on HN people are discussing DCPU, but if you look at the comments on Github, they are all "awesome", "+1", really? for adding a syntax highlighting for one more language.

soupboy|14 years ago

Looking at all the amazing work done regarding the DCPU and the article yesterday on Instagram's technology stack made me realize just how far we've advanced. With the tools that we have available now, it is possible to do things in a few days that it took people years if not decades to achieve.

unreal37|14 years ago

"it is now possible to do things in a few days that took people ... decades to achieve".

Let's not get too excited here. Name one thing that can be done in days that used to take decades.

rmc|14 years ago

The Singularity is near.

Natsu|14 years ago

Notch tweeted the other day that he was thinking about DCPUs coming with some fan-made open source OS... as soon as someone writes one. This should be interesting.

newobj|14 years ago

I wonder if Notch is regretting releasing these details so soon. Now he's already going to be a slave to backwards compatibility and the game is about 0.1% complete.

phren0logy|14 years ago

Seeing that everyone is doing this just for fun, I doubt it. He could change everything tomorrow and I bet people would be excited to do it all over again.

codesuela|14 years ago

now let's just wait for the first O'reilly book on DCPU16 programming

AbyCodes|14 years ago

no starch press most likely :D

iseyler|14 years ago

While its great the GitHub added support for this how about x86-64?

https://github.com/ReturnInfinity/BareMetal-OS/blob/master/o...

The 64-bit register names are still not handled correctly. It does properly color the 8, 16, and 32-bit register names.

roryokane|14 years ago

GitHub uses the open-source Pygments (http://pygments.org/) to highlight source code. If you can find the code for whatever ASM highlighter Pygments uses, you could probably fix it yourself. Though I tried searching for it and didn't find it after a while, so it would take some tracking down.

petercooper|14 years ago

Now all we need is a DCPU16 to x86 translator and we have a whole new stack of dev tools ;-)

neilparikh|14 years ago

I'm a beginner programmer with a little of bit of programming experience, and this idea of programming a game through assembly interests me, but I'm not familiar with assembly. How should I go about learning DCPU16?

rasur|14 years ago

So, who's going to be first with a hardware implementation of the DCPU16? :)

tcas|14 years ago

I'm working on a multicycle implementation that I will be able to push to a FPGA. There's no way I'll be able to get the same cycle timing as the specs indicate however. 3 cycles for a divide is very, very generous for such a simple CPU, I'll probably either end up implementing a shift and subtract algorithm (will take more than 3 cycles), or using huge look up tables (probably too big fit in a single blockRAM as well...) to try and achieve it. On the other hand, SHR and SHL are trivial to do in hardware via a barrel shifter, but he assigned 2 cycles for them.

The [next word + register] instruction is also a bit annoying to deal with in the given time tables and a simple register file design, though I haven't thought about the design of that too much.

clavalle|14 years ago

hackaday.com currently has a contest running to answer that very question.

cpeterso|14 years ago

What does the D in DCPU stand for? Notch's DCPU16 spec does not say.