Hacker News new | past | comments | ask | show | jobs | submit login
A Dark Room - minimalist text-based game (doublespeakgames.com)
544 points by NeekGerd on June 29, 2013 | hide | past | favorite | 234 comments



The style of a minimalist interface that starts sprouting things, somewhat ASCII-game-ish yet also rather dynamic, reminds me a bit of Candy Box: http://candies.aniwey.net/ . It's an interesting UI and 'reveal' style for a game, and glad to see another one using it. Feels somewhat refreshing.

edit: Ah ok, if you view-source it mentions Candy Box as an inspiration.


And Frog Fractions is worth checking out if you like Candy Box.


Frog Fractions is worth checking out, full stop.


Jesus, this is amazing.


how does it even relate to Frog Fraction ?


Frog Fraction does not relate to things.

It is just worth mentioning from time to time.


That's your opinion.


I don't get it. I liked A Dark Room and Candy Box, but hated Frog Fractions, which is completely unrelated.


They're related in the sense that the type of gameplay changes and unfolds as you progress.

Frog Fractions is much more linear, I suppose. You move from one game type to the next, instead of having multiple in parallel.


To anyone else trying Candy Box, a few hints to get started:

- Wait until you have 60 candies (new options appear)

- Click the cowboy hat 4 times

- Buy the wooden sword


You can also click on the lollipop to lower the prices.


If you want to cheat, open the devtools, and type candies.nbrOwned = Infinity.


Isn't this a lot closer to dwarf fortress?


This reminds me less of parser-based text games and more of the 1990s hyperfiction like Afternoon, a story [1], Victory Garden [2] or 253 [3] and net.art like My boyfriend came back from the war [4]. Give those a look if you liked this. The hypertext novel 253, which looks in the life of every passenger on a London Underground train, is probably the best starting point.

Edit: Oh, and also Fallen London [5] and other StoryNexus games. In fact, in terms of mechanics A Dark Room is probably the closest to Fallen London of all the games of which I can think.

[1] Sadly, the HTML sample at http://www.wwnorton.com/college/english/pmaf/hypertext/aft/ appears to not work in modern browsers. It was created in a pre-HTML hypertext system called Storyspace; you can see what it is supposed to look like on its native platform at https://www.youtube.com/watch?v=djIrHF8S6-Q.

[2] http://www.eastgate.com/VG/VGStart.html

[3] http://www.ryman-novel.com/

[4] http://www.teleportacia.org/war/

[5] http://fallenlondon.storynexus.com/


s/looks in/looks into/

By the way, and if you're at all interested in the history of hypertext fiction do watch this video: http://vimeo.com/15561443. The speaker in the video talks about a fascinating parallel culture of hypertext writers and readers who paradoxically seem to resist the idea of putting their creations on the Web. Instead, some of the authors choose to disseminate their works on physical media: floppy disks, CD-ROMs and now flash drives.


Here's something I consider a problem:

If you're in the cave, and something attacks you, at the end if you press "eat meat", sometimes, exactly at the point when you want to click it, the buttons become "leave cave" instead, and you accidently press that. Then, a next fight may begin, and you're at low health.

Please provide some consistent way to heal yourself before a next fight.


If the combat dialog and the post-combat dialog were spatially distinct, it would alleviate the primary problem. "stabslashstabslashstabslashstabslashleave.... nooooooooooooo!"

If the combat action buttons didn't self organize, but rather sat in the same spot (perhaps in order of discovery?), then combat frantic clicking could be consistent.

Also, sometimes the tooltip that shows the cost of a "shoot" hangs over the "eat meat" button, leading to unclickable death if you're almost dead. Clicking the tooltip doesn't shoot, nor does it yield increased health. Either behavior would be preferable to nothing.


This... so much... I've died a couple times from this, actually...


World.water = 80; Path.outfit["energy cell"] = 80; Path.outfit["cured meat"] = 40; Path.outfit["grenade"] = 10; Path.outfit["torch"] = 10; Path.outfit["bone spear"] = 1; Path.outfit["iron sword"] = 1;


Why with the energy cells without the laser rifle?


I progressed with a rather slow pace but after the Egyptians came and asked me whether I wanted to help build a new pyramid for their current Pharaoh - as apparently I was a top architect known far-and-wide - things became interesting very quickly. With the gold I earned I could buy my own workers and I am now comfortably running a rivaling empire battling the Pharaoh which employed me earlier. I do seem to have trouble with foreign spies passing on weaponry I research. Guess I have to raise the bounty for those who turn in traitors.


I totally believed this comment, completed the game and liked it, but am slightly disappointed about not having built pyramids and fought pharaohs :)


This highlights the importance of game mechanics. I was hooked for about six or seven hours on gameplay alone, even without graphics or sound.


Seems to use the psychological technique of intermittent rewards to encourage continued clicking of "stoke the fire." Unfortunately after about 4 stokings with no new developments in the game, I got bored and quit.


Too bad. I am now headman of a large village because I kept stoking. Series A financing can't be far behind!


In this and candy box you're not really supposed to pay attention to the window for the first couple minutes. There is literally nothing to do.

Then later once you're maybe 10 minutes in you can switch away for extended times if you want to wait for the continuous income, no need to press buttons, no 'intermittent rewards'.

It could be changed but it's not actually depending on any kind of psychological tricks. The delays are just a minor throttle at the start.

Edit: Actually, to be precise, you only have to stoke the fire once. It's just a deliberately paced cutscene. No psychology there.


> In this and candy box you're not really supposed to pay attention to the window for the first couple minutes. There is literally nothing to do.

Yeah, interesting call, that. When I played Candybox, I was told "before you dismiss So what it, wait until you get 60 candies, then shit gets real".

So, what does a self-respecting hacker do, when faced with 60 seconds of "literally nothing to do" ... except the challenge of opening the JS Console to see if I can make that counter run faster, preferably in less than 60 seconds? ;-)

(answer: yes, it was in fact fairly easy)


I was about to do that. But then the stranger awakened, and then, the game becomes far more interesting.


It takes a while to get warmer, and then more interesting things happen ;)


After two times stoking the fire the room changes from cold to mild. There is also a shivering stranger stumbling into the room. Of course you can still be bored by that, but it is not true, that there is no new development.


As opposed to the psychological technique of continuous rewards, or never rewarding something (both of which are also boring)?


Intermittent rewards actually work best to encourage a conditioned behavior.

http://www.indiana.edu/~p1013447/dictionary/sked.htm

Edit: I got bored quickly anyway, probably because I just don't find computer games to be a satisfying way to spend time. Never have.


I had the same effect although the others seem to disagree...


In case anyone wants to accelerate the game slightly, but still play it as intended, set this in the Chrome console.

window.Engine._incomeTimeout = setTimeout(Engine.collectIncome, 500) // default 1000

IMO it's not a cheat, because it just shortens somewhat tedious waiting early in the game, but doesn't alter it otherwise.


I ran this in console. just to automate gathering wood and trap checking, since forgetting to switch between panels is easy to do:

function pushButtons(){if(!$("#gatherButton,#trapsButton").hasClass('disabled')){$("#gatherButton,#trapsButton").trigger('click');}}setInterval(pushButtons, 1000);


$('#roomPanel').width(350);

See inside and outside at the same time


Here's a way to check traps, gather wood, and stoke the fire separately:

var stoke = function(){if(!$('#stokeButton').hasClass('disabled')){$('#stokeButton').trigger('click')}}

var check = function(){if(!$("#trapsButton").hasClass('disabled')){$("#trapsButton").trigger('click')}}

var gather = function(){if(!$("#gatherButton").hasClass('disabled')){$("#gatherButton").trigger('click')}}

g = setInterval(gather, 1000) c = setInterval(check, 1000) s = setInterval(stoke, 60000)


Was getting undefined errors with that..

This works:

function pushGather(){if(!$("#gatherButton").hasClass('disabled')){$("#gatherButton").trigger('click');}}setInterval(pushGather, 1000);

function pushCheck(){if(!$("#trapsButton").hasClass('disabled')){$("#trapsButton").trigger('click');}}setInterval(pushCheck, 1000);

function pushStoke(){if(!$("#stokeButton").hasClass('disabled')){$("#stokeButton").trigger('click');}}setInterval(pushStoke, 60000);


Here's a way to get the ship, max out the hull, launch and win:

    Ship.init();State.ship = {hull:10000, thrusters:10000};Ship.liftOff();
Dodging optional.


I just realized what this really does. It just sets up a second callback to Engine.collectIncome. So when you go to set it "back", you end up with 3 income collecting loops. If you try to set it "back" multiple times you end up with more income loops.


I think that would make it a bit unmanageable in the later stages, though.


Well you can easily switch back to default!

Another tip for fighting: equip different weapons. I had only equipped the best weapon, as is customary in games, not knowing you can attack with all equipped weapons at once basically (each weapon has a separate timer). This makes a huge difference.


Switching back didn't seem to work for me. The game is super fast for me now.


Refreshing the page will clear any console shenanigans you've added (unless you changed state).


Warning: while the first part of the game works fine in a touch-based interface, a later section requires a keyboard. You'll be annoyingly unable to proceed on a touchscreen.


Just spent an hour before I hit this wall. So frustrating.

Even though it was surprisingly mostly playable on mobile (except: small buttons, tooltips)


This is pretty damned cool, and it looks like there is a lot of thought out content backing it....I thought I'd look at it and move on, but I've been playing it for awhile


Perhaps "Embark" should be "Explore"? I thought I would leave my town forever. Didn't leave until I'd maxed out every property of armor etc.


I had a similar issue. I thought the compass wasn't anything special, I thought it was just another resource, maybe I could trade it for other things or something. I literally bought the compass as the last thing, I had my hut up to 10, a spear, armor, and a water bottle, and was thinking the game had a great beginning but a really boring ending where you just spam wood and huts and get leather for collectible items. Perhaps changing it from a compass to a map would help, I was thinking the compass represented metal, I think a map would more clearly indicate exploration. Or maybe the builder should remark that a compass/map would be useful to find more resources.


I detect a nod here to Dwarf Fortress.


How were you able to do this without finding the mines?


Maxed out -> leather armor. It was the maximum available attribute at the time.


Fighting is funny - it's beneficial to keep all old weapons with you, then you can attack with 2 swords, shoot rifle and laser and use bayonet before the first sword timout finishes.

Very addictive game.


How did you get a bayonet? I never found one.


A veteran had it I think, it was on a battlefield 1/4 of the screen to the right from the village, IIRC.


In the sulfur mines. Last soldier, a veteran, attacks you with it and drops it afterwards.


I really like the source code for this game! It's quite readable and good fun to look over :-) Now I remember this was my original reason why I was interested in programming - wanted to figure out these mysterious listings for test-based adventures on Atari. I really like how all the possibilities are encoded there, but you can't entirely picture the game until you actually play it :-)


I played this to completion a week ago. It can feel a little tedious st times, but this is usually because I missed something, and is ultimately well written at all stages. Keep with it and you won't be disappointed!


How does it end. I have the spaceship, but I need to go to bed.


you're nearly done, you just want to upgrade it with the alien alloy you found in the bore sites


Stuck in an empty office expanding a RAID. This will do nicely :)


I have been spending more time than I care to admit playing this. Seriously. Hours on end. Possibly the most addictive game I've played since Tiny Wings. No idea why.


Likewise - just lost my entire weekend to it. I think I finished it - but the ending isn't completely clear on the topic.


This is probably a simple question, but I'm new to JavaScript: How did you create the side-scrolling animation effect that happens when you switch between locations?


jQuery is your friend.


I need to get into this, I'm trying to learn how to make UI more smooth and modern, and this game really does it well :)


I'm having a serious problem later on in the game when I have four different options on the screen during a fight. The hover resource-display obscures the action button and reduces the clickable area to a tiny sliver. I'm losing battles that I should be winning, a lot.


Yes, this was annoying enough that I eventually stopped. Two suggestions:

1) Add keyboard shortcuts, make them discoverable via an underlined character

2) increase the amount of space between the buttons so the tooltips appear over whitespace.

That said, I played for hours before giving up! Had tons of fun, thanks for making this!


Keyboard shortcuts would probably make the game too easy. But I agree, any game that keeps me going for hours has to be great!


I found it frustrating to play with a touchpad. I often accidentally started a click-drag or highlight instead of clicking a button.

It would probably be ok with a mouse instead.


Also, it would be really nice if there were arrows that increased/decreased allocations by ten as well as just one.


Or if there was some scroll action hooked up that fired if you were hovered and you scrolled.


Is there any other way to share the game state than copying the local storage? Even though I use Chromium with linked Google accounts between Windows and Ubuntu, it does not save local storage data. And that is not even possible on an iPad, for an example.


I got eaten by a grue.


Or did the grue perhaps stoke a fire?


Interesting game, but I'm surprised it doesn't work better on phones - it seems like a perfect game for the medium.


I've been at it nearly an hour. Very good indeed.

Love the minimalist interface.


I just bought a compass, and entered "A barren world" on my iPad... And I'm stuck. What are the controls for this part of the game?


arrow keys


Darn, guess I'll have to start all over again on my PC.

Seems like there'd be a use for a way to "save" games by emailing a parameterized URL to yourself... Or just an alternative to arrow keys for all of those tablet users out there.

Still a great game, though! Next time I'm feeling like procrastinating on a 2007 vintage netbook, I'll know where to look :)


No reason you can't "save" and transfer your game by moving your cookie. You just need to get at your iPad cookies.


I think it's actually using local storage, which is a bit harder to get at. But I ended up surpassing my iPad game within 15 minutes anyway... Good fun :)


This is a very cool use of html as a medium to tell a story and keep the player involved. Defiantly want to see more games in a similar style!


This is pretty awesome.


This game is highly addictive, and I thoroughly enjoyed it!

Some usability issues from memory for the next iteration (some that others have pointed out):

- The 'up' and 'down' arrows when allocating workers have a much-too-small clickable area. Compounding this was a slight offset between the arrow image and the clickable area

- Allocating workers & allocating the spoils after a battle both shared the problem of only being able to increment by one unit at a time. Lots of annoying clicking.

- When you hover over the worker allocation button when there are no workers allocated it doesn't indicate whether the various resources will be consumed or produced. You have to allocate at least one worker to find out this info.

- It took me ages to figure out that the 'gather wood' button is independent of the villagers gathering wood. I still don't really understand the relationship between 'check traps' and bait and allocating extra hunters/trappers.

- as mentioned elsewhere here, there's a popdown over buttons showing what resources are required by the button. This is incredibly annoying when it obscures another click target, especially during a fight.

- (As Aardwolf pointed out) When gathering the spoils or as an enemy denies, the layout changes and the buttons jump around, meaning it's very easy to unintentionally click on e.g. 'leave city'

- It's a bit annoying to have to switch between the 'raucous village' and 'small room' tabs to figure out which resources are low and how to allocate workers

- When you find fur etc. in the traps it should say how much fur is found

- It's kind of hard to figure out what resources are going where. Maybe each message from the stream of messages down the right hand could be positioned as a callout bubble beside the resource or item that is affected.

Hope this is constructive and super job — great originality!


How do you avoid the beasts that keep killing your guests?


Not totally sure, but I believe it's mostly a matter of keeping the fire going


Don't worry about it. Actually, you get meat & fur from that event, so it's not terrible.


New guests come in when you have vacancies anyway.


villagers are one of the cheaper resources in that game :)


I'm stuck in civilisation where I need steel to make the next set of items. Is there any more efficient way of producing steel than buying it in exchange for scales and teeth? Like a steel mine or a person like a tanner that can convert iron into steel?


At one point you can build a steelworks and produce steel from iron and coal.


you need iron mine and coal mine, then you can build a steelworks and allocate steelworkers


Very good game! I refrained from cheating for a few hours but got bored waiting for furs n things. Poked around JS for unlimited ammo and just completed the game minutes ago. Glad I cheated because otherwise I know I'd be playing it for days on end.


I really enjoyed this, and it introduced me to Candy Box as well. This is saying something since I suffer from pretty severe issues with concentration and haven't been able to play games for some time. Thank you very much.


Speed up the cool down when gathering wood or checking traps. Paste this code into chrome console.

Button.cooldown = function (btn) { var cd = btn.data("cooldown"); if(cd > 0) { $('div.cooldown', btn).stop(true, true).width("100%").animate({width: '0%'}, cd * 10, 'linear', function() { var b = $(this).closest('.button'); b.data('onCooldown', false); if(!b.data('disabled')) { b.removeClass('disabled'); } }); btn.addClass('disabled'); btn.data('onCooldown', true); } }


And there went my whole night.


Mine too. Took ~5 hours to finish.


Any idea what 'charm' does? I haven't found a use for it yet.


I think I used it once: I wanted to talk to a man on a swamp and I needed one charm to talk to him.

Be careful about them, since they seem to be finite in supply. Though I don't losing all of them and not being able to talk to that man would make any discernable difference in the long run.


Yeah, as far as I could tell, you only used them to talk to the old man in the swamp - you'll find them periodically in your traps, though - I had 8 or 10 by the time I finished the game, so don't worry too much about losing them.


Anyone figured out how to explore the "landmarks" on the dusty path. Like I see the caves but I can't enter them, move my guy over them but no matter what key I press he won't enter.


you need a torch


I feel slightly stuck at some point, because it's too hard to get large quantities or iron to build new things, and fur is worth nothing...


You need to find an iron mine in the map first, and then you can put workers for irons.


Have you tried mining iron with villagers?


I don't know how I can do that, even though I courageously freed some mine from some monster or thieves (can't remember what it was exactly) a while ago.


On your village tab, you can assign tasks to villagers (such as mining).


The pace is set reasonably well, but after a while it gets too slow and I have to give up. Mad props for good amount of polish, though!


How do I get leather...? I have a tannery, I guess I need a tanner, but I don't know how to get one...

"Tanner: 0", "Hunter: 0", etc, have little icons next to them, but clicking does nothing...

I've maxed out my village etc (and am accumulating huge quantities of wood I can't use for anything anymore), but can't seem to advance until I get some leather!


The little diamond to the right is actually an up/down arrow; click the up arrow to reassign gatherers to other jobs.


ahhhhhhhhhhhhhhhhhhhhhhhhhhh...... ><

thank you... :)


Is there anything cool after getting the spaceship? I can't keep playing, but I will if I can get more of a fix....


Seriously... I just completed the spaceship sequence and I'm too mad to even react properly (per HN standards). I knew this was gonna happen and it did happen. Shame on me.


--- SPOILER ALERT ---

Really enjoyed the game the whole way through, but I agree with other people on this thread, the ending (or lack of) kinda ripped my heart out. Glad I took some screenshots before flying off into space.

http://bit.ly/17K3a1D - Building Screen

http://bit.ly/12tUk37 - Production Screen

http://bit.ly/17K3ldl - Dusty Path Screen (After getting Compass)

http://bit.ly/14Eyk4u - Map Screen

http://bit.ly/17sIVSm - Starship Screen

Sorry, no screenshots of end sequence - was too busy dodging falling ASCII characters.


Just as a heads up, my map screen is different so I presume it's randomly generated.


Agreed. A minute of dodging, ship goes zoom, and then a game reset. It'd be nice to at least see a summary of my resources, or a score, or anything.


I guess you could call it an adventure game? Yeah, the ending was a bit unexpected, but then again so was everything else :D I enjoyed it a lot, and it reminded me how with early games the imagination did most of the work.

Though I found the sudden restart pointless, and I think it took away from the ending a little. Unless the point of course was that you crash, and find yourself in a room with a fire that's nearly gone out... [kinda like that book of the guy who rhymes with Peevin' Ping haha]


It was a lot of things. "Stabbing-me-in-the-back" was one of them, but "unexpected" it was not.

The first time I saw that "You're not coming back disclaimer", I knew: "Oh boy, they're not gonna throw me a parade when I get in space, nor generate another level... I'm just gonna get back in a dark room and start again. All this for...this!?"

"TVTropes Will Ruin Your Life"


Thanks for this note - I just finished (after about 6-7 hours of playing, and, I was 95% certain I had managed to dodge everything - but it wasn't completely clear)

Happy to know the game ends in the way that you described and I didn't miss anything.


I had looked at the source and concluded the spaceship was just a file left from some other project. Damn, I should have played further.


It's really cool when you first find the alien alloy, but the spaceship sequence is pretty unexciting.


I found doging the ascii asteroids really cool.


I agree, plus the subtle background color change was really neat.


Spoiler alert?


I started playing, stoked the fire twice, realized that this single playing game had a "wait until you can click again" mechanic that was purely there to waste my time (I want to play, not wait. This isnt farmville). So I quit. It is probably a great game somewhere. But design like that puts me off.


Pretty neat! I found a bug though. I think all my villagers got eaten by a best :( But it keeps saying "3" next to "gatherer", even though there are 0 people, it gathers 0 wood, it says 0/4 population, and the up arrows to increase other resources don't work. Very confusing.


Your builder, who never gets eaten, produces +2 wood every 10 seconds.



Got all the way to embarking on my iPad. Now I'm stuck! Wish I could transfer my game to my laptop.


You can! I did the same thing.

If you turn on the remote web inspector (in Settings it's under Safari > Advanced), and then open Safari on a Mac, you can copy the game's save state (localStorage.gameState) to an instance of the game running on your computer.


Shoot, I use chrome on my iPad, arrrrrrr.


Is this point and click adventures for people whose first encounter with computer games was farmville?


A very nice game!

Another automatic click script, clicking the buttons only when necessary:

var checkAll = setInterval(function() { var bn = ['stoke','gather','traps']; for (var i=0; i<bn.length;i++) $('#'+bn[i]+'Button:not(.disabled)').click(); }, 500);


Hmm, it would nice to know what the items from the workshop do. WTB leather.


Lol played through 2 full times hoping it wasn't just in repeat haha


is this just some js and jquery or there is more behind it? browser db? angular js? I am not familiar with those technologies so I can't be sure I can recognize them, so please just answer...


Have you looked at the source?

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  <script src="lib/jquery.color-2.1.2.min.js"></script>
  <script src="script/Button.js"></script>
  <script src="script/engine.js"></script>
  <script src="script/header.js"></script>
  <script src="script/notifications.js"></script>
  <script src="script/events.js"></script>
  <script src="script/room.js"></script>
  <script src="script/outside.js"></script>
  <script src="script/world.js"></script>
  <script src="script/path.js"></script>
  <script src="script/ship.js"></script>
  <script src="script/space.js"></script>
  <!-- Event modules -->
  <script src="script/events/global.js"></script>
  <script src="script/events/room.js"></script>
  <script src="script/events/outside.js"></script>
  <script src="script/events/encounters.js"></script>
  <script src="script/events/setpieces.js"></script>
With the exception of the two minimized libraries, none of this code is obfuscated in the least. It even has comments in it!


Yes, just looking at the html page source is what I did, but then at first sight I couldn't tell if those other .js where part of a known modular js framework or not, since as I said I am not familiar with those.


*were :P


Wow.. This is poetic.. It didn't feel like a game but a story I was part of. I'm still stroking the fire, gathering wood, and the checking the traps. Just beautiful. Thank you! :)


This seems like it could make for a fairly successful mobile game.


Is there a way to pause?


It save by itself. So you can close the window and walk away if you'd like. Just don't clear your cookies.


It saves, but, especially early on, there's a sense that you might get eaten if you walk away from the computer.


I played through the whole game but can't figure out what bait was ever used for. My trapped made it but there didn't seem to be any use for it. Anyone know?


Baited traps are "better." I think they attract more animals.


Dammit I've been playing this for 2 hours straight...


I hate when game makes me wait to click things. That makes me semi-immune to Zynga-type pestilence but makes it hard to find fun thing to play.


I started playing on my nexus and now, with over 60 villagers, I'd like to move my game on the pc. Anyway I could export my game state?


Copy paste the game state from localstorage.


How?


If you're in chrome, open up dev tools, then hit resources, find the local storage on the left bar and click on the url. You'll see a gamestate key and the value. Copy the value, that's the entire game state. You can then create that same key on whatever other browser with that value.


Pretty sure there is no dev tools on the mobile version of Chrome.


Is there any way of saving the game like Candy Box?


It autosaves to cookies every now and then (it flashes "saving" in the top right corner when it does)


This game is great, I'm really enjoying it.


it seems to have a bug...if you close and revisit the page again, all the timers are reset...so you can gather stuff instantly


You can always just do this as well.

State.stores.wood = 99999; State.stores["alien alloy"] = 99999; State.stores["laser rifle"] = 1

World.water = 60; Path.outfit["energy cell"] = 80; Path.outfit["cured meat"] = 40; Path.outfit["grenade"] = 10


It seems to run on Chrome but not on Firefox. If that is on purpose, it should be clearly stated as such at the beginning.


I've been playing it for a week in Firefox, no problems.


Works for me, firefox 21 on Linux.


Wow - can I have my evening and morning back?


I'm hooked.


Fun but easily hacked if you change the class in DevTools to not be disabled, then click click clickity.


Isn't every javascript game easily hacked?


It can be made a decent amount more difficult with some simple changes like obfuscating the source and also encapsulating all the object definitions and state in a closure, instead of putting it all in global variables. Of course I think that would violate the minimal spirit of the game and it's really cool to be able to see its source so easily.


took me 3 hrs to finish! but a really great game nonetheless. I enjoyed every part of it. kudos!


Amazing game! Thanks for sharing.


Well...there went six hours.


Played, donated. Thanks!


just putting this here :) setInterval(function(){$("#trapsButton,#gatherButton").trigger('click')}, 2000);


this game has the timers for activities so long, that I worry that it'll start offering me in-app purchases any time soon


Wow. This game is really addictive.


Great game. I'm having fun


How can I save for real? :S


Nevermind, Im opting to see this out until the end.


does anyone know what to do with alien alloy?


There's a fourth "area" (Room | Village | Path) you can get after you explore a whole bunch. The alien alloy is used there.


refreshing page.. get more stuff..


Stroke fire takes too long. After waiting for the first one and getting a second wait, I quit. You should make it faster until you have acclimated the user to the slow pace.


Alternatively, you should have an attention span not measured in seconds.


Thats mean! I was merely saying the opening needs to first 'earn' the right for my attention. I am surprised that you can get down-voted for suggestions.


How would you acclimate a player for a "slow" pace without starting slow?


Unfortunately, this game seems to be browser-based and requires javascript to work -- so I'm going to pass.


I'm starting to feel like no-javascript-guy is some type of HN novelty account. Seriously man, not a single person here cares that you don't use javascript. Move on.


I strongly disagree. Gnosis is being ridiculous here in complaining that something interactive needs code, but it's equally ridiculous for non-interactive pages to need javascript. I've seen pages with the entire content in the html, set to invisible, that needed javascript to turn the text black. That is shameful web development. It shouldn't take 10 billion clock cycles to make the page appear. Html, css, javascript, they each have their own jobs, and it's valid to complain when someone does it wrong.

But again, it's only valid to complain about/mock javascript on non-interactive pages like blogs.


> But again, it's only valid to complain about/mock javascript on non-interactive pages like blogs.

Which is a bit part of the point of this, it is an interactive page. Though again I'll disagree further and say it isn't valid at all to simply complain and mock. A reasonable discussion on usage of javascript, or browser-based applications would be worth having. Just saying "not gonna use it" isn't interesting.


Again, you're talking about javascript on application pages. I am perfectly fine with javascript on application pages. My only complaint is when there is no fallback on simple document pages.


"Gnosis is being ridiculous here in complaining that something interactive needs code"

You know, not everything that needs code needs to be run in a web browser.

Is it really so ridiculous of me to oppose opening my browser up to Javascript exploits and spying by the likes of GoogleAPI?

I'd be happy to run the game in any of the standalone, non-browser-based Interactive Fiction game engines like Frotz[1], Zoom[2], and Inform7[3] out there that this particular game might have been written in. And I would have had no problem playing it then.

[1] - http://frotz.sourceforge.net/

[2] - http://www.logicalshift.co.uk/unix/zoom/

[3] - http://inform7.com/


Standalone engines are subject to fewer attacks from untrusted code, so they're probably easier to exploit than a browser. So I can't really agree with you on a security perspective. And incognito mode / using a separate browser profile / portable browser installs are all options to completely preserve privacy that are either as convenient or more convenient than installing an interactive fiction engine.


"Standalone engines are subject to fewer attacks from untrusted code, so they're probably easier to exploit than a browser."

Probably? This is purely speculative.

I'd be interested to see any actual exploits of Interactive Fiction engines. So far, they are a much less attractive target to malware authors than web browsers are. That alone makes me prefer them over web browsers, no matter what their theoretical vulnerabilities may be.

"incognito mode / using a separate browser profile / portable browser installs are all options to completely preserve privacy"

Users are often tracked by their IP addresses as well as OS and browser fingerprinting, which Javascript can facilitate. Try going to Panopticlick[1] with Javascript turned off and then with it turned on and see the difference.

"that are either as convenient or more convenient than installing an interactive fiction engine."

But I already have multiple Interactive Fiction engines installed, so using them is perfectly convenient for me. As for others, how many people do you think actually bother to use a separate browser profile or even "incognito mode"? Not a hell of a lot. And if they do, they might also do what I do and disable Javascript altogether.

[1] - https://panopticlick.eff.org


>So far, they are a much less attractive target to malware authors than web browsers are. That alone makes me prefer them over web browsers, no matter what their theoretical vulnerabilities may be.

I sympathise but find it quite contrary that you prefer to download standalone engines over something sandboxed in the browser. Although I believe there is some unknown percentage of users who won't turn on Javascript for this game, I can only imagine that a vanishingly small percentage of those might take a stance similar to yours.

The other obvious flip-side of your argument is: Javascript has a much bigger potential audience than IF engines these days. That alone makes Javascript preferable to develop for. The security and privacy issues do not make enough of a dent in Javascript's userbase to make this a serious consideration for developers.


I never claimed that developers or the vast majority of users are going to suddenly abandon Javascript once they heard my oh-so-compelling argument against it.

In fact, I don't expect them to.

Most users are ignorant, technologically illiterate, blind to security issues, and lacking of any concern for their online privacy. Most developers aren't much better, and aim for the low-hanging fruit, without many scruples as far as respecting the privacy of their users goes.

No. Most of them aren't going to change. But that doesn't mean that I'm going to suddenly give in and start using Javascript myself. And though I be a lone voice crying in the wilderness, I'm going to stand up for what I know is right.


I care slightly, because it's such a very strange stance to have. I just can't understand this aversion to js. Do they want the browser to just display html forever? Go back to the way things were? Do they actually think that will happen? When the browser is _the_ application platform, what will they do?


> I just can't understand this aversion to js.

Obviously, you didn't live through the age of X11 popup adds or javascript exploits.


As a game developer, I care. Any sign that my potential audience is cut by a technology choice I make is valuable information to me.


Should you really expect to be able play a web based game if you don't AT LEAST have javascript enabled?


The point is that it's valuable for game developers to realize that some people can't play a game that requires javascript. The comment helped facilitate that.


Everyone can plan a game that requires javascript. A vanishingly small number of people actually wont. Reading anything more into this single comment is silly.


From your comments you seem to actually be interested, so let me tell you about it from my neo-luddite POV.

I love games ( I actually _pay_ for games I like ). I also run with my browser fairly locked down. If you've made a game like this and want me to take more than 10 seconds on the web page, at the bare minimum have it load _something_ without scripts and without requesting anything from another domain ( this means jquery, google apis etc )

This game is a great example of one I wouldn't look at because it loads nothing until a request to googleapis is enabled and scripting is turned on. Perhaps it is overly judgemental on my part, but I assume that failing to provide _any_ level of graceful degradation in a design indicates a poor effort. It takes 5 minutes to add this to your landing page and will save you a tiny percentage of bounces.

tldr: make sure your landing page loads something. anything. Ideally a short message telling users what awesome things enabling the site scripting does for us.


I don't know if that's necessary here. How is someone supposed to get to this page without knowing it's a game? And if someone that turned off javascript doesn't expect that a game might need code, well, I'll have more fun laughing as the door hits them on the way out than I would having 0.1% more traffic.

(I would agree with you if there is some significant flow of visitors that don't already know it's a game, but not until then.)


"And if someone that turned off javascript doesn't expect that a game might need code, well, I'll have more fun laughing as the door hits them on the way out"

Have you ever heard of games that don't run within web browsers?

That's what I thought this particular game might be.

In fact, there is a slew of standalone, non-browser-based Interactive Fiction game engines like Frotz[1], Zoom[2], and Inform7[3] out there that this particular game might have been written in. And I would have had no problem playing it then.

[1] - http://frotz.sourceforge.net/

[2] - http://www.logicalshift.co.uk/unix/zoom/

[3] - http://inform7.com/


It is a web based game and uses Javascript, there isn't anything specifically wrong with that. Why is it objectively superior to have distributable binaries that have to be compiled or ported for each architecture and OS? What is the fundamental advantage here?

Honestly, aside from not making a point in your initial comment you chose to make it in an unnecessarily snarky manner. Completely uninteresting and irrelevant to someone saying "hey check out my game". If you don't want to check it out, then don't, it isn't necessary to share that non-information with the rest of us.

I'm sure most of us (as I can see from the extended comments on this here) would have been more than happy to have a reasonable discussion on the pros and cons of browser based distribution of applications if you had started there instead of where you did.


> Why is it objectively superior to have distributable binaries that have to be compiled or ported for each architecture and OS? What is the fundamental advantage here?

Speed of execution, and independence regarding what you can do with a browser, compared to what C/C++ offers you, especially libraries and access to the metal.

I'm not saying those are better ways to make games, but if you want real time stuff, like physics or animating several units at the same time, real time inputs, networking, a browser is not going to cut it. A browser is not an OS in itself, it just makes apps easier to make.

The web has been developing a lot since v8, it's really a good thing for developers who want to make things quickly, with pretty good performance, but I doubt it enables dev to do all sorts of applications imaginable. Games are mostly always resource intensive.

This game is really great, but remember, it's free, doesn't seem to run well on smartphone (when in fact v8 aimed to do just that), and it's not like it will be the most played game in your life. You can't make people buy this or play it at a game show. This game is a pearl, it's well done and I had a very good time with it (although short, and I doubt I'll come play it again), but it does not mean all game should be made using this platform.


"It is a web based game and uses Javascript, there isn't anything specifically wrong with that. Why is it objectively superior to have distributable binaries that have to be compiled or ported for each architecture and OS? What is the fundamental advantage here?"

First, I much prefer open-source games, where I can see the code. So I would avoid binaries. And whether an app I use needs to be recompiled for some operating system other than the one I use is really not my problem.

Second, I loathe the move to making everything accessible only through the web, usually through bloated, insecure web browsers and crappy web technologies. If 99.9% of the web died tomorrow, I would be overjoyed. This includes virtually everything done in Javascript (not to mention Flash).

Third, I've yet to hear of an exploit of a standalone Interactive Fiction engine, while Javascript browser exploits are a dime a dozen. I prefer not to make my browser more vulnerable by running untrusted, unnecessary Javascript code.

Fourth, I don't want to be tracked through spyware like GoogleAPI, thank you very much!

"Honestly, aside from not making a point in your initial comment you chose to make it in an unnecessarily snarky manner. Completely uninteresting and irrelevant to someone saying "hey check out my game"."

Except that developers did find it interesting. Like the following comment from sillysaurus[1]:

  As a game developer, I care. Any sign that my potential audience is
  cut by a technology choice I make is valuable information to me.
And my comment clearly generated a lot of discussion, so I feel I made a positive contribution.

"If you don't want to check it out, then don't, it isn't necessary to share that non-information with the rest of us. I'm sure most of us (as I can see from the extended comments on this here) would have been more than happy to have a reasonable discussion on the pros and cons of browser based distribution of applications if you had started there instead of where you did."

I should have gone in to more detail as to why I am opposed to running Javascript in my browser, and why I prefer to run standalone apps rather than web-browser apps. And had I seen the gigantic backlash that my little comment generated, I would have -- had I not gone to sleep immediately after making my comment. So I'm replying now that I'm awake. I hope my current comment helps clear up why I made my initial (all too brief and snarky) comment.

[1] - https://news.ycombinator.com/item?id=5961281


"That's what I thought this particular game might be." Well, you were wrong. This is a great game BTW. I'm hooked. Turn on JS and enjoy, or go play with what allow yourself.


Game developers should learn that Amish people exist, at which point they're aware that all computer-related things will have people who choose to not them. They'll also learn that it's not a big deal.


It's not about being "Amish" or Luddite. It's about trying to keep my system secure and not being tracked.

No thank you to opening my browser up to Javascript exploits and GoogleAPI tracking!


HN comment trolls are probably not a representative selection of your future audience.


I can't imagine anything more accessible than a simple website these days.


If no one cares, why are there dozens of replies to this thread?

More to the point, if at least you didn't care, then why did you comment?

Why didn't you "just move on"?


He does not care about your minor decision, he is instead annoyed by your post to announce your minor decision to the world.


"he is instead annoyed by your post to announce your minor decision to the world"

Well, I'm annoyed by these other people's announcements of their minor decisions to play this game despite it being a threat to their security and privacy.

So, I don't agree with the mouthbreathing masses. It won't be the first nor the last time.

You know these same people would probably be exploited by some dancing baby app, punch the monkey game, or porn app which they fell all over themselves to install, and then announced to the world how great it is!

Yeah, I don't want to be hacked or tracked like the rest of these morons are. Sue me.


Hey! Hey guys! I don't use Facebook! Aren't you proud of me!?


This has no place on HN. Substance or nothing.

EDIT: Remember, your votes decide the type of discussion you'd like to be having in the future. So down vote me if you'd like to see more bullying on HN.


Can I just downvote you for whining and confusing anecdotes for data?


I use noscript, and am continually annoyed by web pages that feel they need to run code on my computer to load. I get it when people complain about things needlessly using Javascript.

With that in mind, what the hell were you expecting? Even in the 90's web based games used flash. What exactly was the 'secure' alternative? A game needs to run code, whether natively or in your browser.


Have you ever heard of games that don't run within web browsers?

That's what I thought this particular game might be.

In fact, there is a slew of standalone, non-browser-based Interactive Fiction game engines like Frotz[1], Zoom[2], and Inform7[3] out there that this particular game might have been written in. And I would have had no problem playing it then.

[1] - http://frotz.sourceforge.net/

[2] - http://www.logicalshift.co.uk/unix/zoom/

[3] - http://inform7.com/


This is not an interactive fiction game. While primarily text-based, it uses rich UIs based around that text, and the input mechanism is not command-based, but instead generally button-based (or in the case of the third and fourth parts of the game, partially arrow-key-based). In addition, the end of the game isn't actually text-based at all.

The developer would have to ship their own custom engine, at which point you have unsandboxed code running under your user account on your computer, instead of code sandboxed in the browser (which is probably the most generally available and secure sandbox for arbitrary code that exists right now). You are quite unlikely to give the game a full code review to make sure it's not making any analytics requests or shipping your data off to the program author, so that is probably worse from a logical security standpoint.

Now, if you're worried about the request to load JQuery from ajax.googleapis.com, you could've pointed out originally that this is a concern for those who worry about their privacy, and most on here would agree with you. I'm not actually sure why the author of this game decided to use the CDNed JQuery, when the rest of their scripts are unoptimized and loaded from their own server.


'Secure' interpreter? Fair enough. I'm afraid that would likely make it harder to get started though. Not to mention that JS probably has support for better graphics assets than a regular text game interpreter.


"JS probably has support for better graphics assets than a regular text game interpreter."

This game was billed as a "minimalist text-based game", for which any of the standard Interactive Fiction interpreters would have been more than adequate.

Incidentally, many of these IF interpreters are able to display graphics, and sometimes even sound -- though the usefulness or appropriateness of those features in the context of IF is debatable.


Get a burner machine or something. I've yet to have a js-based security problem.


"I've yet to have a js-based security problem."

You mean you have yet to become aware that your browser has been owned through some Javascript exploit.

Somehow that isn't very comforting to me.


I'm sorry, what basis do you have for saying 'your browser has been owned,' as if it were inevitable and I were merely unaware of it? Just because I have JS enabled does not mean I'm indifferent to security. Besides my OS, I also monitor traffic through my router and modem.

Please don't assume that your abundance of caution entitles you to dismiss others as ignorant or indifferent to security matters.


All I'm saying is that absence of evidence is not evidence of absence.

It's possible that your security has been compromised and you are simply unaware of it. It's great that you monitor your network and take other security precautions. It would probably be even better if you also avoided running Javascript apps written by people you don't trust. Wouldn't you agree?


No.


Didn't making your post also require a browser?

You prefer running a binary to play a game?


No. I prefer open source games. You are aware that they exist outside of web browsers, aren't you?


You are aware that ALL Javascript is open source, aren't you?

If you trust native code simply because it's open source, why don't you trust browser-interpreted code?


Being able to read the source is necessary for open source, but not sufficient.


If the source is available to the public it is open source. I may not have a copyleft license, but for that we have other terms like "Free Software".


> If the source is available to the public it is open source.

That's not the usual definition. The usual definition of "open source" revolves around having an open source license.

> I may not have a copyleft license, but for that we have other terms like "Free Software".

"Free Software" and "open source" are approximately equivalent (the FSF "free software" definition and the OSi standards for "open source" aren't identical, and there are probably some license that meet one but not the other, but they are close enough in practice that its not a huge difference.

"Copyleft" is a much narrower term than either "open source" or "free software". Most open source or free software licenses are not copyleft.


"Didn't like the font choice."




Consider applying for YC's W25 batch! Applications are open till Nov 12.

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

Search: