11 ms·
Designing and Building Stockfighter, Our Programming Game
- jsingleton 11y agoThis sounds really fun but that is one long post/email. Almost 8000 words! Will read it later though. Looks like the schedule has already slipped. The email said "2~3 weeks of today" but the blog post says "3 weeks of today"! :P
- tptacek 11y agoImagine that! An ambitious development project with a constantly slipping schedule! Maybe we're the Duke Nuke'Em Forever of CTFs! :)
- jsingleton 11y agoI know how it is. At least you didn't compare it to Daikatana. :)
- tptacek 11y agoI swear to god, and this is terrible, but the Daikatana Effect is one of the reasons we've been so quiet about this. Since we're going to keep rolling out new level sets continuously, we should probably have been a lot more chatty. But I keep telling Erin and Patrick that I want to control expectations, at least until we know exactly what we're shipping in chapter 1. Of course, now we know what chapter 1 is, so I've lost my excuses to keep them from writing! Erin & I have an emulator post ("Everything Thomas Got Wrong About Emulators This Time That He Didn't Get Wrong In Microcorruption") brewing, too.
- vezzy-fnord 11y agoI actually think this is the right way of approaching lots of projects. There's a strong culture which encourages people to release things as early as they have a skeleton, but I've always preferred "Be discreet until you have a fully functional 0.1." There are certainly some initiatives that benefit from immediate fanfare as soon as you have a web page and a 200-line shim (if even that), but not all that many.
- BillyParadise 11y agoI have ADD and was able to read it.
- lifeisstillgood 11y agoWell apart from "there goes October, dang I had real work planned", I am really welcoming this game. I would normally have jumped all over their compiler "tree", but I have been in my first Finance contract this year and I have not yet understood HFT. Edit: this post got longer than planned - apologies - but this HFT / algo thing has been bugging at me for ages and this seems a likely thread for knowledgeable folks. The references to Flash Boys worry me slightly - Lewis sold a false scenario there - it's pretty clear that no fool is going to see Bob buying a million Apple shares in London, then zip over their speed of light towers and front run Bob in Frankfurt for another million Apple shares. Who knows if Bob wants a million? Flash boys it seemed relied too much on a protected type of trader (market maker) getting roasted by the emergence of real competition - the "algo" traders. It seems incontrovertible- equity market spreads have fallen by about 5/6ths in the past decade (no wonder Lewis' hero trader thought someone was stealing from him) but ... How and Why? what algo traders actually do is a bit of a mystery to me. The basics I kind of understand : There are correlations between shares - spot those and you can make money. Let's say oil goes up, car manufacturers will go down by some amount. Short them and make money. The first time people did this they probably thought they had found a money printer. But then someone else starts playing the same algorithm - so you have to get your orders in taste than that guy - pretty soon you are worrying about the speed of light over glass. But other correlations exist and get spotted and tried out and ... Well it seems a bit of a weak business model to me to live in P of .95. So the business model of HFT is a bit weird, and the way their actions feed into reduced spread / liquidity is a bit unclear - but anyway, I look forward to totally screwing up my social life in a few weeks. Anyone who can enlighten me, please shout.
- tptacek 11y agoTrust me, Patrick agrees with you about Flash Boys. If you haven't yet, read the followup/critique book he cited, even if you haven't read Flash Boys. It's fantastic and chock full of interesting technical details. It's way nerdier than Lewis' book.
- lifeisstillgood 11y agoThat's the "Not so Fast" book? I actually read that before flash boys. Somehow the narrative from flash boys had penetrated the NYT/Economist meme-spreading network and I had accepted it at face value. However the microstructure book looks ... Deep - but I guess I need to decide if I am in or out :-)
- ctz 11y agoI do wonder about the logic of collecting the email addresses of interested parties, then sending them 2000 and 8000 word (respectively) essays. Do people actually read and value such long emails? Do you not lose a bunch of on-the-fence users each time you send them an email which isn't immediately useful or actionable? Then again, I know very little about running a startup; patio11 has a track record. Maybe this works as a strategy.
- kbenson 11y agoIt may work to radicalize a certain segment. I've noticed that some segment of those that are eagerly anticipating something find that the more information they get about it, the more they anticipate it, and the more eagerly they evangelize it to others. I hadn't heard of this, or microcorruption, before the prior blog post regarding writing the emulator. Then I started microcorruption, and it clicked, and then I spent the next few days talking about both microcorruption and starfighter to anyone I thought might understand my eager rambling. Let's just say I'm looking forward to reading this...
- patio11 11y agoDo you not lose a bunch of on-the-fence users each time you send them an email which isn't immediately useful or actionable? That's a number which is trivially calculable. I don't know what it will be yet, but if you asked me to pick the over/under, I'm in for 80 out of 16k people on our list at present. An unsubscribe is not "I hate you guys and wish you would die in a fire"; it's the email equivalent of a browser's back button. "Not for me, not right now." Many startups let each unsubscribe punch them in the gut. Don't do that. The only way to avoid unsubscribes is to avoid email. You profoundly don't want to avoid email. We've sent ~2 emails since... March? If I were a consulting client of myself, I'd have written somewhere between one and two dozen. Is this email going to produce business results for the company? Hard to say. Wild guess? I get a contact in the next hour from one of the companies who has a stalled LOI saying "Oh great you're shipping let's get that signed." Depending on which company that is, the economics are worth hundreds of thousands of dollars. Many professional email marketers strongly disagree with writing long emails. I will chalk that up to a respectable professional disagreement. They work very well for me, by any trackable metric and by most of the intangibles. I've never felt like I created much value with the little 125-word-and-a-picture squibs that the industry blasts out by the hundred million; I know (because people tell me) that some people like my writing rather a lot and are disappointed that I don't hit them with 8k words every Friday. As it happens, a portion of Starfighter's list is folks who are in exactly that bucket. Does that answer the question? Not trying to be very defensive about this, just trying to help other startups out. The modal startup sucks at email marketing. It is, far and away, the highest ROI channel you have and probably the easiest to use well. You should send more email. You should send better email.
- radmuzom 11y agoInteresting sentence in the article - "Trading systems touch low-level coding, networking (all seven layers of hello OSI Model), APIs, end-user UI, databases, embedded systems, enterprise web frameworks, cutting-edge programming language research, Big Data, state management, etc etc.". However, whenever the topics of programming in finance come up in HN, I see a general tone of disdain somewhere along the lines of "why do you want to waste your life in finance when you could be starting a start-up in Silicon Valley?". Of course I am generalizing a bit here, but I have always felt that finance provides incredible challenge to technical people - especially those with a background in mathematics or physics and interested in programming.
- radmuzom 11y agoOops commented too fast without reading the entire article. It says later - "I hope people will, in the course of robbing them blind, actually learn what major Wall Street institutions do for a living and come to a more nuanced understanding of their position in society."
- rm_-rf_slash 11y agoWhen I read the title "stockfighter," I thought it would be a game about joining a tech company 10 years past the IPO and you have to work your ass off for .000001% in options that'll take a year to afford once you factor in rent.
- lifeisstillgood 11y agoI have only a years perspective on the sector now, but I think finance has started down a road all sectors must tread over the next decade or two. We will not escape software eating our world, and while most banks have had too much money and so not confronted many of these upcoming realities, they have had twenty years of faster and faster software-isation- and I can reasonably state that finance are mostly software houses that think they are banks. If you can't code, your future there is bleak. If you can its not that much better. And this is where we are all heading. Yes there are challenges - but it's not often technical but organisational, project, people and process challenges that are the main issues. Those interesting challenges for good STEM people will be in transport, farming and pharmacy too by 2020. Wages might be lower :-)
- davidw 11y agoI'll admit to not finishing that - it was cool to see Patrick geeking out about the impressive tech he's been working on, rather than marketing, though. Good luck, guys!
- lmorris84 11y agoWe solved this in a roughly similar way to a real stock exchange: the order book is persisted entirely in memory, in Go. What happens if your process crashes? how do you rebuild the order book? Great work btw guys, can't wait to get started!
- otoburb 11y agoMaybe that's one of the attack vectors we are supposed to discover ourselves; trigger a kernel panic?
- patio11 11y agoPlease don't trigger a kernel panic in one of the stock exchanges; you're on a server with many other actual humans even if they're not hooked up to your stock exchange. More guidance on "bugs you should not attempt to exploit" versus "Things which are totally in scope" at a later date -- Thomas is writing it.
- fweespeech 11y agoMaybe provide a public QA server for people who are interested in that as another "game". "Can you break our stock exchange?"
- TeMPOraL 11y agoI suspect breaking out the simulated world into the real world will become an interesting meta-challenge, whether you like it or not :).
- bhousel 11y agoDumb idea. If you can trigger a kernel panic, you can do things much more interesting than triggering a kernel panic.
- patio11 11y agoAt that moment, we can't recover from that and players connected to one of the crashed exchanges (1 server process: N exchanges) are told to restart levels, which is not an ideal outcome but it's essentially free. I hope to eventually be able to do something like use our persisted-out-of-memory (e.g. to NSQ) tapes of the orders, bring up the crashed exchanges, and fire every order back into it in order, which (since it's a stock exchange) should result in the same orderbook it crashed with minus whatever we lost during the crash. After we can do that reliably, then I will strongly consider making an advanced mode level where a crash / market reset / rollback of trades is a planned feature of the level (they are absolutely a thing which happens in real life) and dealing with it from the player's perspective is the main task. (e.g. What would you do if you got a message from the stock exchange saying, basically, "We lost data. How much? Umm, not sure, the last orderId we have is X. Orders after X are no longer on our books but, um, I guess there exists the possibility that they will nonetheless settle successfully if they matched before we went down. ... Good luck to you!")
- mwcampbell 11y agoLooking forward to figuring out the REST API for the GM server, then writing a command-line client for that and the exchange itself. Then, presumably, we can play the trading tree of Stockfighter mostly or entirely from the terminal.
- Chirael 11y agoMaybe it's from the length of the message or the general impressiveness of the project, but the first thought that came to mind was, "Wow, I'd have to be unemployed to have enough time to work on this - there's no way I could tackle these challenges in the real world otherwise." Worse, if this is something that's designed to showcase one's technical skills to potential employers, I don't imagine there's a way for the system to distinguish between "took a long time solving challenges because just not smart enough" vs. "took a long time solving challenges because have a day job and a life outside of work/tech". Since this is designed, essentially, to showcase how smart someone is to potential employers, assuming solving time is a factor, it's almost better not to compete until you know you'll definitely have lots of time to devote to it, because otherwise there is the risk of taking too long and looking not-good. I'll add it to the long list of "things I really, really wish I had time for" - or I'll assign it to clone #1023 once that becomes viable :-/
- tptacek 11y agoIf we get this right, it will hopefully be the case that we eventually have so much content that most people won't ever get through all of it. I don't think you have much to worry about in chapter 1, though.
- patio11 11y agoWe want it to be playable by people who have demanding commitments like families, jobs, etc. This affects our level design (the first six will actually time out after 30 minutes; they're beatable with the right script in seconds or minutes after you get it working or by hand in ~10 with play at least as good as mine) and how we go about executing on the business. Ultimately the mechanics of our matchmaking come down to "Starfighter spits a heck of a lot of signal about you at Thomas/Erin/Patrick; we try to decide if it makes sense to introduce to to clients and, if so, to which." All of us are working parents. We will certainly not penalize people for prioritizing piano lessons over being one of the first 5 people to crack a new level. I won't commit to "I'll never look at time between a level is first opened and when it is solved" but, as somebody who has fed his family with code for as long as I've had a family, that strikes me as being among the least interesting things I could possibly learn about an engineer's ability.
- minimax 11y agoMy order came back saying that I had bought 0 shares. And the quote from the exchange now read “500 shares available at $120.” Maybe I don't get the full picture, but it sounds like you have to poll via REST API to query the book? Modern exchanges just give you a feed of updates (adds, deletes, trades), so you don't run into situations like this. You can just check the feed to see what happened.
- patio11 11y agoThe feed is hooked up via a websocket to the UI, but not persisted anywhere on the client side. From my eye's perspective, the cancel never registered. If I had had wireshark open I would have seen it. (I encourage folks who understand why this is not desirable to build their own trading UIs using our provided e.g. websockets.)
- deleted 11y ago[deleted]
- pjungwir 11y agoPatrick, you should just admit it that the reason you are starting off with a financial theme is so you can include a level about breaking into a Bitcoin exchange. :-) More seriously, to somewhat address the "8000 words?" folks, the runup to Starfighter reminds me a lot of StackOverflow. Both seem like projects that would have flopped if not for the creators' existing audience and great care in cultivating excitement by explaining in depth the need, the goals, and the philosophy of the project. It'd be interesting to revisit the early StackOverflow marketing and compare the two more closely.
- listic 11y agoThere's a lot of things going on here. But what is the point of Arduino?
- tptacek 11y agoAVR. Not Arduino. Starfighter is the successor to Microcorruption, a microcontroller-based memory corruption CTF. We wrote Microcorruption to provide hands-on learning for memory corruption exploits. We used microcontrollers instead of full-featured CPUs so we could (a) lose most of the irrelevant details of operating systems and (b) fit the whole memories of thousands of emulated CPUs into a single server process. We also liked the idea of leveling the playing field, so that pros with large libraries of X86 tools didn't have too much of an advantage. Microcorruption used MSP430. We picked MSP430 because it's the simplest, most elegant MCU instruction set for which GCC support was trivial. Starfighter uses AVR because we didn't want to use MSP430 twice, and AVR is the most popular MCU instruction set among hobbyists. It turns out AVR does other interesting things for a security CTF, because unlike MSP430, it's a Harvard architecture. The AVR levels are intertwined with the trading levels, so that the objectives for the AVR levels are more interesting than those of Microcorruption. You won Microcorruption mostly by figuring out how to exploit simple memory corruption bugs. My hope is that Starfighter requires a bit more in-sim programming.
- afy 11y agoI think that is just to refer to the instruction set that is being emulated (8-bit AVR - see Erin Ptacek's blog post about it on sockpuppet.org), used by the microcontroller on many Arduino boards
- pja 11y agoSo, do I prioritise Stockfighter or TIS-100? Decisions, decisions :)
- MichaelGG 11y agoThis is awesome. I still don't see how this isn't easily cheatable. What's stopping me from writing up a little tool that can win these levels and providing minimal instructions? At one point, it even says they will award people that write OSS for it. Doesn't that just further reduce the effort needed to pass levels? Not to be negative. I'm very, very much looking forward to this.
- kasey_junk 11y agoDon't want to speak for them, but why would they want to stop you from writing that tool? Remember their business model, it isn't "get people to the end of the game following the rules", it's "identify people with talent to recruit". Your tool would just be evidence of the latter.
- pbh101 11y agoThe fear is that it would introduce noise into the signal of those who are using the tool, rather than the creator of the tool.
- tptacek 11y agoThe only thing we're worried about is people spoiling the challenges for other people (it's not a problem for us if people get help clearing levels, but it's a problem if people find ways to suck all the fun out of it for everyone else). We like the idea of people publishing and sharing tools; they did for Microcorruption, too. We'll have more to say about this.
- patio11 11y agoI have some ideas jumbling in my head about this, but it's getting late and I'm not sure they're maximally coherent. Briefly: a) What's the worst thing that possibly happens? Someone scams a row out of our database? It has more rows. 10,000 someone scams a row out of our database? I will write a for loop which scams a million rows out of our database. What about the actual world or Starfighter's capability to positively impact our players, our customers, the industry, or our own situations just got worse as a result of that for loop? 2) I think you will find that a solution which beats level six also sails over the Turing Test, so if you have a tiny script which does so, I recommend not burning it on Starfighter, but would be honored if you decided to try. 3) At the end of the day, the model is not "Someone pays us for a PDF automatically spat out of our database", the trivialization of which PDF would be dangerous to the business model. It is "We become sufficiently enthusiastic about someone's performance that we successfully introduce them to a company which is not us and then that company hires them." Is the threat model "You use a script which trivializes our levels to win a free conversation with Patrick about your career?" Anyone can get that! At any time! Save yourself a git clone; just send me an email! The more interesting question is then, given that you've learned absolutely nothing from Starfighter because you've git cloned your way to the finish line, whether you can (in thirty minutes with me, or Erin, or Thomas) convince us "Yes, this person is totally someone I should burn my stack of accumulated karma with the CTO of $CLIENT with to suggest they interview them."
- EFruit 11y agoI have to say, this is both impressive and infuriating; they beat me to it! My effort was started in Nov. 2014, and is similarly written in Go. Clocking in at ~1600 LoC, it is certainly nothing special. I have no background in finance and only a cursory understanding of the technical aspects of the exchanges. It's mostly working, but I've really stalled because I can find neither a real purpose to continue, nor any resources on building interesting models. All it does is make financial noise (random trades between similarly irrational parties) All in all, I'm happy for the guys working on this for doing what I apparently couldn't. If anyone's interested, I'd be happy to post it to Github.
- mattchew 11y agoI'm interested.
- EFruit 11y agoAfter a bit of stage fright (and Git/Markdown reeducation), here it is. https://github.com/Efruit/marqit https://github.com/Efruit/marqit
- BillyParadise 11y agoYou'll be a little bit late to the party, but why not repurpose into a bitcoin exchange :) Everyone else seems to have done it.
- quot66555 11y agoI'm very interested in Starfighter and am looking forward to the release. However, there's something from your original announcement that still worries me. In this post you said: The designed operation of our trading levels is “Play them, lose horribly, write a program, reset the level, run the program, have it crash with a bug, fix and re-run, lose modestly, adjust your approach, re-start the level, run the program, win.” (Folks have asked whether we’ll hold this against you. No, no, of course not. We log everything under the sun, but losing/restarting levels is planned. That capability is an advantage of doing this in a rich simulation as opposed to real life — you can go Knight Capital as many times as you want and no one loses their job!) This feels good. But earlier, this was said [1]: We will track player behaviors and skill at incredible levels of granular detail, instrumenting them like they were built by the Orwellian MiniPeace... We can tell you exactly what happened when your candidates tried to implement a REST API. We can compare their performance against hundreds of other talented engineers (including your current employees) on the same task. Can you please elaborate on what exactly is going to be tracked? Is any of this configurable by the player? Personally, I'm going to have a hard time enjoying and learning if I feel like every mistake I make, or every extra piece of time something takes is going to be judged and count against me later on. [1] http://www.kalzumeus.com/2015/03/09/announcing-starfighter/ http://www.kalzumeus.com/2015/03/09/announcing-starfighter/
- kasey_junk 11y agoRemember their incentives. They want you to perform well (or more precisely they want performing well in their game to correlate with you being a good employee). It is not in their best interests to count against you, quite the contrary they want to sell you to their clients.
- pekk 11y agoWhat is a better way to sell a candidate to clients than to say she is in the top 1%? They have every reason to count out as many people out as possible. Nobody looking at this kind of service wants to hire candidates who are not the best.
- deleted 11y ago[deleted]
- bliti 11y ago@patio11: Why should I "play" this and not blog about programming? I still have to go through the usual technical interview when applying for a job. What's my incentive? I'm trying to find a reason to spend time learning this, because it doesn't translate into marketable skills. I can't put "Level 65 player in StockFighter" (because this might turn out to be a niche product that no one outside HN will know about), but I will definitely include "XSS research on Java Spring". Note: I'm not trolling or trying to put the project down. I'm interested in it but unsure.
- mattmanser 11y agoThat's not how it works. Enter the CTF and you get supplied as a lead to companies as a potential hire for doing well (if you want), it's not that you use it as a competency canary on your CV.
- bliti 11y agoThat's my point. I'm being supplied as a lead for investing time learning something that I will not be able to use in any potential position. Why should I do it? I'm genuinely interested in understanding this because it might blow up and I'll have to learn it anyway.
- kasey_junk 11y agoBecause its fun. If its not fun then they've failed.
- sachinag 11y agoBecause it'll be fun. Fun. That's a thing we, as humans, do. Some other animals too.
- icey 11y agoMy understanding from reading past posts is that they think this could be a great way to discover people who would be interested in roles at companies they hadn't previously considered. Shotgunning everyone who plays as leads isn't a great model as it lowers perceived quality of the candidates they send on ("I got a lead for this amazing developer, but she didn't want to change jobs at all, wtf?!"). Think of it as a game with "new job" as a piece of available loot. Play it because it seems fun (and you still might learn something that you can use later).
- gunsofbrixton 11y agoWonder if they realize the name was taken (and trademarked!): http://184.0.203.234/arrvin.nsf/LinksView/680F01F22637149286257471005B4D42?Opendocument http://184.0.203.234/arrvin.nsf/LinksView/680F01F22637149286...
- galois198 11y agoLooks great - I get that this was built using Rails/Go, however what language(s) will players be coding in?
- patio11 11y agoFor trading? Anything which can drive a REST API. For the compiler/emulator levels, a subset of C and assembly.
- runevault 11y agoIf nothing else reading this has me interested in trying Go. Kind of wish the new book by Kernighan was out before November, as that book feels like a great excuse t do a deep dive on the language.
- lewisl9029 11y agoOn the topic of automated trading: I strongly encourage anyone interested in real-world algorithmic trading to take a look at Quantopian. https://www.quantopian.com/home https://www.quantopian.com/home It's not HFT by any measure, but it manages to make algorithmic trading extremely accessible by providing a platform where users can develop their algorithms, backtest them against 13 years of market data, live trade them with paper money, or live trade with real money by linking a brokerage account. They have also open-sourced the algorithmic trading engine used to run their platform: https://github.com/quantopian/zipline https://github.com/quantopian/zipline
- tptacek 11y agoYep. There is like, zero overlap between Quantopian and what we're doing; they're both good things to play with.
- jbredeche 11y ago(I'm the CTO and cofounder of Quantopian) I am incredibly excited to try my hand at Stockfighter. Hopefully some of the things I've learned over the last few years at Quantopian will be useful, but I expect I'll learn quite a few new things as well.
- smoyer 11y agoPeople who are at the leading edge of HFT do everything they can to trim microseconds off their trading time ... it can get pretty insane. One talk on HFT performance at JavaOne [1] included the recommendation that you buy more memory - so you can turn off garbage collection completely during trading hours. [1] http://www.slideshare.net/PeterLawrey/writing-and-testing-high-frequency-trading-engines-in-java http://www.slideshare.net/PeterLawrey/writing-and-testing-hi...
- FLUX-YOU 11y agoDo you guys model regulation through world simulation (e.g. the twitter feeds) and is there a Federal Reserve/Mint with related data?
- hawkice 11y agoReally simple question: do the privacy settings have any impact on the recruiting stuff? I would love for you guys to poke around my data, I trust you guys, and would love for you to be able to get my name, but I would otherwise prefer to be anonymous. Ideally it would be a privacy-orthogonal checkbox, maybe?
- tptacek 11y agoYES. Reminder: most people who play with Starfighter CTFs will never be interested in a new job. We're designing this stuff for those players just as much as job seekers; we're competitive about CTFs, and trying to make a mark. Look at the leaderboard on Microcorruption.com and notice how few real names are there. That's what CTFs are like. If you want to have a profile page, we'll give you one, if you want to link up your Twitter account, you can do that, but if you want to be secretsquirrel1235813, you can do that too. From experience with CTFs: I think a slight majority of people will be anonymous. There is nothing we will do with your data that won't be opt-in.
- Pyxl101 11y ago> We do not intentionally expose you to the speed of light as a limiting factor early in Stockfighter… but we can’t remove latency as being an actual limitation distributed systems have to overcome. Couldn't you remove latency as a factor, at least in a game world? To play devil's advocate, it seems like you could build a game where time advances according to the player's control by API. Imagine if each API call optionally took a parameter describing by how much time should have advanced since the last call, upon the arrival of the current call. If the parameter is omitted, the server advances the world by the corresponding amount of real clock time. The game simulates that time passing, and simulates receiving the call at the time specified. Perhaps an API to stop and start the flow of game time, or run the game for a certain time and stop. Players can interact with the game naturally, and solve problems without controlling time, but if they run into latency issues they can orchestrate the advance of time on the server precisely. I understand this will not be simple to implement, especially if the game consists of multiple communicating agents, but it could allow you to remove the uncertainty of players interacting with the game over a network, and more easily set up complex race conditions or timing attacks. It will also more gracefully handle any slowness that occurs in the game or bot simulations, since while game calls might take longer real time to return, they will presumably not take more game time. Last but not least, it could allow you to design test cases that are deterministic in ways that involve time, i.e., this event occurs exactly 100ms after the game world begins, every time. Players can exactly reproduce situations that would otherwise occur nondeterministically, while you retain your ability to simulate interactions that you want to be nondeterministic. (I'm just exploring the idea because it seemed interesting, not making the case that this is especially important in the scheme of things.)
- donkeyd 11y agoI've just started programming professionally. I've noticed I'm a quick learner and I'm pretty good at problem solving. However, because I just started I lack quite a lot of knowledge. Will I still be able to play this game, or is 5 years of full-time work on multiple languages a prerequisite?
- patio11 11y agoThe first few levels are specifically designed to be solvable by someone near your skill level, and after you get through them, you might surprise yourself on the "hard" ones.
- sireat 11y agoTwo anecdotal data points on somewhat similar sites from an employed programmer and father. Codehunt (from Microsoft Research), very addictive yet nice concise format, polished interface, allowing Java or C# a plus. Minuses - Requires some unnatural code golf for maximum stars. Needs new problems and difficulty is too variable. I got in Top 5 but realized it was a completely worthless achievement as it just was not hard enough, somehow I hoped for a short note from MS saying GJ here is the next challenge level. Bonus: Did not feel bad about playing this at work on breaks. Codecombat - program in javascript, using classical MMORPG terminology, this should have been more addictive but something was off, maybe it was the latency or browser glitches. My bot using simple strategy got in top, but I realized that I would rather go back to writing my scripts for real MMORPGs where my bots make actual money from RMT. I still get Codecombat monthly e-mail reminders of new features but somehow the appeal of fake MMORPG is not there. Also, felt very guilty about firing Codecombat up at work... So you guys not going for the standard DnD type of setting might be a good idea.
- ExploitsforFun 11y agoOut of curiosity, have you gotten any press inquires about your launch from major tech publications? I know that your company is outside of the VC funding publicity bubble but I am curious if anyone has reached out?