Hacker News new | past | comments | ask | show | jobs | submit login
Notch's next game is an MMO (0x10c.com)
532 points by primesuspect on April 3, 2012 | hide | past | favorite | 245 comments



I was a developer for the ill-fated Perpetual Entertainment's Star Trek Online MMO (which was later sold and successfully launched by Cryptic Studios).

Star Trek Online's #1 most common feature request from beta testers was "ship interiors." Players didn't want to play "WoW in Spaaaace" game. They wanted to play "The Sims meet Star Trek" and relive their favorite Star Trek TV episodes. That sounds like a pretty cool game (for a small, but dedicated niche), but Perpetual's game designers scoffed and (having worked at Blizzard) proceeded to create "WoW in Space."


This is the one thing stopping me from reaching 100% rabid-fanboy-mode about this news. We already have Quake in Space, WoW in Space, and Spreadsheets in Space: I hope this doesn't turn out to be "Assembly Programming in Space". This quote gave me hope:

> A cloaking field, for example, might require almost all the power from the generator, forcing you to turn off all computers and dim all lights in order to successfully cloak.

I'm hoping that "dim lights" means actually dimming the lights inside and being less able to see, and that the fact it's mentioned is a sign that this is their intended direction. I really hope Notch nails this. Give me a chilled-out space MMO that lets me have a friend ride shotgun and take over the controls to check out the awesome spaceship I just bought and then help fight off some attackers Millenium Falcon style. Please.


> I'm hoping that "dim lights" means actually dimming the lights inside and being less able to see

What if "dim all lights" means that the player must dim the lights in their actual, real-world room and the game will use a webcam to sense that the lights have been adequately dimmed?! :)


A hundred HCI researchers are now excitedly writing NSF grant proposals and getting in touch with their PIs.


While thousands of gamers stock up on small blankets to drape over their web cams :)


I was under the impression that a typical gamer never switches the lights ON?


Screen = Sun If you own more than one screen your room is a Solarsystem with multiple Stars


Sounds like Notch has played some Star Fleet Battles, where Cloaking does indeed take almost all your power.

In fact the best thing about SFB was how power was a limited but very flexible resource -- should I go faster, overload weapons, reinforce shields, power special maneuvers, tractors, repairs, etc. I can see how you could build a great MMO around this.


I completely agree, except I would extend this to say that all genres beyond space games should consider more "in ship/plane/building" type of interaction.

For example, I've long wanted a submarine and/or battleship simulation that would provide a true feeling of being part of a huge ship, with players assuming various roles as necessary. Add a MMO element and it'd be just amazing.


Problem is, most things on a sub (et al) are boring. Clean this, cook that, monitor this, listen to that. You would have to constantly be under attack with only brief respite to repair your ship. Listening to whales, cooking with lard, and mopping the floors wouldn't make a compellin... actually, people pay to do menial tasks in MMOs all the time right now. How many chefs were there in Runescape, or dedicated crafters in WoW?

You might be on to something.


Exactly! I think in a weird way the mundane elements of the game could even be fun, provided there was a strong MMO backbone to it with guilds, clubs, etc...


After reading Niven and Pournelle's 'Mote in God's Eye' I thought a simulation of the MacArthur (a space-going battle cruiser) would make for a keen game. Captain types 'prepare the ship for spin, 1/4 g', screens flash, animated guys all over the ship jump into action. Twenty minutes later the ship is spinning, providing 1/4 g on the outside decks.

I have odd notions of 'exciting' I guess.

Adding the MMO element ... a warship depends on top-down control. The captain gives orders, and a lot of which involve turning valves, pushing buttons, watching screens. Hours pass ...

Okay - make the job exciting so players stick around. So when the captain says 'fire torpedo' there is a player there to load it up.

Sure it can be done, but how? A small fortune to the fellow who figures it out, I guess.


Puzzle Pirates made jobs on the boat interesting - granted it was far from realistic. Each job was just a different puzzle game, and depending on the efficiency of the player at their "job", the better it would be for the voyage.

http://yppedia.puzzlepirates.com/Puzzle#Duty_Puzzles

Would this work in an environment that was attempting to be more realistic - probably not - but I am sure a similar dynamic could be used to make a task interesting. This is after all intended to be on star-ships well in the future.


Out of curiosity what is classified as "Quake in Space" and "WoW in Space" ?


Vendetta Online and Star Trek Online.

I've played VO on and off a few times now. The combat and physics are really excellent, and the backstory and aesthetic are captivating as hell, but it falls short of that escapist 'real place' feeling for me because if it were real you would be playing some sort of slave-pilot lashed permanently to the controls of their spaceship.


Ah yes, Vendetta Online was an absolutely brilliant game. I wasted way too much time back in the day blowing up traders in Sedina B8. I might have to check it out again sometime soon, I'm under the impression it's still being actively developed isn't it?


It's still going. B8 is less populated around 10am GMT (Aussie evening) than it used to be, though.


Quake in Space is maybe Shattered Horizon? "WoW in Space" is either Star Trek Online or Star Wars the Old Republic.


Shattered Horizon isn't nearly as fast moving as Quake. It's more BF2142 In Space than Quake In Space.


That would be pretty awesome. To have different sizes of ships that require different amounts of crew members.

To have a big ship, you'll need lots of friends to perform all the jobs, and you can take shifts in flying the ship (or set it to autopilot) or cleaning the space showers.


I hope its not only possible to acutally explore the ships but to integrate the virtual CPU to the controls and environment. Like guns, stearing, doors...

The virtual CPU could then be used to control the ship guns. A better software would mean more accurate hits or perhaps improve the power / force / firing rate ratio by adjusting it automatically. People could even create their own auto pilots.


That remembers me of the SW:TOR games, where doing stuff inside your ship had a really cool and inmersive feeling.


I know this was a week ago, but I had this saved for later and just got around to reading it. It seems that you will be getting what you want.

One of the screenshots off the website is this: http://0x10c.com/screenshots/006.png


Are there any games currently in existence that would allow someone to fly a ship ala space sim and also move around in their ship interior?

An RPG'ish space game that just let me tool around as if it was Han Solo inside the Millennium Falcon, exploring the universe would be really sweet. Doubly so if it let me and a buddy fly inside a tangible cockpit.

I'd love to know if such a game currently exists.


EVE is close- it's a fly-your-spaceship MMO and you get to move around the inside of space stations


Though http://wiki.eveonline.com/en/wiki/Walking_in_stations was roundly criticized for soaking up so much effort yet going out in such an incomplete state (you literally can't leave your quarters and see another player yet). Me, I just hope http://en.wikipedia.org/wiki/Dust_514 (the ground battle spinoff) doesn't remain limited to console gamers.


I have a 50m SP character in Eve Online, I'm desperate for something that has real cockpit interaction and exploration.

The station avatar stuff ended up being boring garbage with no real substance. It got multiple people fired at CCP.


Noctis does: http://en.wikipedia.org/wiki/Noctis

However, it's a bit... idiosyncratic?


I once had the opportunity to consider licensing Star Trek to do a game around.

Figuring I couldn't possibly do anything but fuck it up, I passed.


Perpetual Entertainment somehow acquired an exclusive Star Trek MMO license for (just?) $22M. Curiously, the company then backburnered the Star Trek game and proceeded to build Gods & Heroes, an unrelated game that was the president's pet project.

The thinking, I was told, was that Gods & Heroes's subscription revenue would fund Star Trek Online's development. Gods & Heroes's development was funded by investors who thought they were getting a Star Trek MMO.


Since you already brought it up and probably piqued the curiosity of more than one reader (including mine), could you elaborate?


There really isn't any more detail; it was a brief conversation.


This is the core problem with MMO design in general. Everyone basically wants to make WoW (or EQ, or Diku MUD...) reskinned (or not) when there are a variety of other game designs that might not be billion dollar games, but could be very strong niches. A real Star Trek MMO (not WoW in space, or EVE even) is one of those niches.


This really sounds like a game for hardcore programmers (16-bit emulation, "assembly in space" as h2s called it.) Minecraft is far more accessible: will this really gain nearly as much traction?


I feel like this will be a game where those of us that know assembly will end up writing our weird assembly programs for playing text based adventures or spinning our ships in spirals or whatever, whereas everything that is actually necessary will (hopefully) be able to be bought/created in game.

Also, there's probably going to be a lot of community sharing of ideas and programs (just like there is with Minecraft) so non-programmers will be able to steal code from other people if they really want something.

Obviously I have no idea, but he says "_can_ be used to control your entire ship" not "must be programmed to do anything."


Will be fun once someone makes a slaver/infector virus.


This is kinda difficult - even if you manage to infect (via some kind of program trade, possibly), you probably won't have a way of directly interacting with the infected computer, so you would have to send instructions using the infected ships sensors... By moving your ship in his vision range for example, and decoding the movement with the virus for the instructions. That could take forever for any kind of direct control.


Heh, that's interesting, but I think the simpler vector will be the more common one - Think like a griefer, if you will.

People will just infect useful scripts and let consumers copy/distribute them.

Thats it.

I know griefers - and they will find a way to abuse the crap out of this.

Honestly I'm not saying anything, but this entire mmo idea is just plain bad. If anyone other than notch had come up with it, it would have been shot down at t(-1).


Yeah I see it as a "Well you got a bunch of gyros last pit stop. Pity they don't all link up to your guidance stuff" so you write a program to grab data from your gyros and headings from your heading input. You could still fly just fine using the default stuff but if you want say...constant attitude adjustment or the ability to have your ship not pick up unwanted spin you're going to have to deal with that yourself or trade with somebody who has already dealt with it.

Looks fun, I want to make a program that does orbit translations and stuff for you with minimum delta-v.


Would be fun to have a market for functions (literally programming functions)

Let the original author keep the insides secret, maybe the protection decays over time (say a year)

Sounds a lot like copyright but sensible and the false constraint is only to make the game fun : P


it will probably work something like electrical engineering you can do in minecraft: you never need to do it at all for the game to be fun, but if you want, you can steal a plan for an automated monster-trap from youtube, spend a few hours figuring out a simple one yourself, or go crazy and spend two years building a working cpu.


Did you ever play XCom? I want an MMO version of that.


Absolutely.

When you can build your own ships in this game with a changing interior i am sold. We are talking about the creator of Minecraft here, maybe he is the one who really get's this freedom stuff.


A four paragraph website outlining the vision coupled with a simple way for customers to engage directly with the CEO of the company.

Notch understands "Minimum Viable Product"


I don't disagree. But it is important to note that the minimum viable product for the creator of minecraft is significantly different from the minimum viable product for random internet denizen x. You are guaranteed a certain amount of customer engagement when your pre-existing customers have already begging for years to hear about your next product.


"Hello, I'm Gabe Newell,

I would like to introduce you to our new game, titled "Fill in The Blank". You run around, maybe as part of a group of some sort. Maybe rescue some hostages, scout and snipe terrorists every now and then and maybe stab a chicken or two. Physic, shaders and purple monkey dishwasher; I'm surprised you got this far before signing up for our email notification subscription."

Yes, some personalities have plenty of currency to spend amongst their fan base.


You forgot micropayments for hats.


He forgot hats, to start with.

He also counted some things up to 3, a numeral (and index) which does not exist in the ValveVerse.


I know this is pedantry, but lets remember that Gooseman and Jess Cliffe were responsible for Counter-Strike's initial development, not Gabe Newell.


Where's the link to the Kickstarter page so I can contribute?

Only 1/2 :-)


I think he proved that with minecraft. I'd pay for 0x10c right now.


I found it strangely compelling - I don't even play Minecraft and I felt like playing.


Should there be a button so he could have some feedback?


No, there shouldn't :) Nothing worse than game design by committee.


>Nothing worse than game design by committee.

Notch clearly disagrees: "The game 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."


Design by committee ("the players say they really want X, let's include X") is not the same thing as design with consideration of feedback ("the players really liked X_0, let's build X_1, and deemphasize Y because it didn't turn out fun").


The fact that you're looking at the site is all the feedback he needs.

It's interesting the first iteration of the site was actually on April fools day, a good way to withdraw the idea if it sucked (no withdrawal needed ; ) ). I'm guessing but I wonder if there are more sites out there with slight variations on the idea to determine which one gets the most exitement and spreads the fastest


What about the twitter feed on the right?


Technology of note: "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. [...] 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."


This could quite possibly be the nerdiest game ever made. The amazing level of boffin creativity we've seen in Minecraft could easily be eclipsed by giving everyone their own in-game programmable computers to tinker with.

I can't wait.


Just so you're aware, there are now programmable computers in Minecraft courtesy of this plugin:

http://computercraft.info/wiki/index.php?title=Main_Page


I've followed his comments on Twitter. Apparently he considered doing a clone of a real CPU (6502), but it was too complicated to emulate efficiently. According to notch, the custom architecture he's inventing can run 2,000 DCPU's at 100kHz each and only use 50% of the time on a real CPU. Here's the first public spec from a few days ago, I think it's changed a bit since then http://notch.tumblr.com/post/20056289891/start-classified-tr...


He could just interprete code on clients :)

You have N players == N computers to simulate. Assign randomly 5 computers to each player to emulate. Choose the result that majority of clients return and optionally punish cheaters.

EDIT: apparently simulation will go on even when players log out, so each connected client may need to simulate 100 in-game computers to account for that. Still less resource intensive than running everything on the server. But Notch thought about that much longer and surely have great reasons for his architecture.


Letting the clients handle the simulation would have a lot of problems for a MMO. Extra problems if you were doing the work for other players as well.

I think part of the point of it being a special emulated CPU set at a certain speed is to make it fair for each player, rather than the player having more processing power just because they have a better computer.

The easiest way to secure all that is to run it on the server. Anything going to the client or trusted coming from the client eventually gets hacked if there's much interest in doing so.


You could make the client run other player's CPUs, perhaps ones from accounts on a different server. If it's not someone you know or are playing with, then there's less incentive to cheat. You could even pass the same work to multiple clients and flag those that are tampering with the results.

Not sure how that would affect the lag, though.


Backstory is cool too and coincidentally appropriate for parent's username: "released, compatible with all popular 16 bit computers. Unfortunately, it used big endian, whereas the DCPU-16 specifications called for little endian. This led to a severe bug in the included drivers, causing a requested sleep of 0x0000 0000 0000 0001 years to last for 0x0001 0000 0000 0000 years."


space cowboys & endianness.


Yee-haw!


He tweeted this picture while debugging the CPU a couple weeks ago:

http://i.imgur.com/DhmFp.png

Sounds like fun.


I look forward to new languages which only compile to this cpu.


I look forward to someone building this CPU in Minecraft.


Or cross-compiling Minecraft to run on the virtual CPU.


I guarantee both will happen within a week of the game's release.


That looks like 6502! - see http://www.6502.org/tutorials/6502opcodes.html

If he sticks with that, there are good few cross dev. tools. (even C ISTR)


It started out as a 6502 (https://twitter.com/#!/notch/status/184910008037818369), so I'm sure they're quite similar.


This screenshot is from way before his comment above, so it was indeed 6502 at that time. See also:

https://twitter.com/#!/notch/status/183222415428554754


I really hope that code is auto-generated. Because that coding style is ATROCIOUS.


That looks like pretty much every small virtual machine I can remember reading. There's nothing atrocious about it; that's what small virtual machines look like.


With a couple of simple macros, the code could be fraction of its size and much more readable. Code with that property is atrocious in my mind. For example these "argument reading" bits are repeated over and over again:

ram[PC++0xfff]&0xff

((ram[PC++0xfff]&0xff)|((ram[PC++0xfff]&0xff)<<8))

Of course Notch said it has been generated, so he probably had a neat definition that barfed this garbage out. But it's strange that so many commentators here are defending the output as a reasonable coding style for a VM!



Why?

It's just a big switch/case over the instruction set by the looks of it. Those things can get pretty damn large if your are implementing anything close to a proper CPU.

It's just very condensed, I imagine so he can change a bunch of values and re-test quickly.


It's not quite as bad as it would be in a program other than an emulator, granted, but I can't imagine that it's easy to notice a bug in a 200-character line of:

    int pos=(ram[PC++&0xffff]+X)&0xff; byte v=ram[(ram[pos]&0xff)|
And so on. It just seems like some sort of code generation would be much easier.


That kind of code generation is unlikely to exist. Each line of that code has its own specific purpose, it's not some copy pasta. And surprisingly, it should be trivial to test it! there are no conditions of edge cases apart from the conditional instructions. As long as you test for ranges and off by ones, there's no space for mistakes really. I'd take that kind of code over usual "business logic" any time :-)


Nonsense! Look at the code again. There are a lot of repeated motifs, like the things that fetch from memory and increment the program counter. It cries out to be partially automated. If nothing else, there has got to be a more human-readable equivalent to all that bit-masking and offset-adding.

Code generation doesn't need to be heavyweight.


Even some one-line functions or macros would make that code much more compact and readable.


Off by one errors, maybe we'll even bring back the golden age of buffer overflow exploits, emergent realistic hacking gameplay mechanics, Notch you're a genius...


Part of the battle system could be causing segfaults in rival ship computers.


You cannot really do code-generation when all the lines have meaningful differences. What you saw was very likely the most compact representation of the VM -- any other form would likely be just as bad.


This is true, but it should be easy enough to make a script that can pack/unpack the code as needed.

Most likely when you have a bug in something like this it will be isolated to one specific instruction. So you can just zoom in on the bit you need.

If you followed the standard Java practice for this you would probably have an Instruction class that inherited from several base classes and that would make your project very large and difficult to navigate indeed.


Looks like standard emulator coding to me. Op-codes and state changes.


Very cool. Haven't ever delved into this kind of code. Got any pointers/tips for me? :)


I would suggest you attempt to solve the "Cult of the Bound Variable" programming problem[0]. The first stage of the problem requires you to write an emulator for an "ancient" computer that has a very easy to follow instruction set.

[0]: http://www.boundvariable.org/task.shtml


Well, seeing as how it's 16-bit:

0x0000

0x0001

0x0002

...

That help?


it's just a bunch of (virtual) CPU state changes, really easy to read if you've ever simulated a CPU before. Take the INY instruction for example. it does: increment Y register, set the Z(ero) flag/bit to whether Y is now equal to zero, set the N(egative) flat/bit to whether Y is now less than zero.

Or BNE (branch not equal): if the last instruction (hopefully a compare) set the Z(ero) flag, jump ahead t instructions. otherwise don't do anything.

Maybe notch has asserted that if he can't fit what an instruction does in ~60 characters, that instruction is doing too much


"...if the last instruction..."

I know this sounds like nitpicking, but that mistake right there has caused many a 6502 emulators to produce erroneous results. The 6502 core's status register is resident and the flags in it are changed only when an op-code directly does so; it never "resets" arbitrarily, so proper conditionals that act on a specific status flag can actually occur far and wide between the op-code that actually affected that one specific flag.


I don't know if the behavior you describe is commonplace on other cpus, but it seems quite reasonable, if only because it greatly reduces the complexity of the emulator because not every instruction has to touch every status register. What would JMP set the Z(ero) or N(egative) status bits to anyway?

I've only briefly glanced through the dcpu-16 spec, but it doesn't seem to explicitly call Z or N by the names I've imputed, I think they're just regular registers that get used for a certain purpose sometimes.

"this _sounds_ like nitpicking"

when emulating a cpu, there's nothing but nits. pick away :)


There appears to be a 'CpuBuilder.java' on a tab a bit further along, so that code may be generated.


No, It's Java.

CPUBuilder is most likely a class with a single method:

buildCPU()

{

   return new CPU();

}


Then there's probably an AbstractCPUBuilderFactory to go along with it.


Looks like from that screenshot the project was originally called "SpacePuter" ...


This essentially embraces "macroing" as part of the game. Something every MMO out there has tried to fight and usually ends up losing. Makes me wonder if he will provide a way for players to sell the programs they make for in-game resources.

This aspect alone is enough to excite me, can't way to play it!


I wonder how far this concept will be extended. Will there be a full OS running on the in-game CPU, with I/O protocols to interface with the ship's systems? Will you be able to cripple your enemies' ships by writing malware, a la Independence Day?

Taken to its fullest extent, this seems like not just a game, but also a simulated world in which one can learn and practice actual engineering skills.


I wouldn't be surprised if an impromptu communication protocol (based on assigning meanings to things other ships can observe you doing) sprung up pretty quickly to allow networking. At the point that ships can communicate, it's bound to come down to needing to do it with securely-written code, or risk ship-to-ship malware.

Should be really fun to see where this goes.


You'd still need to develop "hardware" for the input side of that protocol, though. Unless the ship's sensors already can be programmed to detect what other ships' systems are doing.


Sounds like a Core War MMO. :)


Perhaps we get a second-life that doesn't suck after all.

If there's a living designer who could pull it off then my money would be on notch.


Will he fight the conversion of ingame currency to real-world currency, or will he take the Second Life route? So exciting!


Programmable 16-bit CPUs? Sounds like work disguised as gaming!


EVE Online has been affectionately called "Spreadsheets in Spaaaace!"


More like a massively multiplayer programming competition. I'm doomed.


Aren't all MMOs like that?


Yes, but most MMOs simulate minimum wage busywork this one involves some actual skill/thinking.


So true, I played WoW for about a month when it came out then I thought: "Didn't I get into to programming because I didn't want to work at UPS delivering packages?"

It should have been called World of Errands.


It's better since Cataclysm, the errands are more directly, visually, and emotionally tied to saving the world (of Warcraft.)

Anyone who once thought they liked the game's single player questing aspects should spend a week with a free scroll of ressurection and experience what the game has become, because it's really awesome and fun.


Sounds like a game you can disguise as work!


and .. "Full specifications of the CPU will be released shortly, so the more programatically advanced of you can get a head start."



Now just have to wait for the llvm and gcc support :)


Someone will inevitable try to get the JVM running on it, and then run minecraft on it.


Then run an emulation of the CPU inside minecraft, and crash the server.


notchception


I hope this will be like EVE Online but actually fun.

When I played EVE, I always thought that a programmable ship would be fun. Although there is a risk that programmers will get an unfair advantage.

On the other hand it may get more people interested in programming.

I wonder if this will ship with an interpreter/compiler for any language or whether you will have to write ASM?

Surely won't be long before there is a LISP for it.

I can also imagine a lot of people getting pissed of because they keep getting killed accidentally by someone else's buggy software.


> When I played EVE, I always thought that a programmable ship would be fun. Although there is a risk that programmers will get an unfair advantage.

If programming is part of the gameplay, then being good at programming means you are good at the game. It would then be best considered an entirely fair advantage.


True, but I imagine their target market is not just programmers.

Perhaps there will become a market in the game for selling programs to run on the CPUs.

Some players specialize in programming, others in logistics , battle command etc.

Of course it will be an interesting microcosm of the software industry in such a case.

Will people care about piracy of their code? Will anybody start releasing under GPL etc?

As I have said elsewhere , most likely all the best code will end up on a wiki somewhere and everyone will use that.

Of course it depends upon the dynamic of the game. Whether it is like Eve where you just get one ship. Or whether people will build full automated fleets, space stations etc.

In the latter case they better be prepared to buy some serious hardware to run the server end of this on.


Keep your core secret, open source the support code, declare war on those who violate GPL >:[


There is some precedent for all of this. Trade Wars 2002 developed into a game of automation, some scripts became highly complex and were nearly able to play a game fully autonomously, including cooperation between players running the same set of scripts.

Early on, the best scripts were closely-guarded secrets, but as time went by, the quality of publicly-available scripts, as well as the scripting engines to run them, increased significantly. At this point the ecosystem resembles the rest of the programming world -- a combination of custom "in house" code, "proprietary" code, and open source code.


Will players have to maintain multiple accounts just to remain competitive, as in EVE? Someone will have to make and sell a 16-bit "minesweeper" to play while mining.

What will the first computer virus do?

Will there be "actual" viruses? Can we convince Notch to let our characters get Space Flu?


Well if there is some way to make the ships communicate data between each other's computers then I think exploits and viruses become a feature of the game whether the developers like it or not.

It really depends on how the admins choose to handle this, whether spreading viruses is fair play or whether it will get your account banned.

I can imagine a newbie would find it highly annoying if 5 minutes into the game they end up with some Space Virus that causes their ship to spontaneously auto destruct all the time.

Regards mining: Generally this is the most boring part of any MMO, just mindlessly grinding resources. Hopefully the programming aspect will let you do this while you are offline and have some scripts to decide what to do when you are attacked etc.

The other problem with the programming aspect is this. I imagine Notch put it into the game thinking that it would be something fun for all players to mess about with. What could happen in reality is that a few of the better programmers release a bunch of scripts to do anything and these scripts become to best scripts out there.

In such a case anybody writing their own code would probably be at a disadvantage compared to the other 99% running UberScript v3 so you end up with all players running essentially the same software.

I hope that this game can be designed in a minecraft sort of way where it is not directly competitive and more can be gained by players working together rather than everyone out to "gank" each other. Although epic space battles are always fun.


The immediate design of the game itself ensures that there is griefing - Even if the game didn't have weapons which could be fired on other people.

Take average griefer X - has nothing better to do, he goes around finding 'care bear' miners - your typical farmer, running macro script 1.

He now proceeds to bump your craft constantly using a macro into the sun.

Farmer ship blows up - and since this must have progression paths - an expensive leveled up ship goes bust, while the griefer goes of laughing all the way back to 4chan or SA.


> Surely won't be long before there is a LISP for it.

I'd guess there probably would be a FORTH dialect first. It seems a lot more fitting with the context.


I don't completely understand the 'unfair advantage.' If the aim of the game was to make one where everyone is completely equal, sure, but who would want that? It's boring, it's anti-progression, unrealistic (Not everyone is equal), etc.

I forever want to be in a situation where if I have more experience I will do better. This doesn't mean in every sense as I always expect to learn more in general and also from those who have less experience or whom I'm helping. Also, I hope the reverse is always true when I'm with those who have much more experience than I do like professors and tutors at university.


"We are going to emulate all computers and physics even when players aren't logged in."

I built a prototype trying to do something similar, inspired by a text-based RTS/MMO that kept running while you were asleep. For me this was an unrealistic goal, if the simulations are complex enough you can't operate at a price point users will pay for. Even if you can, because the game is now CPU bound, far less players fit on a single instance -- you now need incredibly clever partitioning and load distributing facilities to keep the world appearing seamless. Even AAA titles haven't solved that problem, a look at world PVP lag in EVE or WoW will tell you as much.


Really? Given what Notch plans (2,000 DCPUs per machine - which is certainly doable), let's assume he's running a high-cpu instance (large) at Amazon for those 2,000 DCPUs. That's $500 per month for the machine. If he can't get that much money out of 2,000 players, he's doing it wrong.

Assuming you allow for eventual instead of atomic consistency, and allow for loss of CPU for several seconds if an instance goes kablooey, the load distribution is really not that hard. (And your spaceship really doesn't need five 9's. It's a game, so just blame it on "an ion storm". Or "a space monster" if that floats your boat ;)

Partitioning does not need to be too clever if you can constrain the number of ships per region - certainly something you can impose via game design.

Lag only matters if you interact twitch based. Notch's plans lend themselves to indirect agency via the simulated ship's computer instead, so if everybody perceives the world as it was a few seconds ago, not much is lost.

It's certainly a doable task. Notch's mind is in the right place to pull it off. No doubt, it'll be hard - but it'll be interesting to see what he comes up with.


> constrain ships per region.

That would obliterate the point of the MMO aspect though.

EDIT: One more thing regarding the ion storm or whatever - gamers aren't that forgiving about those things.

You could try and blame it on space monsters and what not, but gamers know pretty quick when something is borked. And they hate it hard. - Anything that isn't within their locus of control which negatively impacts game play is easily hated.

I can't stress enough how painful flamewars from pissed off gamers are to deal with.

I'm not sure how much you are aware of current occurrences in EVE online, but for what its worth - they too had the similar lag issues (while still being called excel in space).

They recently deployed a time dilation mechanic to make it possible for people to play the game and enjoy massive fleet battles, which has increased satisfaction amongst the player base immensely.


Well a first person shooter engine only really needs an (x, y, look-at) tuple for each player, certainly putting thousands of players on one map is doable. You're dreaming.

Assume for a moment a team of developers spend several months if not years doing infrastructure build-out to support the imagined CPU simulation system. Now they just have to implement the rest of the engine, the part powering the actual game, in which all players, CPUs, and other elements are active and interacting with one another at all times.

I'm hoping Notch succeeds, but lets be realistic -- the closest anyone has got to offline simulation is effectively "event queue and timer" and not for lack of trying.


> Assume for a moment a team of developers spend several months if not years doing infrastructure build-out to support the imagined CPU simulation system

Huh? A CPU simulation is not that complicated a task. If it takes Notch several developers and years of time, he's definitely doing it wrong.

> active and interacting with one another at all times.

Yes. That's a solved issue, mostly. It's a large task, but it's not an unsolved problem. (See e.g. social networking sites. Humongous amounts of people interacting with each other)

The point is that you'll need to make some concessions to the realities of large scale when it comes to the game design.

> the closest anyone has got to offline simulation is effectively "event queue and timer" and not for lack of trying.

Funny. And here I thought Havok just gave a talk on physics in MMOs. (GDC China).


I think you might be missing the point, all simulation continues while players are offline. Implementing consistent physics in an MMO is (very) hard, but having all players simulated even when they are logged off is something else entirely. The state of the art there is things like mail systems, auction houses, and skill queues.


I wouldn't be surprised if the offline simulation curtails your abilities somewhat, enabling a much lower CPU-effort simulation. We'll see, I guess :)

(There's also the point that a monthly subscription fee of $15 buys you a nice VPS slice these days. If you're willing to cut into the - significant - profit margin of MMOs, you have a lot of performance available for offline simulation. I'll stand by my judgment that it's a hard, but solvable, problem)


Not an expert in this but can't many physics calculations now be offloaded to modern GPUs which are designed to parallelize much more neatly?


Physics/vector math aren't getting off-loaded, a virtualized 16 bit processor is.


What would it take for the average i5 or i7 to virtualize a 16bit processor? Could it run on a separate thread from the main game?

Could you run part of your MMO server work as a distributed-computing setup on client PCs? (but how would you get that working in real time?)

Maybe the players that are online at a particular time could be doing some of the extra processing - the game client could run 1 or 2 extra 16-bit virtualizers in the background, along with the virtualizer for the player's own 16-bit cpu and the game thread. So 4 threads running on 4 separate cores.


I think it would be really hard to secure that as far as an MMO goes, not that there aren't a few tricks that might be worth trying. (Like having a player's CPU emulated on several different peers and comparing the output to find errors or hacks)


I don't think the processor needs to be.

If it's designed carefully, the code should be trivially translatable to native x86, at which point you may even be able to run a few thousand on a single reasonably beefy server, depending on how fast the virtual CPU runs and the average load.


Not to be an asshole, but

you do realize we're talking about Notch here right?


> Not to be an asshole

Typing that should have been a pretty unambiguous clue you needed to stop.


No, it was necessary to reframe the constraints of what can be done designwise. Idle speculation about the design of how it could be done that is wildly outside both Notch's abilities and the allocation of people on his team he plans to put towards it (zero) is pretty pointless.


You realise how much money they've made from Minecraft yeah? If he wants cutting edge virtualisation technology he can no doubt pay for it (if it'll be fun, and he definately has an intuition for what is and isn't fun)


>You realise how much money they've made from Minecraft yeah? If he wants cutting edge virtualisation technology he can no doubt pay for it (if it'll be fun, and he definately has an intuition for what is and isn't fun)

That's kinda my point, coding ability didn't limit his ability to delight people.


Is he bad at coding?

He has programmed a number of games from scratch in very short time periods without using a bunch of pre-existing tools etc.

He is obviously very much a generalist and has done everything from 2d/3d graphics , networking , gameplay handling , AI and now CPU emulation. I would imagine most AAA developers will at some point find a niche and stick to doing that.

Not to mention building minecraft which is a non trivial programming exercise in terms of managing and rendering thousands upon thousands of blocks which can all potentially be re-arranged.

Perhaps he is not John Carmack but I would be confident he is at least as good as 90% of the programmers working in the game industry.


>Is he bad at coding?

Yes.

>He has programmed a number of games from scratch in very short time periods without using a bunch of pre-existing tools etc.

PHP, QED. Also no he didn't, he used lwjgl.

>He is obviously very much a generalist and has done everything from 2d/3d graphics , networking , gameplay handling , AI and now CPU emulation. I would imagine most AAA developers will at some point find a niche and stick to doing that.

No.

>Not to mention building minecraft which is a non trivial programming exercise in terms of managing and rendering thousands upon thousands of blocks which can all potentially be re-arranged.

You do a real disservice to the people working on modern physics engines. Jesus.

>Perhaps he is not John Carmack but I would be confident he is at least as good as 90% of the programmers working in the game industry.

No.


Any more detail than that?


No, it wasn't. If you wanted to communicate a legitimate concern (which you don't seem to have, just idle speculation), you would have done so. Instead, you were an asshole, and made it worse by recognizing you were being an asshole, and doing it anyway.


If OnLive is viable, I don't see why this shouldn't be.


Between this and http://www.ftlgame.com/ , it's nice to think that the scifi games I used to be only able to dream about are slowly becoming real.


Wow, thank you for posting about that. I'm really glad there are people doing really original work in the indie gaming world, it gives me hope that we haven't seen the last of the xcoms and fallouts (the original, scrappy versions of these, not the recent AAA incarnations)


"roguelike-like"


The creator of Minecraft is creating a space game!? He should totally call it Starcraft.


You sir, are the best hybrid of geek and reddit. Have an upboat.

Shame the name is trademarked.


Wow, tons of downvotes. There goes 6 months of hard work. Bad way to start a day.


Welcome to Hacker News, where everything is made up and the points don't matter!


Love it. Best show ever.


You should be aware that the HN crowd is in a massive state of collective denial where they all pretend that they are less banal than reddit.


I don't know what I'm more excited for: the possibility of a DCPU C compiler, or the first player to exploit the security holes in a program written for the DCPU C compiler.


As a fan of old space travel role playing games like "Traveller", I'm looking forward to this.

If it combines the "build-it-yourself" bits of Minecraft (build your ship, build your computer, build your programs) with MMO trading, and guild-building of EVE Online, and let players build the universe, then it might be a real winner.

I'll sign-up regardless.


The amazing implication here is that if the game were to use a sufficiently realistic physics engine and realistically model materials and energy generation/consumption, then the ships and control systems that you design could actually be potentially viable designs for real-world spaceships!

I doubt even Notch is able to accurately and fully emulate reality itself just yet, though.


Agreed, I have never pre-ordered a game in my life but I would certainly consider doing so with this.


I was reading those specific two bullet points:

    * Hard science fiction.
    * Space battles against the AI or other players.
which, combined with:

    * Lots of engineering.
    * Fully working computer system.
reminded me of essays such as "Realistic Space Combat" [0]. I wonder if Notch considers such a thing.

[0] https://gist.github.com/1526107


Just glancing at that essay it's pretty awfully written and repeatedly wrong. And my physics is extremely poo. Ever heard of a heatsink and then releasing it later? Decoys of simple complexity but same mass are as cheap to make as real ships of complexity? Nope.



That's exactly what I meant with 'such as'. I couldn't find that link again, thanks.

I was more concerned about general physics considerations (inertia, etc) and scale (like intercepting stuff flying at 30000km/s).


Even if he has, I'm sure he will prioritize his vision of gameplay over realism. He's already demonstrated that by mentioning cloaking fields.


I hope this doesn't ship for a year or two. I'd like to get more work done first :)


I hope it ships soon, because it's the only thing that will be able to keep me from wasting so much time on Minecraft


My sentiments exactly!


One word. SpaceChem.

This looks heavily inspired by this indie game. In spacechem you must you use "chemistry pipe design skills", that highly resemble how you design logic circuts, in order to create certain molecules.

It also seems quite inspired with what you can do in minecraft with the redstone.

All that, but more open, pushing the limits. Not such a bad idea.


@notch: The DCPU-16 specs are up, with some sample code and a memdump: http://0x10c.com/doc/dcpu-16.txt


Hopefully it'll have some sandbox features! MMO Scene has been missing a decent sandbox since UO and SWG (Pre you know what. And dont' say EVE online cause to me, that was just a huge game of stare-at-your-UI-windows)


Can it please be "EVE-craft"? If it were just "Minecraft in space" on the EVE scope?

Go mine iron to craft parts for your spaceship!


Totally agree, I kept my beta UO account up this whole time but the last DEV regime really lost a lot of players.. new producer seems to have priorities right. We will see. Create a better sandbox game and we'll see another game last 15 years.


Slightly off-topic, but—how mercilessly correct he is about physics of our space-time. We all know the universe is expanding, but many consequences of this phenomenon are not obvious—such as that after some time we'll be unable to see (and therefore ever reach) even nearby galaxies, since they're constantly getting farther and farther away.

We'll be completely alone forever, and future scientists would have completely wrong picture about universe in such an absence of information. Thinking about that, we already miss a lot of information because of red shift… There're facts potentially explaining the eternal question ‘about universe and everything’, but they are slipping away from us, crossing the event horizon never ever to be learned about. Not a fun thing to know.

Personally for me that was a discovery thanks to the explanation by Lawrence Krauss in his ‘A Universe From Nothing’ popular talk (http://www.youtube.com/watch?v=7ImvlS8PLIo).


Has anyone decoded the name? He said it was related to 1 in a 64-bit system read in 16-bit with the wrong endianness, or something like that. I tried my hand at it briefly but gave up.


0x10^c in base 10 is 16^12, or how many years into the future the people woke from their sleep.

I think you're referring to his tweet: "What happens if you try to read a 64 bit representation of 1 in a 16 bit system, but you get the endianness wrong?"

In other words, the endianness and 64/16-bit comments in that tweet weren't a puzzle, so much as the back story. (Check the paragraph beginning "In 1998"). i.e.: "What happens if you specify something one way and a program reads it a different way? You end up a 200 trillion years in the future!"


He's poking fun at the Y2K, Y2K38 problems. :)


EVE Online meets Minecraft.


I was thinking the same thing.


What Notch means with "Hard Science Fiction": http://0x10c.com/doc/hardscifi.txt


What an amazingly complex game it would be if he decided to include relativistic effects of time-dilation.


I think I'm going to lose a lot of time to this game...


I'm super excited for this game. I like open ended games, and Notch spends a lot of time trying to make the game fit each user. But does anyone know why Notch gets so much shit online for being "greedy" or an "ass"? I've never seen or heard about him doing anything to get those ugly titles. Looking at the twitter feeds on 0x10c.com, I see a bunch of "greedy bastard" comments. There is nothing wrong with selling a game in the alpha stages. People will get a chance to voice their opinions on how the game should function.


In light of his giving away his dividends last year to his employees[1], I think it's hardly appropriate for anyone to call him 'greedy' or an 'ass'. He actually seems like a genuinely great guy.

[1] http://www.huffingtonpost.com/2012/03/02/markus-notch-persso...


Exactly. And he also did that last coding competition for charity.


Great, now I can finally stop pretending that Infinity: Quest for Earth is actually going to happen.


Yes, the seamless planet landing thing made me thing of Infinity too...


While I'm def excited about this game, when I thought about it, how is this not just the second half of Second Life by Linden Labs? Second Life already offers an MMO with object creation (Minecraft) and scripting (0x10c). While the sci-fi story line is more appealing to me, the concept of building thing and coding their workings in a 3D MMO doesn't seem novel to me... Unless I completely misunderstood something.


Execution counts.

A similar concept doesn't guarantee a similar user experience.


It's not even such a "similar concept". SL's "resources" are just... money. Real money. And it doesn't really have any inherent "gameplay". It's a pure sandbox -- with dollars for grains of sand.

Notch is talking about real resource management issues, combat as an inherent part of the game, random AI encounters, etc..

This is a game that happens to share some SL-like properties. SL is just a framework. Arguably that makes SL more interesting in some ways, but it's also a lot harder to "get" something out of SL other than pure socialization.


Notch is officially my programming hero. This post inspires me; to take risks and be brave with my coding decisions while nurturing the process. Before today I would code and think over think and run into wall, while the original plan remains stagnant, always looking forwards to the finale. Now I look to code richly, daily, and to water my plants. Notch is zen. I can't wait to play this game.


I'm getting a git repo up for DCPU16 on dcpu16.com, .net & .org as we speak. With a custom design by a Swedish guy that looks like notch's twin. :D Will update you guys when it's up, should be today. I already have people that want to push.


He's released the spec for the 16-bit CPU used in the game: http://notch.tumblr.com/post/20056289891/start-classified-tr...


Okay so I'm just a simple PHP dev, would someone be so kind as to point me in the right direction to start learning what I'm going to need to write for the in game CPU, so I can try and get a jump on things?

(0x10c.stackexchange one day?)


Never think of yourself as a simple X dev. While you may not have the same experience or background as someone else, that alone doesn't take away from you being a developer (keeping in mind I don't know your proficiency or length of time as a developer).

That being said, since it's going to be a virtual CPU with what seems to be a system based on 6502 opcodes (or similar), we can assume that this means there will also be an opportunity for abstraction/compilation to that system. Basically, there would most likely be cross compilers available in a matter of time that could aide in the development so you don't have to learn ASM or anything that low level. If you want to learn for the sake of learning, and with a great chance of being able to implement that new knowledge in to this game, then learn C - it will teach you a lot more about lower level development and would be a great candidate for a cross-compiler when one were to come out (ex: http://www.cc65.org/)


depending on your chosen minecraft server, his first game was an MMO too!


Notch mentioned in another interview that he was looking to create basically a modern 'Elite' set in a persistant universe but this programming thing seems to deviate slightly. Super interesting!


This looks great, and it's evident from Notch's success with Minecraft that he really knows how to provide a great product and interact with his fans. Looking forward to trying it out.


I thought Scrolls was his next game?


If I remember correctly, Scrolls is Mojang's next game, but Notch was uninvolved in its developement (aside from hiring everyone).


Notch was at least involved in the original concept for Scrolls. I don't know if he's been involved in the actual development.


The DCPU-16 specification is up at http://0x10c.com/doc/dcpu-16.txt

I am so exited right now!


This might be a great environment to encourage people, and especially kids, to learn how to program. This was seen in Minecraft and maybe he will try to extend the idea into this new MMO.

I hope so because anything which encourages and helps people to learn programming is a plus in my book.


Wouldn't it just be simpler to use an x86 CPU and qemu? Or a sandbox'ed process, etc, etc.

I'm sort of thinking that if you used an x86 CPU there are so many existing tools that could be used for it instead of having to write new compilers, etc.


That would be incredibly slow if you wanted to run more than a handful of CPUs...


If Minecraft was a hit then this sounds like it could be a mega-hit I mean a computer you can program in the game (I think I read that right), duct tape (how can you possibly keep a modern spaceship together without it?)!


This sounds like its the beginning of OASIS: http://www.amazon.com/Ready-Player-One-Ernest-Cline/dp/03078...


It'd be cool if someone made a Minecraft IDE, where you program using preformated elements in a visual style by literally building your program with blocks. Sorta like Scratch.


This sounds similar to ogame only for hardliner geeks. I like it already. But i guess it will all be in the interface, i hope he nails it right. This could be very interesting.


Reminds me of an MMO version of SunDog (http://en.wikipedia.org/wiki/SunDog:_Frozen_Legacy).


Wasn't Notch's first game an MMO? Didn't he work on Wurm?


Without any context for the name: maybe "sixteen (or hex-ten) to lightspeed"? Space game with a focus on the ingame CPU, seems logical.


Is this some hint? the year 281474976712644 - 1988 (first year of deep freeze) == exactly 2^48

And how do you get that much sleep on a 16bit cpu


That's why it's called 0x10^c. And the 16-bit CPU supports extended addition and multiplication via ADD/ADC and MUL, so it's easy.


Sounds as if I can program the computer to play for me? I'm in! Wanted such a game for decades (former Corewar player here).


An Elite for the 21st century? Want!


I hope someone comes up with something like "Spaceship on Rails"


"The only thing to it, is to do it!" -- Martin Lawrence


If someone will create a .net-like framework for me to run managed code upon, then sure, I'll play this game.


DCPU-16 = CLR

DCPU-16 machine code = MSIL

The framework is the machine. Free your mind.


We are in the year 281 474 976 712 644, but there are only 16 bit computers on the ships? Anachronism!!!


No. The ships were launched in the 80's, and all the tech they contain is 16-bit. Presumably, there are more powerful computers out there, but they are advanced enough that you are certainly not going to do anything useful with them.

(Let's just ignore that the tech ran without issue and succesfully woke you up after 281*10^12 years.)

I find this actually really clever. I suppose the less programmatically inclined will trade new programs from the people building them.


Ah I think I misread that. ;) Still, I think even a thousand year gap in tech would make ships obsolete. I mean, look at how far our tech has progressed over the past century...


Red Dwarf!


Funny timing. I was designing a new space/SF computer game this weekend for a few hours. I tend to make one new one every few years. I saw a little overlap between his feature list and mine, but a lot of potential differences too, which is great. I may put it up on Kickstarter too if/when I have some proof-of-concept demos ready to show. So little free time though...


Guess its pronounced "Oh X ten C" or something like "Oh! Extacy"


I'm guessing that it's pronounced "2 cents". There are 0x10 kind of people in the world ;)


I'm truly sorry to rain on your parade like this, but the "0x" signifies hex, aka base 16, which makes "0x10" equal to 16 in decimal.

Now, if it were 0b10...


I'd like to see this on the iPad vs. Java.


I hope the graphics don't suck, like they do in Minecraft. I know it sound superficial, but graphics do matter. Minecraft succeeded despite its graphics, not because of them.


I disagree. The graphics in Minecraft match very well with the gameplay mechanic of working with a small, simple set of building blocks. It's a not-so-subtle signal to the player that the entire world is constructed with these blocks, and invites the player to see how they can be creative when given a limited, low-res set of building blocks.

Consider the common complaint about current-day Lego blocks: "Legos used to be simple." You can say that it applies only to the functional aspect, shape, but I think it also applies to their visual aspect. I mean, how many special blocks does Hogwarts or Prince of Persia really need?

And, disregarding all of that, there's a significant portion of gamers out there who will pay in both money and loyalty when you evoke nostalgia, which Minecraft does via pixellated graphics.


Strongly disagree with this. Minecraft's graphics are a direct consequence of what the game IS (i.e. a world made out of large-ish blocks). More realistic (that is, less stylized) textures look strange on top of huge blocks, and anything that obscured the block structure of the world would have made Minecraft a worse game.


Minecraft needed to be made of blocks, it's true. But Minecraft could be more beautiful than it is. Which isn't to diss it - what it does well, it does really well. And it can often be beautiful -- the terrain generator can produce some wonderful things.

While it isn't aiming for all the same points, and is obviously inspired in some parts by Minecraft, I think for example Cube World is a much better looking game. http://wollay.blogspot.co.uk/


I think it's good that they kept the graphics basic for a few reasons.

Firstly the game is written in Java and hogs enough CPU/RAM as it is. If they had started making high quality assets they would have had to maintain that standard throughout which would have made it much more difficult to iterate quickly which is something that minecraft is all about.

I think of it like Lego , Lego kits are nowhere near as pretty or detailed as other proper model kits but they allow many different possibilities.


There is beauty in the simplicity of the graphics.


This is a refreshing comment. We can say the same about a lot of websites. I should note, however, this runs abut to the concept of UI versus UX.


You should try Dwarf Fortress. Its graphics are really a world apart from Minecraft's.


The game looks really awesome, I love space games, and if you combine it with Minecraft... and not only that but programmable CPUs !!!! I would love it.

Sadly "Monthly Fee" is something I don't like... I don't have the money to pay it, nor a credit card to do it, so nope.


you can't spare 5 USD for potentially many hours of monthly entertainment?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: