9 ms·
The Starfighter Low-Level Tech Tree
- patio11 11y agoP.S., since it isn't in that post anywhere due to in-game voice: Stockfighter launches publicly on Friday.
- dvanduzer 11y agolink to the difference between Stockfighter and Starfighter? (i can't tell which one sounds more exciting based on the title / credentials. am i supposed to?)
- patio11 11y agoStarfighter is to Stockfighter as Blizzard is to World of Warcraft. We (Erin, Thomas, and I) are a company which makes games; Stockfighter is the flagship product of the company for the foreseeable future.
- dvanduzer 11y agoThank you! Although... I still can't tell if this is the Starfighter tech tree or the Stockfighter tech tree. I think the confusion is intentional, and I do like that. I think. :) edit: nobody thought notch was joking about 0x10c, and this is clearly in that vein. but an AVR is a real CPU, and suddenly... mind blown?
- kasey_junk 11y agoStarfighter is the name of the company. Stockfighter is the name of the game. So there are multiple tech trees in Stockfighter, of which this post is about one. Starfighter the company doesn't have tech trees.
- dvanduzer 11y ago> The Starfighter Low-Level Tech Tree (sockpuppet.org) I'm not sure you read this thread. Starfighter the company definitely uses technology. edit: was your post using in-game voice? i'm totally about staying in character :)
- jsmeaton 11y agoStockfighter is the game. Starfighter is the company. The article you quoted is technically wrong, but since the company has only one game it is conceptually right. Blizzard (the company) is to starfighter (the company).
- tzs 11y ago> We (Erin, Thomas, and I) are a company which makes games OK, I'm curious now. I've seen a lot of comments from two of you (you and tptacek) here on HN, and never noticed anything in those that would have led me to guess either of you had a sufficient interest in gaming to want to start a gaming company. Did I just not notice your comments indicating a gaming interest, or were you wise enough to stay out of gaming threads knowing they usually turn to pointless time wasting crap, or what?
- AdamTReineke 11y agoI'm sure patio11 will reply, but my take: The purpose of Starfighter is to engage talented engineers long before they start searching for new jobs. When it's time for a job change, Starfighter will leverage their relationship with the player and the player's demonstrated engineering skills to connect them with employers looking for matching candidates. As high as referral fees are and as hard as great engineers are to find, this looks like a win for everybody.
- sfk 11y agoWhat a load of marketing speak... You forgot to mention "synergy".
- kbenson 11y agoI think in this case, game is less "Mass Effect" or "Grand Theft Auto" and more alternate reality + really hard (programming/networking) puzzles, where the mechanics to the puzzles have some non-fictional relevance to how you would really exploit, reverse engineer and attack a network or system, thus proving competence in a few key areas. Monetization is through taking people that have both completed and/or done really well in this game and are interested in new employment, and after a few in-person meetings with the Ptaceks and Patrick, you might get a private lunch with a CTO looking to hire (in their words, IIRC). They would get finders fees for that.
- patio11 11y agoThomas is actively concerned that I describe our products as "games" but I've been having difficulty finding a word the market understands for this, since "CTF" gets blank stares from people on both sides of the market if they don't have a security background. Neither he nor Erin would self-identify as gamers in the same way that I do not self-identify as a ballet enthusiast. Would I self-identify as a gamer? Well, "Ran a WoW raid guild", "I main AD Jungle Evelynn but haven't gotten many games in since having a kid", "My Steam account lists 720 hours of playtime on 60 games." I don't particularly hide this on HN and also don't particularly go out of my way to talk about it. Games, books, and running software companies are my three big hobbies; one of these seems to be most relevant here. You can probably find 5~10 comments from me if you search for WoW, Warcraft, LoL, or Starcraft, but mostly they're talking about business, like you would expect.
- wyldfire 11y agoI signed up but I don't honestly recall what it is. Is it called "Starfighter" because it's like the excalibur game from "The Last Starfighter"?
- kasey_junk 11y agoNot to speak for them, but yes...
- sitkack 11y agoNo it is from http://www.imdb.com/title/tt0083943/ http://www.imdb.com/title/tt0083943/ with Clint Eastwood and web browser that can be controlled with your mind.
- wyldfire 11y agoUnfortunately the browser only accepts mind control commands in Russian, no i18n for you.
- deleted 11y ago[deleted]
- saturdayplace 11y agoI'm like 99% certain it's in reference to the movie "The Last Starfighter"[0] where the protagonist, an avid player of an arcade game with the same title, finds himself recruited into an alien space fleet based on his stellar performance in the game. The parallels should hopefully be obvious: have fun playing the game. But if you stand out, it's because you've demonstrated some set of marketable skills that other organizations are looking for. If you've set the 'contact me about potential jobs' bit in your Starfighters profile, they'll spend some effort trying to land you a gig with their client companies. [0] http://www.imdb.com/title/tt0087597/ http://www.imdb.com/title/tt0087597/
- Cogito 11y agoI'm really excited for this to come out. The release email had the following before the text you can see in the submission: Helu, This is Thomas. Here is a thing somebody wrote about Stockfighter, our project, which we're sending you because you asked us for updates from starfighters.io. We hope you enjoy reading it. (If you want to read it in a browser, try here. Works best in a fixed-width font.) Assuming there are no other Carpathian trickster-gods we've somehow managed to anger, you should be able to play both tech trees of Stockfighter by the end of the week. Patrick wants me to say the day, but I'm pretty sure speaking the names of actual days of the week in sentences about this project is one of the things that angers the Carpathian trickster-gods, so let's just say "a day that rhymes with Shplyday". furtive glances over shoulder If it does come out this week, my holidays are not going to be very productive - or perhaps very productive, depending on your perspective! I think this is the first real look at the low level tech tree and what kind of things it will contain. I'm excited by both of the tech trees so far, I think it will be interesting working through both of them. I really enjoyed the style of this information release, quite a lot of information but the writing almost seemed tongue-in-cheek the whole time and was fun to read.
- TorKlingberg 11y agoI do not understand what you are talking about. The article describes reverse engineering of a stock trading device, covers the basics of assembly, and shows the poor security of trading systems. But what do you mean by "low level tech tree"? None of those words are in the article. Edit: Apparently this is all part of a fictional game.
- rmccue 11y ago> But what do you mean by "low level tech tree"? None of those words are in the article. The title of the submission is taken directly from the email subject. http://starfighters.io/ http://starfighters.io/ has a great intro to what this is, made by community members 'patio11 and 'tptacek.
- Tcepsa 11y agoI'll offer up a few prayers to Athena; maybe she can help keep those Carpathian trickster-gods off your backs. I certainly hope so--I've been looking forward to this since Starfighter announced themselves! (Though I've made it nine months so far, so another few days won't kill me ^_^)
- rboyd 11y agoAny predictions on how all this is going to go? Loving the throwback phrack vibe. I wonder though how much time I'm going to be able to dedicate to smashing the stack for fun and rankings. Oh, to be 13 again.
- kasey_junk 11y agoAs interesting as the game is, even more interesting to me is their business model. Contingent recruiters are uniformly terrible. To be honest, even if I didn't know them, based on their online reputations I'd expect them to be the best contingent recruiters in the country within weeks. That I completely & totally agree with their underlying philosophy on hiring makes me even more bullish. Of course, all of that is contingent on them delivering on the game experience and delivery software products is...hard.
- Cogito 11y agoI'm fully expecting to vigorously pick off the low-hanging fruit from the tech trees when they're released, getting sucked into some of the harder problems on one, before bouncing between them as I get stuck and frustrated :)
- tux3 11y agoI'm really hyped for this. If this is as much fun as the microcorruption CTF I'm going to be glued to my computer until I solve all of it! I like what I'm seeing so far, AVR sounds like a fun new challenge.
- knughit 11y agoI am curious if hirers will use stockfighter to hire folks low-level embedded work, or if this will be an arbitrary shibboleth for general jobs, biased toward people interested in this sort of game. I hope starfighter expands into more diverse areas of interest.
- Cogito 11y agoOne theory bandied about is that the initial partner companies that Starfighter is working with (ie the ones looking to hire) includes a disproportionate number of financish companies such as might be found on the east coast. I wouldn't be surprised if lots of companies in that domain would be very interested in the candidates coming out of Stockfighter, however there are so many subsystems involved in the problem environments disclosed so far that many valuable skill sets have the potential to be exercised. Part of the (general) success of both Stockfighter and Starfighter will be how well they manage to actually exercise those different skill sets. I'm cautiously optimistic so far :)
- tptacek 11y agoNot so much. We chose markets because we think they're fun.
- Cogito 11y agoThat was my impression as well. There have been a number of comments from people who find the idea of the markets 'unfun', or just not relevant to the roles and tasks they want to be doing. My impression from what has been released so far is that there is actually a plethora of tasks/technologies/etc involved, and as such 'useful' skills will be used regardless of if you're in the finance industry.
- saturdayplace 11y agoI've heard Patrick make that very assertion.
- 11y ago
- lpage 11y ago"Legal at 35=G Inc will allow me to publish this article only if this section is not present." I love the FIX meta humor. Order Cancel Replace Request: tag 35=G.
- tptacek 11y agoI can't take credit for this; an ex-HFT friend gave the name to me. :)
- wyldfire 11y agoInteresting that their json variant uses trailing commas. Too bad that's not more common.
- Kiro 11y agoWhy?
- Cogito 11y agoWhen your parser accepts trailing commas, it becomes much easier to edit your lists and objects. In standard json, the last element in a list or object is special, in that it can't have the trailing comma. Thus you have to special case every deletion and insertion of elements, to check if it needs a comma or not. Without this requirement, you can remove and add elements without worry, which makes it easier for hand editing, and easier to avoid bugs in code.
- TeMPOraL 11y agoThat's why S-expressions are cooler. There are no commas.
- kbenson 11y agoOne of the better ways I've seen of dealing with this, generally used in SQL which is one of the less lenient languages I've seen, is to prefix new lines of the list with commas. That is, when constructing a list using multiple lines (which is where the trailing comma is most problematic), the first line is not prefixed with a comma, and all subsequent lines are. E.g. var foo = [ "aa" , "bb" , "cc" ]; The usefulness of this may not be readily apparent in this simplistic example, but when the term is complex or spans multiple lines, it becomes useful both as an indicator of a new term starting, and in that identifying the end of a large term often isn't nearly as easy as identifying that start. E.g. var foo = { attr1: "foo" , attr2: "bar" , method1: function() { } , method2: function() { } }; I'll admit I don't often use this technique. Most commonly it is with large custom SQL queries, which themselves are fairly uncommon for me. That said, SQL often lacks the mitigating techniques that make this less useful in common programming languages (such as computing complex terms ahead of time and assigning the result, gradual building of data structures, etc.).
- noselfrighteous 11y agoI feel like I've fallen into a hole. There's jargon everywhere, I'm not sure if I'm in the middle of some sort of satirical art experiment. Can anyone explain what is going on?
- meshko 11y agoApparently it is a fake reverse engineering report to support a programming game which, i'm guessing, is about to go live? see http://www.kalzumeus.com/2015/08/20/designing-and-building-stockfighter-our-programming-game/ http://www.kalzumeus.com/2015/08/20/designing-and-building-s...
- lucaspiller 11y agoThis reminds me of when 0x10c was announced :) https://news.ycombinator.com/item?id=4649031 https://news.ycombinator.com/item?id=4649031
- tmuir 11y agoI've been wondering what I should do to keep busy in the next month between jobs. Looks like I've found it.
- dcw303 11y agoAwesome. Having recently done a large chunk of Microcorruption, I think I get what they are going for here. Super excited. But also a little nervous as to the timing. Like others have said, if this releases before xmas, my level of interaction with the real world may have a real impact on the most wonderful time of the year, family togetherness, etc, etc. I'd love it if one of the founders could tell me if there's any PVP element to the low-level tech tree? What I'm really asking is if I put off playing this until some time in January, have I put myself at a disadvantage?
- patio11 11y agoWhat I'm really asking is if I put off playing this until some time in January, have I put myself at a disadvantage? Nope.
- kbenson 11y agoThat's good to know, since with $dayjob, $consulting, and $family, I imagine the times that I'm able to muster enough brain cells to play this in which my time isn't already spoken for will be fleeting, but it looks awesome. Actually, that's a sort of separate question than the GP. Are there penalties for going through it slowly and/or playing in bursts interspersed with downtime? Depending on the metrics you are looking at, that might be very hard to correctly account for.
- patio11 11y agoAre there penalties for going through it slowly and/or playing in bursts interspersed with downtime? No! That's part of the beauty of it -- the game is on 24 hours a day (well, after we get past the roaring pyroclasm I expect on the servers immediately post-launch), 365 days a year, and hundreds of simulated bots are waiting with bated breath on a hard drive somewhere on AWS for when 'kbenson (or anyone else) has 45 free minutes in the schedule. All three of us are working parents who are familiar with the juggling that goes on. Believe me, we didn't make something you'd have to be an unemployed 22 year old to get through. (In addition to that being a poor decision from a product perspective that would be a really poor decision from a "identify as many of the best engineers in the world that we possibly can" perspective because our working hypothesis is that y'all are presumably pretty busy.)
- umanwizard 11y agoI'm super stoked for Stockfighter to come out, but I'm confused about something... If you intend for performance in Stockfighter to be used as a proxy for talent by recruiters, how do you intend to prevent cheating? Seems like it should be very easy for people to work in groups, or look up walkthroughs online.
- Fuzzwah 11y agoWhat, like in real life?
- patio11 11y agoStockfighter generates signals about players. Those signals get fed to the Starfighter founders. We might choose to get in touch with particular players and, if they want to have a geek-to-geek chat, have a brief phone call with them. We then, if appropriate, introduce them to people who can hire them at our clients. We get paid if that introduction results in an accepted job offer. People have asked us about a variety of ways to cheat on the games. Some of them don't strike us as even a little bit problematic, e.g. using an OSS library to access our API. (Some folks are already working on these and we're thrilled about that development.) Some of the ways people could cheat on Stockfighter are, from the perspective of someone wanting to hire engineers, pretty awesome. If you get arbitrary code execution which busts out of an emulator written by the Ptaceks I urgently want to make your acquaintance. Some of the other, more boring ways that one could cheat do not particularly strike me as bothersome to our business model. We're not selling certs; we're brokering introductions of candidates to businesses that want to hire them. Scamming a row out of our database doesn't meaningfully negatively affect the world, Starfighter, or our clients. I've got lots of rows.
- MichaelGG 11y agoBasically, IIRC, you're saying if someone does cheat (as in buys a good account or hires someone to kick ass for them), you human filter them anyways and it'll be pretty obvious they don't know what they're doing. Though I was a bit confused by a statement you made. You said you'd need to beat the Turing test to automatically pass the last level of Stockfighter. But if that's true, how are you generating and validating the levels - that seems an equivalent challenge. (Unless you've made tons by hand.)
- har777 11y agoExcited. But also really intimidated :)
- umanwizard 11y agoAnother question - if you haven't bene able to dump the code running on the Network and Mystery chips, how do you know they're AVR ?
- teraflop 11y agoIn case you haven't seen previous discussion around Starfighters: this document is fiction, describing a scenario that was invented for a game based on software reverse engineering, to be launched shortly. But one possible in-universe explanation would simply be that the three chips had the same part number.
- umanwizard 11y agoI do understand that -- I was asking for the in-universe explanation :)
- deleted 11y ago[deleted]
- fabulist 11y agoOne images they observed the part number while attaching the bus sniffer.
- tptacek 11y agoYou know what the app CPU runs, and the other 2 processors have identical pinouts on the board.
- jzwinck 11y ago> The better exchanges do have passwords on their FIX gateways. But the performance of a FIX login is especially important (there's often a race to start trading at the beginning of a session) Better exchanges enable their FIX gateways long before they accept orders. They can signal their willingness to accept orders by sending everyone a message which says "we are open." Consider also that some exchanges trade products with disparate opening times. All the same applies at the close but in reverse. Better exchanges will tell you each of your orders is closed before they disconnect. Worse ones suggest you infer the same.
- lmorris84 11y agoYep most of the FIX connections I've seen are connected for most of the day, long outside trading hours. Tag 103 has specific error codes for the exchange being closed.
- listic 11y agoAnd I here thought FIX is a fictional protocol devised specifically for this game...
- wolfgke 11y agoI didn't believe from beginning on that FIX was fictional, since if it's a real protocol (or at least very near to a real protocol) it makes programmers that are good at Stockfighter a lot more placeable in the market - and this is what Starfighter wants to make money with.
- tptacek 11y agoFIX really is the TCP/IP of money.
- raphman_ 11y agoWhat a beautiful intro to assembly programming and reverse engineering. Very minor issues that bother me more than they should: - Could it be that there is a whitespace missing after the " ◐ " or is the gap in the border intentional? - X/Z are used in the 'program structure' example without introducing them beforehand (or mentioning 'we will look at these later'). - A real RE report would certainly have mentioned all visible part numbers and the type of I/O controller. Although it is certainly not relevant to the game, it somehow bothers me that the author decided to omit this information. (hmm, maybe this was described in Section 3?)
- maikhoepfel 11y agoFor your #2, quoting from the link: Loads and stores are relative to the X, Y, and Z registers, which are aliases for the 16 bit register pairs starting at r26, r28, and r30 respectively (r30 is an alias for Z)
- raphman_ 11y agoIndeed. However, this explanation is only given after the example has already made use of these registers. As I stated, just a very minor issue... :)
- matheist 11y agoX/Z are used in the 'program structure' example without introducing them beforehand Probably intentional. A big part of the skill of reverse-engineering that they're introducing here is the feeling of "I don't understand what this line does, so I'll just accept it and move on, and see if I understand it later". Using X/Z before describing it is definitely in keeping with that feeling. The whole document reads as "we're intentionally throwing you in the deep end by giving you not quite enough to understand completely, but giving you enough that you can understand with some work". It's a similar approach to Microcorruption, and to the crypto challenges. I like it.
- J-dawg 11y agoI don't think I have the skills to get very far in Stockfighter (although I'll give it a try). I wonder if there are any plans to produce an "entry-level" version? It strikes me that this would work brilliantly as a teaching tool, and could open it up to a whole new market.
- plank 11y agoI guess the link no longer works, the correct seems to be: http://sockpuppet.org/blog/2015/07/13/starfighter/ http://sockpuppet.org/blog/2015/07/13/starfighter/
- pjc50 11y agolurking inside the 1995 handheld UI is a more sophisticated 1997-grade trading engine I do like the sense of humour here.
- brational 11y agoI guess you could consider this a noob question. I'd like to get into this and more low level stuff in general. Background: I'm an applied math guy that works in cv, image processing, and anywhere that stats & optimization can be used. Work has recently led to learning more distributed stuff, albeit simply wiring up zeroMQ with c++ or python and getting the concurrent dances right. Is it safe to say that Microcorruption is sort of a pre-req to this? Should I muck around in there first for a bit or sign right up for starfighter? Thanks.
- tptacek 11y agoNo, you don't need to get through Microcorruption. This is Microcorruption on a different architecture, with a more complex environment. But I like Microcorruption too (I'm biased) and would definitely not try to talk anyone out of playing with it as well.
- eb0la 11y agoIs it me or this looks like an article taken from Phrack magazine or SET journal or any hacking related magazine from late 80s/early 90s?