5 ms·
We're actually not terribly interested in finance qua finance. We're interested in finance qua "it allows us to do anything in engineering in a fiction-consist
by patio11 11y ago
We're actually not terribly interested in finance qua finance. We're interested in finance qua "it allows us to do anything in engineering in a fiction-consistent way, plugging into anything else."
Networks. Compiler theory. Language design. Web APIs. Caching layers. Core algorithms. Packet switch microcontrollers. FPGAs. CRUD apps. Big Data. Anti-abuse tooling. Application security. Machine learning. Any topic you possibly want to throw an engineer at, an investment bank is already throwing a team of engineers at.
Our Chapter 1 release includes levels which have you jailbreak multiple chips (AVR microcontrollers) on a custom handheld device given to minimally trusted gophers to own up a stock exchange through their REST API. And that isn't even a theoretical attack.
Additional factors which tipped the scales include "finance has a default goal function which is really easy to understand", "some subsets of financial work are surprisingly easy to model" (like a stock exchange is), and "finance has narrative choices which allow us to excite people without getting typecast as A Video Game For People Who Played Dungeons and Dragons In High School" (which is, for a variety of reasons, important to the team, including to me, the ex-DM).
Other strong contenders for our first game were "Like Dwarf Fortress but with code" (harder to build than a stock exchange; includes the word "dwarf") and "a nuclear power plant" (slight problem: we know nothing about nuclear power plants).
- pavlov 11y agoAny topic you possibly want to throw an engineer at, an investment bank is already throwing a team of engineers at. This comment makes me feel that I must live in an alternate universe of software engineering. I've spent 99% of my career working on things that would be of no interest to an investment bank: GUIs, graphics, video, audio, GPU rendering, mobile platforms, CAD, content creation tools... (It's not the first time I've had this feeling. At one point years ago, when I had been doing professional programming for maybe 3 years, a friend and colleague asked me a question about databases. I had to confess that I had never worked on software that interfaced with one; that all my work exclusively dealt with local files and network streams. He almost wouldn't believe it.)
- patio11 11y agoI've spent 99% of my career working on things that would be of no interest to an investment bank: One of the many interesting conversations I've had over the last few months is with a guy who leads a team of X00 developers out of one bank's 1X,000 developers, which does minimally GUIs, graphics, GPUs (for rendering and simulation), mobile platforms, and content creation tools. His #1 problem right now is that you are representative of many, many developers who don't know that his sort of group exists. I think he'd describe his job as "We're the thin edge of the wedge hitting the really hard problems so that our customers in the bank can focus development on the really valuable problems." (I don't know if I'm cleared to talk about them until contract negotiation wraps. Sorry, not trying to be coy here. Take it on faith that many of the big guys run shops which have those needs and more besides.)
- bostik 11y ago> GPUs (for rendering and simulation) I'd like to provide a data point for this, btw. There are exchanges for sports gambling (we run one), and some of the most succesful betting syndicates run clusters of hundreds or even low thousands multi-GPU servers to crunch the incoming data on their real-time simulations. The results of this type of crunching are feeds, signaling and strategy shifts for their market makers. I have no doubt investment banks, who operate on an order of magnitude more data, would have something similar. Even if majority of it was used for backtesting.
- pavlov 11y agoHuh, that's interesting. I certainly wouldn't have guessed that. Now that I think about it, I have no idea what investment banks are really like as work environments. The caricature in my mind is a rigid hierarchy populated by career-minded sycophants who judge people based on the college they attended; bosses that would be played by Alec Baldwin in fiction; software stacks sold by Oracle salesmen on golf courses; senior architects who manage via UML drawings; workdays that extend to 9pm just because; and for a touch of fun, brokers who throw half-eaten lobsters at each other on Friday nights. In all, the kind of place that would have absolutely no interest in hiring me and where I would never imagine working... Maybe my prejudices would need a reality check.
- thaumaturgy 11y agoI'm a little confused. It sounds like there are two games here: one is to win by algorithmic trading, and the other is to win by hacking the virtual devices/protocols/systems involved in the algorithmic trading. Is that the case?
- patio11 11y agoI've been describing them as "tech trees" but am willing to hear any suggestions you have for making this more comprehensible. Starfighter is divided into N tech trees, where as of the Chapter 1 release N = 2. Each has a distinct player-facing UI and, generally, some specialized backend systems, but they're all a part of the same product, behind the same login, running off the same message bus. Each tech tree has a series of levels: start at level 1, beat it and unlock level 2, etc. The levels do not necessarily progress linearly and trees can interact with each other in terms of level requirements, although I don't know if any levels requiring, etc, "passed $FOO in algorithmic trading and either $BAR or $BAZ from low-level programming" will ship in Chapter 1. Each level has its own goals/victory conditions/etc. There may be interplay between levels, such that your past/simultaneous performance on one allows you to do X, Y, or Z advantageous thing in the other. Those interactions might happen across tech trees. I am saying "might" here because I haven't coded any level which actually does that but it came up at design meetings and our systems support it -- not sure if it will happen in Chapter 1 but I'd rate it as "highly likely" it happens in Chapter 2. Chapters: we intend on doing a new content release (which adds to, rather than replaces, existing content) every 6~8 weeks, with a new tech tree introduced roughly every 2~3 chapters. Would love anyone's thoughts on "How do I explain this succinctly such that I don't turn-off anyone who is less interested in a particular tech tree?"
- thaumaturgy 11y agoWow, you all are really biting off quite a hell of a project. You've just described some pretty complex game development, as well as the entire financial sub-game and the entire infrastructure for it all and with an eye towards helping programmers get better jobs. I think I get what you mean by "tech tree", it's a phrase borrowed from real-time strategy games, yeah? Some of your other descriptions sound a little bit like what someone might find on a Steam game. If I hadn't played Sins of a Solar Empire (very occasionally, I don't have much time for it anymore), I think I'd be pretty lost. Your current terminology is probably fine, it just needs some graphics to go along with it -- a basic chart or something. I bet you've already got such a thing in progress and it'll all make sense on launch. > How do I explain this succinctly such that I don't turn-off anyone who is less interested in a particular tech tree? Any chance you can partition your newsletter subscribers into "low level programmers" and "wannabe market hackers"? I think the misunderstanding is that you only talked about stock market concepts to an audience that included people that are only interested in low level programming.
- finance-geek 11y agoVery well put!