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.
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... ;)
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.
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.
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!
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.
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.
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?
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...
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.
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.
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.
Weird that they didn't include the language link[1] that shows all the repo statistics for the language, like most watched, most forked, newly created, etc.
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.
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.
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.
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.
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?
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.
phren0logy|14 years ago
Thanks, github. You made my day.
dan00|14 years ago
gravitronic|14 years ago
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
TazeTSchnitzel|14 years ago
drawkbox|14 years ago
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
MiguelHudnandez|14 years ago
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
Viable?
DanBC|14 years ago
There's a market for minecraft servers, so anything's possible.
xsmasher|14 years ago
SoftwarePatent|14 years ago
aaronblohowiak|14 years ago
jazzychad|14 years ago
Twisol|14 years ago
minhajuddin|14 years ago
soupboy|14 years ago
unreal37|14 years ago
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
waffle_ss|14 years ago
[1]: https://github.com/languages/DCPU-16%20ASM
Natsu|14 years ago
newobj|14 years ago
phren0logy|14 years ago
codesuela|14 years ago
AbyCodes|14 years ago
iseyler|14 years ago
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
unknown|14 years ago
[deleted]
petercooper|14 years ago
neilparikh|14 years ago
rasur|14 years ago
waffle_ss|14 years ago
[1]: https://github.com/sybreon/dcpu16 [2]: https://github.com/filepang/dcpu16-verilog
tcas|14 years ago
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
cpeterso|14 years ago
Raphael|14 years ago
Porter_423|14 years ago
[deleted]