Mozilla are trying to push their BrowserID on the world though. A fairly popular (among devs) technological demo seems like the right place to start that; it'd show us how easy it is for users to use, and how simple it is to integrate. Not using it is a wasted opportunity.
This demo is really for HTML5, not for BrowserID. BrowserID might add an unrefined and unnecessary hurdle to the game. Then all the other platform dev's and press will say silly things like HTML5 requires BrowserID or something.
What would be the point of that? The only fun in the game (besides the fact that it works at all) is finding the new gear and getting the achievements. If you just edit your character, then you may as well not even play.
Cheating single player is only affects the player themselves. But when it comes to online, multiplayer, then cheating/codes need to be restricted. It's more from a sustaining/profitability point of view – nothing drive users away when they first log on and see everyone running around looking identical and having the best items obtained with just a few key strokes.
I guess the OP's comment of local storage was also to point out the 'flaw' since it is for a multiplayer game.
Random idea: write a brand new game that talks to the Browser Quest server. Use the input of other players moving around as input into your own game (maybe some sort of ambient art thingy).
The client server protocol only lets you specify arbitrary equipment when you connect. To change equipment during the game, you have to Types.Messages.LOOT a dropped item.
LOOT is an action in the client server protocol - you can't easily use it. The important part is that you can only equip an item that is available to be picked up, unlike when you first connect. You can specify any weapon and armor when you first connect, which is why editing the local storage works.
I actually did this in Chrome by just opening up the developer console, clicking on the Resources tab, and modifying the value directly. You'll see Local Storage under Databases in that tree on the left.
I did the same thing. You can actually change the weapon to "flask" (so it doesn't show up) and armor to things like "boss", "rick", "nyan", etc. "Rat" is pretty fun too.
You can also make yourself permanently invincible, attack 10 times per second, and teleport around, if you get a reference to some of the internal variables. I actually found it quite difficult to get that reference since the project uses requireJS and doesn't leave any global/window references. As far as I can tell, the only way is to pause in the debugger, which is much more tamper resistant than I expected it to be.
I'd like to hear more about how you did this. I'm always interested in manipulating Javascript and whatnot. Who knows, maybe I will learn something about securing my own games by tinkering with this.
I played it for 20min and after that I had golden sword and golden armor; hacking around in localStorage would probably have cost me around 10min too. And playing the game deems me much more fun :)
It feels very polished indeed. It works just fine on Safari, SFX included, although there's no music (dunno if it is supposed to have). A little musical theme per area would be nice.
There are easter eggs all over the place. I don't want to spoil them but a bunch of them really made me smile.
It's still a long way to compete with Flash in the area of games but it's nice to see this effort.
When I talked to Flash developers, their main concerns were having to worry about different browsers and their belief that everything became "open source" automatically because you can just view the source. They don't want to spend weeks on a project that sets them apart from other competitors only to be copied by the next guy within a day.
Shouldn't the beauty of games be the gameplay and the art, not the technology? Isn't it a good thing that the technology behind a game is no longer the primary selling point?
The technology behind a game is nearly always the primary selling point. There are too many games so users need some way to differentiate them. Seeing that game X uses tech Y means that people will talk about it and play it just to see tech Y. Even if it isn't very good people _will_ talk about which means it gets sales.
I dunno, this is better (and more fun) than any Flash based browser MMO I've played. Also didn't bug me about buying coins in their store or some Zynga-like upsell.
Would be pretty cool if someone implemented a decent browser-based MMORPG with a high degree of scriptability. Get the best of MMORPGs and MUDs + portability.
The other day, I was thinking about an SMS based MUD for cheap feature phones - text based of course. An online game for places without much 3G adoption but where there are lots of Nokias, so to speak.
I had an idea for a universal MUD a long while back (probably in junior high school, when I was a huge MUD nerd). A single game world with interfaces for IM, SMS, and the web. No matter where you were or what interfaces you had available, you could continue to be immersed in the world. I got the communication code working well for IM and the web, but never went beyond that; with Twilio, it'd probably be pretty straightforward...
I like how they made it really easy to get in. No signup just name your guy and go. I generally don't have time to play games however I appreciate the amount of work that goes into them. Good Job.
Realm of the Mad God is even better on that front: it auto-generate a name for you, you just hit "Play" and you're in the game ready to rock (you can edit the game once you're hooked of course, and create a formal account, and start paying your dealer, but the initial experience is "hit play and you're playing")
I thought the most clever part was how it throws you (pretty much) directly into killing your first boss monster. You feel awesome within a few minutes of starting, immediately before getting told to go kill more boss monsters.
Presumably they have a tool for doing so. (At least, I hope they do...writing all of that data by hand looks like a Herculean task.) Hopefully they will release that as well.
The easiest way is, pick a random door in the first room, and then every time you come into a new room go back the way you came (doors aren't symmetric in this game.) This will put you in a cycle that eventually takes you to Rick. You'll visit some rooms more than once.
Alternately, just stumble around until you find a room with one top entry and 3 bottom entries. Take the bottom left door, which will take you to Rick.
Just collected the 20 achivements. Really fun demo, inspired me to learn more about pixel art. I can code well but my art skills are bad. Wish they expanded it...
I forked this https://github.com/mkrecny/BrowserQuest - added a static file server on branch static and dependency management via package.json.
Main annoyance now is that they don't include the audio assets in the github repo : /
Great fun game though.
111 comments
[ 5.0 ms ] story [ 148 ms ] threadAnd this is actually a nice little game. Buy then again, where is browserid and open badges support ?
"... adoption comes down to the developers, all Mozilla can do is provide the tools."
I don't really care whether it has BrowserID or not. It just seemed that the parent was unaware that the game was a Mozilla project.
If you want the best weapons in the game, the sword is called 'goldensword' and the armor is call 'goldenarmor'.
I guess the OP's comment of local storage was also to point out the 'flaw' since it is for a multiplayer game.
localStorage.data = localStorage.data.replace('sword1', goldensword')
But it just reverts after I type that into the console. Could someone explain how it works?
It be fun to show off if someone figured it out.
There are easter eggs all over the place. I don't want to spoil them but a bunch of them really made me smile.
It's weird to me that they list the node dependencies in the server README instead of using a package.json.
Very cool project, though.
When I talked to Flash developers, their main concerns were having to worry about different browsers and their belief that everything became "open source" automatically because you can just view the source. They don't want to spend weeks on a project that sets them apart from other competitors only to be copied by the next guy within a day.
And yes, I think this separation is ridiculous.
Websock , Comet or ajax?
Outstanding work that I'm sure is going to inspire a lot of people. Though I don't see a license file anywhere.
I can see only "{", to view the full i need to go to Raw format. I think Github should provide support for formatted json.
Second ??? quest: Enter a portal. I found one to the east-southeast to the starting point.
Still trying to figure out the last one.
Alternately, just stumble around until you find a room with one top entry and 3 bottom entries. Take the bottom left door, which will take you to Rick.
For anyone wondering about the 2 mystery achievements at the end; the clues are in client/js/game.js ( https://github.com/mozilla/BrowserQuest/blob/master/client/j... ), line 278.
Hiding the clues in the code like that just adds to the coolness. Great touch!