Minecraft Creator's New Game Called 0x10c
silentbrad writes "As announced last month, Notch — creator of Minecraft — is working on a sandbox space game (no, not the Mars Effect April Fools joke, though it's similar). "The game [0x10c] is still extremely early in development, but like we did with Minecraft, we expect to release it early and let the players help me shape the game as it grows. The cost of the game is still undecided, but it's likely there will be a monthly fee for joining the Multiverse as we are going to emulate all computers and physics even when players aren't logged in. Single player won't have any recurring fees. ... The computer in the game is a fully functioning emulated 16 bit CPU that can be used to control your entire ship, or just to play games on while waiting for a large mining operation to finish. Full specifications of the CPU will be released shortly, so the more programatically advanced of you can get a head start.""
May appeal to some, but...
With the first link, the chain is forged.
Seriously? You think a site like /. doesn't have readers that might be interested in a game that contains
a VIRTUALIZED CPU THAT CAN BE FREELY PROGRAMMED?
What are you, some sort of reddit user?
Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
the built in 16 bit cpu description on the 0x10c website is very interesting.
course he mentions a monthly fee for this one, so it won't be a 1 timer like minecraft, but definitely something to keep eyes on. Just hope he FINISHES it, and doesn't do like Minecraft where he writes half of it, gets bored and quits to move on to some other project.
Bit-coin fortune, here I come.
there's already a lot done,
see reddit.com/r/dcpu16/ for the first reactions...
and the first questions on stackoverflow are already coming in - stackoverflow.com/questions/tagged/dcpu-16
Also? RTFA.
Here's the CPU:
http://0x10c.com/doc/dcpu-16.txt
Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
I'm sure notch is able to write terrible code in every language.
I'm surprised we haven't seem more of this already. I guess the success of WoW has really dumbed down the MMO scene. Back in the day I played around with writing a BBS door game like Trade Wars 2002, but the behavior of your deployed fighters could be scripted and they could perform actions while you were offline. 0x010c looks awesome. We need more games like this.
Uh, Mojang definitely is "indie". Indie does not mean small or low budget, it's short for independent, as in, independent of the major publishers. Mojang self publishes, hence they are "indie". One hit game does not make them a major publisher.
And the 16-bit CPU is programmed with...assembly? Jesus Christ, please tell me that's not the only way he plans on letting people utilize it...
If you don't like it, nut-up and write a C compiler!
How many games run the scripts on the server, even when you're not logged in?
Program Intellivision!
Took me a few minutes to figure out, but the title is actually 0x10^C, which is 16^12 in decimal, which is 281,474,976,712,644, which is the year the game is set. Clever!
Well, the simulated processor is 16 bit, but that just runs the code you write to control your ship and such, as I understand it. Read carefully: "The computer in the game is a fully functioning emulated 16 bit CPU that can be used to control your entire ship, or just to play games on while waiting for a large mining operation to finish."
That means as part of the game, the game provides you a computer to work with, and that computer is 16 bit. There's a whole game going on outside that computer.
Program Intellivision!
It's very similar to the basic models of the PDP-11. 64K of 16 bit words, two-address instructions, operands can be registers or memory. It should be possible to modify a PDP-11 C compiler to compile for the thing.
No indication of how I/O works, or if there are timers or interrupts. If you're supposed to control a spaceship with this, they're going to need those. PDP-11 I/O was done by putting devices on the same bus as memory, and storing into their device registers. But the spec here says that you have 64K words of memory; no portion of the address space is reserved for I/O. So they may use the unassigned opcodes for I/O.
If you don't like it, nut-up and write a C compiler!
There probably will be a few different compilers of different languages available by the time this game hits the shelves.
What I thought was the most interesting paragraph:
The possibilities of this CPU and generator are... Fascinating. For instance, users players (see, lines are already blurring) can exchange programs, so you can expect a lively scene of people exchanging programs. There's a nefarious side to this as well - Notch will not stop anyone from making viruses, so even computer security becomes an element of play. A virus could, for instance, disable a ship's weaponry or shields.
The onboard computer in your spaceship, in the game, is 16-bit.
I can only imagine how godawful this would be if written in Java. Minecraft was bad enough on that front. I don't want to know what an emulated CPU would do in a JVM...
You mean like redstone computers that ALREADY EXIST? There's plenty of turing-complete implementations. And notch wasn't even TRYING to do that with minecraft. So please eat your words, immediately.
You're just showing how ignorant you are about software languages.
GCS/MU/P d- s:- a-- C++++$ UL++ P+ L++ E+ W++ N o K- w--- O M+ V- PS+++ PE Y+ PGP t+ 5- X R++ tv+ b++ DI++ D++ G+ e++ h-
Sounds like a pretty excellent project for a compiler/assembly class at university, actually.
Yes, that is fairly interesting. I had noticed it also, and wondered how it might work.
It implies there will be some mechanism for the "computers" to exchange data and programs. (Since it looks like a bog standard von Neumann architecture, there's very little distinction.) For viruses to really take off, though, they need to exploit some vulnerability that's common to many programs. So, either these computers will have some baseline of common software that they come with, or there will be some widely popular 3rd party programs written by a handful of gamers, or some combination of the two. I imagine that third case is the most likely.
This has shades of Core Wars to it, actually. I wonder if that was an inspiration?
Program Intellivision!
Why the Java hate? I have the sneaking suspicion that half the people commenting have never used it, and instead rely on their experiences of web applets ten years ago and bloated software packages like Vuze.
Recent JVMs have come a long way and java code executes quite fast these days. Still not as fast as native c++ and friends, granted, but somewhere in the same ballpark. What you get in return is a higher lever language which takes care of annoying, time consuming details like managing memory and garbage collection so that you can actually focus on the stuff that matters, which would be game logic. Does anyone know a better solution for this? Some language that's easy to use yet powerful enough to do the job, and which runs on all systems with a modern JVM and OpenGL driver? Mono is still not quite complete. Python and Ruby are even worse than Java performance wise. Do you really want notch to write bad code in c++ or related languages?
Why do you even care? It's obvious that this indie game will not be like Crysis. It will not be a pixel pusher, and depending on the gameplay, it might not need that much performance.
A different point of amusement: The processor's capabilities and speed are roughly equivalent to the processor in the Intellivision. Most instructions are 1, 2 or 3 machine cycles long, but the processor apparently only runs at 100kHz. The Intellivision's CPU is 895kHz, but instructions take 6 to 14 cycles. The Intellivision is slightly faster, but lacks hardware divide/multiply and has less flexible addressing modes.
So, on the whole, it looks like "Intellivisions.... In..... SPACE!!!!!!!"
Program Intellivision!
1. That doesn't make any sense. By that definition, all major game studios would be independent.
2. Mojang is not a small time player anymore.
3. "Indie" definitely does indeed refer to small time self-owned business encompassing a very small group of people (I usually don't even use the word "studio" unless they actually have a physical studio). There is no other sensical definition.
4. I've been a part of an indie development shops. Mojang is not an indie development shop.
How long until there's a virus that starts crashing players' ships?
"We can categorically state we have not released man-eating badgers into the area." - UK military spokesman, July 2007
Forget gcc, I want to see it implemented in redstone.
Programming is WORK, and if he's putting it in, he can decide what language he wants to work in.
I'm not seeing where he was holding a gun to Notch's head and demanding he not make it in Java. He was simply saying that he wishes it wouldn't be made in Java (for one reason or another). Nothing wrong with criticism or opinions.
Just as he's free to post his opinion, you're free to do the same. "Wow! I love it!" isn't the only thing allowed to be posted, you know.
I'm kind of happy it's in Java. This means I'll actually be able to play it. He'll more than likely get a monthly subscription fee out of me, because of it.
"Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
Or you could make a program that works amazingly well at what it does, but with a backdoor to malfunction at a critical point (bonus points for doing so in a way that makes it difficult to detect the source, like cause a weapons control program to make the engine malfunction). Lots of malware spreads that way, and for good reason (it's easy: the user spreads it for you). More of a trojan than a virus specifically: unless there is some method of semi-automated communication between the ships, though, a true virus seems hard to do.
Unless the server architecture itself has some sort of vulnerability that allows you to circumvent the normal gameplay and install software that way. That would be... interesting, to say the least.
"None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
In the end this is all you're going to use your emulated CPU for - scripting events. And while people will argue until their throat hurts that scripting is so much more limited than a real CPU, please remember one crucial fact: this IS NOT a real CPU.
This is a simulated CPU crafted by the game designer, and any use you get out of this CPU will be limited by (1) the architecture/memory and (2) the I/O provided to interface with various aspects of the game.
Why not just use a scripting language with defined interfaces and put a limit on the maximum program length (to simulate the intended limitations of the 64k ram, etc)? There's no reason you can't design-in similar limitation to keep players on their toes. You will also entice an entirely new set of players into the game who can comprehend how a simple script works, but stare glass-eyed at you when you mention non-maskable interrupts or twos-complement arithmetic.
Besides, everyone knows that some community member(s) will release a high-level language and compiler (of questionable quality and support) as soon as the game is launched, so why bother making this pretty CPU emulator if few players will ever see? I say the creator should just save himself the trouble of player backlash about a crappy community-supported IDE that he can't fix, and just do it himself.
Man is the animal that laughs.
And occasionally whores for Karma.
http://www.edge-online.com/news/mojang-turns-publisher
Yeah, I had considered the trojan route also. I'm guessing there's enough people looking over others' programs that trojans won't last too long in the wild. But, I guess it just depends on how subtle the trojan is.
The difference between a backdoor and a coding error might only be found in the programmer's intent and not the code itself. For example, consider a buffer overflow that leads to arbitrary code execution: It's a coding error if the programmer didn't intend for that, but a backdoor if the programmer intended to exploit it later.
Program Intellivision!
I'm writing a really useful navigation package for players' ships.
How can I believe you when you tell me what I don't want to hear?
It's about an endian mixup so that instead of being frozen for 0000 0000 0000 0001 years, you were frozen for 0001 0000 0000 0000 years. That is,16^12, which is also 0x10^0xc.
ASCII stupid question, get a stupid ANSI
Um, no MInecraft does not run just fine. I find it funny that you mention redstone. Try using a fairly complex redstone mechanism. Maybe put a dozen lamps on it. Watch everything grind to a stuttering crawl...on an i7 2600k. The new chunk loading system often will load chunks in the distance, but you have to practically step into a nearby chunk for it to load, which seriously ruins actually being able to see the cool stuff people have built until you run face-first into it. The new lighting engine is much buggier than the old one, often not lighting areas that are plainly visible until you stand in them, and even then it may not. How this sort of thing even gets into the final product is beyond me. Why does Mojang get a pass when anyone else would be nailed to the wall for this crap? No real evidence? Are you kidding me?
The thing has 128KB of RAM, not 512 bits...
Mada mada dane.