13 ms·
“A Dark Room” game open-sourced
- mjn 13y agoHN discussion of the game itself, from a few days ago: https://news.ycombinator.com/item?id=5961205 https://news.ycombinator.com/item?id=5961205
- Ellipsis753 13y agoIt was written in neatly written javascript. It was already open source. :P
- mjn 13y agoTrue, it was already source-available. That was already quite nice, especially because it meant I could fulfill my completionist urge by reading the source code to see everything that could've happened. The change here is that it's been GPL'd, so you could (legally) build another game using parts of it if you wanted. edit: see also http://blog.doublespeakgames.com/?p=21 http://blog.doublespeakgames.com/?p=21
- yarrel 13y agoThat's not what "open source" means.
- mAritz 13y agoIt was however minified for at least some time. Which made me sad because it greatly limited my abilities to easily cheat. (I did beat it without cheats but that took quite some time)
- johnchristopher 13y agoI was wondering if all the people that finished the game in less than 4 hours in the other thread were cheating or if I missed something.
- Jd 13y agoI'm not sure if this is cheating, but I set auto-clicking on the buttons with the console and left it open in its own tab so that I could do other things while my minions created steel. Certainly my time spent was considerably less than 4 hours.
- saraid216 13y agoYou couldn't send a pull request before this.
- potomak 13y agoBest comment: "MICHAEL IS A LAZY BASTARD AND DOES NOT WANT TO REFACTOR" [1] [1] https://github.com/Continuities/adarkroom/blob/master/script/engine.js#L3 https://github.com/Continuities/adarkroom/blob/master/script...
- S4M 13y agoMaybe the lazy bastard open sourced his code so someone else would refactor it for him.
- reeses 13y agoI've always been a fan of Shame-Driven Development.
- mkramlich 13y agoif it's consistent with TDD and RDD it means you start with shame, then go write something to feel ashamed about?
- Continuities 13y agoSDD: Write something bad => Surround oneself with reminders that it is bad => Fix it* *Or, more likely, drink to forget.
- babuskov 13y agoThe thing that needs to be refactored is called the Observer Pattern, and it's one of GoF patterns that most professional programmers should at least know about. By "know", I mean the mere fact that it exists. Implementation details depend on the programming language and can always be looked up.
- Continuities 13y agoYup, I'm familiar with it. I just didn't think to use it until it was much too late...
- dep_b 13y agoAh great, so I can add keyboard shortcuts instead of fast clicking of ever shifting button locations and obscuring description labels.
- Patrick_Devine 13y agoSweet. Although, frankly, I can't believe how much time I've sunk into this game since seeing it on HN the other day. It would be nice to fix the end game and add better ways of fighting the infernal Ferral Beast. Maybe a laser rifle factory?
- rschmitty 13y agothere is an end game? I took off in a spaceship and dodged asteroids then it took me back to the start of the game. Did I die and miss something?
- Jd 13y agoYou didn't miss anything. There is no cool end, just a reset (sadly IMO). However, "End game" usually refers to the gameplay at the end of the game, specifically in chess where you try to force mate with only a few pieces.
- floydenstein 13y ago>where you try to force mate There is a word for that.
- saraid216 13y agoIn RPG-style games, which this is... sort of..., "end game" generally refers to the point where you've built up your character to the maximum, or very close to it, and are now concerned with other things. It used to be known as the "elder game" in MMORPGs.
- rossk 13y ago"A Minimalist Text Adventure"-- What would a maximalist text adventure look like?
- makeset 13y agoZork?
- maxsilver 13y agoDwarf Fortress? I guess it's not really a text adventure, but still...
- saraid216 13y agoDwarf Fortress is probably a textbook example of anti-minimalism.
- dhotson 13y agoMaybe something like roflbalt? http://www.youtube.com/watch?v=VoHmJfXqwbM http://www.youtube.com/watch?v=VoHmJfXqwbM https://github.com/pda/roflbalt https://github.com/pda/roflbalt :-P
- Jd 13y agoDunno, but if you are a frequent online gamer you probably know that 'minimialism' is a frequently used tag over at Kongregate and that there many other minimalist games that are not text adventures. Notable examples: Momiga (http://www.kongregate.com/games/Rogerup/momiga http://www.kongregate.com/games/Rogerup/momiga) - one button, one dot Midas (http://www.kongregate.com/games/wanderlands/midas http://www.kongregate.com/games/wanderlands/midas) This is not a minimalist game (http://stormalligator.com/this-is-not/ http://stormalligator.com/this-is-not/) Pretentious game (http://www.kongregate.com/games/keybol/pretentious-game http://www.kongregate.com/games/keybol/pretentious-game)
- treerex 13y agoAny of the later (or heck, even the earlier) Infocom text adventures are far from minimalistic. And contemporary interactive fiction written with Inform quite complex. Far more so than this.
- Aardwolf 13y agoIt already was open source by looking at the js code in the browser when I played it this weekend, at least I remember looking in the source code to find the chance of the Wandering Master appearing (which is, btw, around 1/Nth chance every 3-6 minutes while you're in the firelit room where N is amount of event types, 6 or so iirc) Does uncompiled JS count as open source or not? Seems to fit the definition to me at least. Or is change history required as well to really call it open source?
- davexunit 13y ago>Does uncompiled JS count as open source or not? No, it doesn't. The license indicates if it meets the requirements to be Free Software and/or Open Source Software. Was there a license header in the JS files?
- Spittie 13y agoJust because you're able to see the source, it doesn't mean that it is open source. An example is the recent release of the Adobe Photoshop 1 source code. You can see it, but it's not released under an OSS license. To be considerate Open Source, code has to respect those criteria: http://opensource.org/docs/osd http://opensource.org/docs/osd
- PhearTheCeal 13y ago>9. License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software. For example, the license must not insist that all other programs distributed on the same medium must be open-source software. So, under this definition, the GPL isn't an open-source license.
- reeses 13y agoWhich is why rms and the FSF are careful to distinguish between "free" and "open".
- dragonwriter 13y ago
- iM8t 13y agoThis is great news. Now we will be able to implement our own ideas and make the game even more awesome. Why not implement another planet after the UFO? Heck, lets build a whole star system with many possiblities to choose from.
- vanderZwan 13y agoWe'll end up with an ASCII version of Spore, won't we?
- willvarfar 13y agoIt runs entirely in the browser? Then why not put it in a gh-pages branch so it can be played too? I did this for my ludum dare text adventure: http://williame.github.io/ludum_dare_23_tiny_world/ http://williame.github.io/ludum_dare_23_tiny_world/
- mjn 13y agoThe canonical playable version is already hosted online on his own site: http://adarkroom.doublespeakgames.com/ http://adarkroom.doublespeakgames.com/
- willvarfar 13y agoBut if he puts it on gh-pages then the forks are also playable online. Bit late now, perhaps.
- starefossen 13y agoOr just use the rawgithub url: http://rawgithub.com/Continuities/adarkroom/master/index.html http://rawgithub.com/Continuities/adarkroom/master/index.htm...
- Jd 13y agoOk, so I just played through your game since you put the link here. Qs: (1) are you supposed to interact w/ the NPCs? Only substantial interaction I noticed is when you turn on the lighthouse and the pirates run away (2) Looks like you don't need to solve any of the puzzles to win the game? (3) Seem to be a lot of unneeded items also? In general, a bit confused. I never did anything w/ the brick, the rake, the racket, the music, or moby dick, and yet managed to win the game it seems.
- willvarfar 13y agoThank you for playing! We made it for a Ludum Dare contest http://www.ludumdare.com/compo/ludum-dare-23/?action=preview&uid=10313 http://www.ludumdare.com/compo/ludum-dare-23/?action=preview... which has a 72 hour deadline and we simply didn't have time to finish it, basically. So theres lots of started plot twists which don't get used or go anywhere, e.g. we added the NPCs but didn't get a working conversation system in there. There are plenty of surprising problems in making this game; here's a write-up: http://williamedwardscoder.tumblr.com/post/21865366869/how-to-make-a-text-adventure http://williamedwardscoder.tumblr.com/post/21865366869/how-t... Thx again for playing! You might like some of our other LD entries: http://www.ludumdare.com/compo/author/william_edwards/ http://www.ludumdare.com/compo/author/william_edwards/
- daturkel 13y agoProud owner of pull request #1. Hoping people will make really cool contributions to the game.https://github.com/Continuities/adarkroom/pull/1 https://github.com/Continuities/adarkroom/pull/1
- Continuities 13y agoMerged, my man.
- Dove 13y agoThere's either a bug or an easter egg with the Mysterious Wanderer / 100 furs. The rest of the mysterious wanderer encounters have expectation zero. Give 100 wood, 1/3 chance of 300 wood, 2/3 chance of nothing. Same with 500 wood -- 1/3 of getting 1500 back. And 500 furs. But 100 furs has a 1/2 chance of giving 300 back, making it a good investment. (events/room.js:361)
- etjossem 13y agoI'm pretty sure it's intentional, and in the source we can see that the mechanics are the same for wood and furs. Both mysterious wanderers will accept 100 units and have a 50% chance of returning with 300. Average marginal return per event: +50 units. You learn over time that this is generally a good deal, and you begin to trust the NPC. Eventually, the player may get greedy. You'll try giving a mysterious wanderer 500 units of a resource in order to speed up the process, under the assumption that the odds are the same. At this point, there is a 70% chance that the wanderer will be tempted to abscond with your (relatively large) investment. Average marginal return per event? −50 units. And that's why "builder thinks he isn't to be trusted"!
- Dove 13y agoOh, I see. I misread the "100wood" one. You're right.
- aaronsnoswell 13y ago
- dakimov 13y agoWhy is this important?
- lnanek2 13y agoReading code is a much better way for a developer to learn than reading articles IMO. Of course writing is even better...
- eru 13y ago> Of course writing is even better... I don't think you can compare. There are things you can only pick up from learning from other people (or re-inventing everything yourself), and there are other skills you have to develop yourself.
- mjn 13y agoI'm not sure I'd say it's important, in the way that Blender getting open-sourced was important or anything like that. But it's a game that a lot of HN readers liked when it was posted a few days ago, and now the source is available under the GPL, so I thought people might be interested. Not so much a major news story; more of an FYI kind of submission.
- Dove 13y agoOkay, so I finally get to see what baited traps do: they double the output of the trap. And I finally get to see what traps drop! So now, I can label the trapper (assuming I have 9 traps and check them regularly (trapper can't make bait for 10)): Income/10 sec: Fur: 0.5 Meat: 0.25 Scales: 0.1 Teeth: 0.05 Cloth: 0.065 Charm: 0.005 Which is surprisingly competitive with the hunter. I think I'd rather have the hunter once I have my charm and better sources of teeth, scales, and cloth.
- deleted 13y ago[deleted]
- Jd 13y agoWhat better sources of teeth and scales are you referring to? Harvesting them from wandering beasts seems extraordinarily tedious and time-consuming. Converting to them from fur requires an incredible amount of fur.
- Dove 13y agoI meant manually hunting. I usually wind up with more teeth and scales than I can use without particularly seeking them out. Though I guess I don't buy things with them a lot. The one time I did buy alien alloy from the store, I didn't have too much trouble farming 750 scales from big lizards, though. I could bring in 30 or 40 scales per trip. I didn't time myself, but the trips themselves couldn't have been more than a minute or so in duration. It was definitely tedious, but not totally unreasonable. Traps are a poor source by comparison -- 20x to 40x less efficient per time spent. Admittedly, they're passive. Sort of.
- Jd 13y ago2 minutes per trip. 35 scales per trip. 700 scales needed. That works out to 40 minutes per Alien Alloy. I guess it depends on what you consider unreasonable. I don't usually play games w/ a large amount of grinding.
- kybernetikos 13y agoThis game really impressed me. The scope was amazing, the contrast between where you start and how it ends, the hints of disaster and questioning of your own identity. I found that it brought out the superstitious in me - I never knew why it was important to keep the fire lit and the room warm, but I made sure that it was. I didn't know what charms did, but I tended to take one with me when I went exploring. The only slight disappointment I had with it was that I was expecting it to be much more story driven, but while there were hints of a story that emerged, I would have liked more. Did you take builder with you when you left? Were you really part of the alien menace that strip mined the planet? Do you feel different now after having bootstrapped civilization amongst these people? Where did builder learn so much? Did anyone ever catch those creatures in the store room? Will the planet recover? What will you do next?
- grannyg00se 13y agoI had a great time trying to figure out whether it was worth carrying 10 rifles on an expedition or just one. Same with steel swords. I think my standard outfit ended up being one rifle (plenty of bullets) and five swords - though I'm still not sure if it makes much of a difference. I can't imagine how long it would take to complete the game without cheating. I would manipulating the localstorage database from time to time.
- gliese1337 13y agoApproximately 6 hours, not counting the overnight break while I slept and let it just sit there accumulating resources. I made a lot of non-optimal decisions the first time through, though, seeing as how I had no idea where it was going. That combined with the sleeping time means I have very little idea of the minimum time required to play it straight through.
- anigbrowl 13y agoI think I put in 6-7 hours over a few days.
- reledi 13y agoIf I'm not mistaken, carrying more of the same weapon doesn't give you any benefits, it only means you get to carry less of other items. I looked at the JS code while playing and found the amount of damage each weapon does. In battle, this amount of damage was dealt when carrying multiple of the same weapon or just a single one. Carrying one of each weapon does make a huge difference though, because you get new attack buttons.
- Continuities 13y agoHonestly, putting the source out in the open is kind of terrifying. The code was written without the expectation of a global code review. I regret so many lazy shortcuts and the general lack of solid architecture now...
- jffry 13y agoThere will surely be a lot of discussion of your code, but it's still awesome that you put this out there under an open source license.
- anigbrowl 13y agoHey it worked. My only gripe was with a few (very minor) aspects of the design, like not being able to stop and eat meat after a fight, or dying of starvation despite carrying a large amount of fresh meat. I noticed a couple of tiny display bugs, but none that interfered with operation. It may have been prototype-level code, but I played through to the end which is something I don't usually bother to do!
- anandkulkarni 13y agoThanks for doing this! It'll be a lot of fun for folks to fork.
- dangayle 13y agoIt was a white screen with text, and you managed to get a whole lot of picky Hacker News nerds playing it. You deserve kudos just for that :)
- gregorymichael 13y agoUnderstandable given the HN crowd. Try to focus on the fact that you did an incredible job. At the end of the day, the purpose was to create an entertaining game. Me and a whole bunch of others gave you 6-7 hours last weekend, and I am not easily parted from my hours. I haven't been captivated by a game like that in a decade. Good job.
- zhemao 13y agoUgh, I knew I shouldn't have looked at these comments. You guys totally spoiled the surprise. =P
- synchronise 13y agoIt's a great game, but I wonder why the GPLv3 was chosen, since it's incompatible with GPLv2 only code and various other licenses.
- Continuities 13y agoHonesty: I know nothing about open source, and obsessively take the newest version of everything.
- frisco 13y agoYou should reconsider. GPLv3 has much stricter "copyleft" requirements that make it difficult to use GPLv3 code with code under less radical licenses.
- qznc 13y agoI made this wizard for choosing a licence. Might help you. http://beza1e1.tuxen.de/licences/ http://beza1e1.tuxen.de/licences/
- Continuities 13y agoAccording to the wizard, MPL 2.0 is the right license. Anyone have any more informed opinions?
- Cogito 13y agoI added some simple click handling to the world map to hopefully enable continued play on mobile devices. Pull request here[0]. By clicking on the north of the map you move north etc. Might be improved by making it relative to the player, rather than the centre of the map. You can play through the game with the changes here[1]. EDIT: It was better measuring the click relative to current location, so I changed that in the PR. [0] https://github.com/Continuities/adarkroom/pull/7 https://github.com/Continuities/adarkroom/pull/7 [1] http://cogito.github.io/adarkroom/ http://cogito.github.io/adarkroom/
- joshuak 13y agoThanks! Yes this is the most important first fix. Never underestimate the volume of iPad only users. ;)
- Cogito 13y agoNo worries :) Would love feedback on the interface if you are able. The interface feels pretty good with mouse, and seems like it would translate well to iPad, but I won't be able to test myself for a few more hours. I thought about adding separate buttons that could be clicked, but decided that clicking on the map was more intuitive and fit with the game better.
- siddboots 13y agoIf you die of starvation or thirst more 10 times, you learn to survive twice as long without food and water respectively. Now, someone tell me how to rid the village of thieves.
- scott_karana 13y agoIf you wait long enough on the Village screen, they catch the thief. You can either execute him, and get a lot (or all?) of your goods back, or you can learn from him, and get "Stealth", which makes for less wilderness encounters.
- Zarkonnen 13y agoThis is really cool - Continuities: how interested are you in merging in additions to the game? I'd quite like to add raiders and medicine.
- Continuities 13y agoI'm all for expansion, so long as the general atmosphere is maintained. Also, while I intend to maintain control over what gets published to adarkroom.doublespeakgames.com, I have absolutely no problems with other people publishing their own forks with different artistic visions.
- Marie200 13y agoI like rose