Ask HN: Why don't most CS academics make novel video games?

15 points by amichail ↗ HN
If you are talented enough to do CS research, how can you resist the urge to make novel video games?

46 comments

[ 0.21 ms ] story [ 479 ms ] thread
A totally different kind of creativity is involved.

Frankly, people get ahead in CS by writing papers. Many people who are successful in academic CS aren’t that interested in writing programs or even that good at it.

Video games require interdisciplinary talent. The credits for a video game look like the credits for a movie because it takes 2-d and 3-d artists, character designers, writers, musicians, sound effect specialists, voice talent, and various specialized programmers.

Sure there is the occasional legendary developer who makes something like Touhou on their own but that’s deeply unusual. If a person is dedicated to success on the CS track they might not find it helps them get a postdoc or faculty position or tenure.

>> it takes 2-d and 3-d artists, character designers, writers, musicians, sound effect specialists, voice talent, and various specialized programmers.

Minecraft. AAA games need a full crew, but many/most of the truly groundbreaking games come from very small teams. KSP, Factorio and Prison Architect spring to mind. If they don't have the specialist then the game just doesn't get that aspect. Minecraft didn't use writers. KSP used open source music. In the end you discover that none of those disciplines are absolute necessities. Factorio and Prison architect proved even 3d rendering unnecessary.

The games that you list were made by people who were already making games. For years.
(comment deleted)
> Factorio and Prison architect proved even 3d rendering unnecessary.

I believe this was already proven by a huge number of games existing way before these two ;]

Prison Architect is one of the most disturbing media I've experienced, way beyond Frog Blender and the torture scenes from 24. That is, you play someone who does cruel things to people while sitting comfortably at a distance.
It was meant to have the opposite impact. As the warden/architect you have to manage the prisoners. You don't create them. You don't put them in prison. They arrive at your door every morning and you have to take care of them, meet their needs and keep them happy/alive. If anything, your goal is to shorten their stay and get them released asap. The game is meant to engender empathy.
Other examples: Two of my favorite single players games were done by relatively small teams: The Witness, and The Outer Wilds. I'm skeptical games as original and creative as those could be done by high-budget teams, due to profitability concerns.
You can make a movie with a tiny crew too. A lot of people do it but you hardly ever hear about the results.

There are some aspects of moviemaking that I could probably do professionally, others I have enough experience with that I know I'm terrible at them (acting, directing), and others that I'm totally ignorant of (what the hell does the "Foley" person do?)

If I do make a video or a game I know I can do well in some areas and other ones are going to be weak. Right now for instance I am planning on writing three "Breakout" clones to try out three different programming models. There is really no game design other than tuning up a clone of a known design. Even though the point is to try out 'software architectures' for things that are gamelike but not games I'm going to work hard on visuals and sound effects.

I'm not expecting to make enough unique enough that anyone would pay for it.

The problem with video games is that the software just has to be good enough to fool the human mind. Basically "smoke and mirrors". Real software, however, usually has much harder requirements, and most people find working on that instead more interesting and more rewarding.
A lot of game projects are also of a "write-and-forget" kind, where ongoing maintenance either isn't a concern at all or is very limited in scope, which also influences the requirements and kinds of problems you have to solve a lot.
The "technical debt" phenomenon is that people try to "write-and-forget" even when they are working on the kind of business app where pretty obviously 90% of the work is going to be maintenance. (e.g. the business changes.)
Technical debt, however, comes back to bite your ass, so you eventually learn how to deal with it with so called "best practices" - with better or worse results. The point is that for game developers it's rare to have that pressure actually applied on them, which is reflected in what's considered "best practices" in that field and how fast they evolve compared to other fields.
How is "real software" different from video game software? I ask because it seems like most consumer applications that run on our machines or that we use on the web also just have to be good enough to be tolerated by the human using it, or "fool the human mind". Where does the line get drawn between "real software" and fake (I guess?) software for you?
I'm thinking of a mathematical physicist working on fluid simulations versus a game developer who just uses some basic finite differences scheme that looks nice but is otherwise not very realistic.

Or some CAD software developer who has to think about robustness of their geometric primitives versus a game developer who doesn't really care if computations fail every now and then.

Just yesterday I've implemented collision detection between two figures in a game by simply sampling a small number of points inside the relevant shapes - and guess what? Works well enough.
I did my bachelors on a games focused compsci degree.

There were tons of people from different backgrounds, basically all there for the wrong reasons (artists to learn to program games, programmers how to program and make games etc) it's quite the endeavour to make a good game, the programming is the least of it. On top of that you need to actually be good at game design (which in my experience is the last thing people focus).

There is a tiny silver of academic CS called "human-computer interaction" (HCI) which has a lot to do with game design.

Having been on the periphery of academic CS at times I think the whole enterprise is terribly imbalanced.

A big part of the activity in social impact is in teaching the introductory CS courses which are required for many majors. PhD programs understand that their graduates have to be able to teach these classes, but few CS academics are excited about it.

Some areas get huge amounts of funding and fill up conference proceedings for decades without significant results. Other areas are funded heavily in Europe but seem almost blacklisted in the U.S. (The "Semantic Web")

I have written quite a bit of run-of-the-mill applications software for which is there is a huge need, just like for the intro CS class. For a long time I have been the quantitatively trained person who knows about data structures, algorithms, race conditions, ontologies, etc.

Lately I have been doing art side projects and have gotten very interested in the work of people like Walt Disney and Jim Henson who created imaginary worlds that people would like to inhabit. I see that study as related to game design and leading to very real gains in application software such as customer satisfaction, more revenue, lower support costs, etc.

The games that we create may not appear to be "games" to others, and certainly not enough fun to bother with.

i had an immense amount of fun coding and playing with a "gravity simulation" thing that was as much an exploration of visualizing floating point noise as it was of Xlib and the physics simulation. I severely doubt anyone else would care about 90% of it; it did animate some pretty pictures given the right parameters.

Ask rather "what software do you enjoy as a toy?" and you may find the creativity you expect.

Actually creating a playable interesting game is not related to computer sciences. Creating a video game thats worth playing only references the hardware in terms of "what limits do we need to work around / what capabilities can we exploit".

1.) It is actually not fun to create games for quite a lot of people.

2.) Being good in cs does not imply being good in art and making games is 80% art.

3.) Academia is super competitive, so you pick hobbies.

4.) There are more fun things to do.

I'd add to that, with the disclaimer that I'm neither a game developer nor a computer scientist:

5.) Creating video games is extremely labour-intensive, which is why there are so few Free and Open Source ones

6.) Game-development is an infamously awful line of work. High competition, abusive working conditions, and inadequate compensation. If an academic wants a hobby that overlaps with another line of work, there are plenty of choices.

7.) Only a few areas of computer science have anything to do with game development

> 5.) Creating video games is extremely labour-intensive, which is why there are so few Free and Open Source ones

If you mean free as in "gratis", then there are loads of free games available online.

E.g. https://itch.io/games/free (468,224 results)

...and that's just one site. There are free games on Steam, and free games on aggregator sites like Kongregate and its ilk.

If you mean free as in "libre", then sure, there are fewer games. But, frankly, most game code bases I've seen is a complete mess. Might as well just start your own from scratch ;-)

> E.g. https://itch.io/games/free (468,224 results)

...and how many of them are a simple prototype-grade stuff made over a weekend or so at something like a game jam?

Not trying to throw a shade - I've personally contributed to elevating that number myself :)

(also, bunch of them aren't really gratis, but only have some gratis component - itch.io doesn't distinguish these cases when filtering)

(comment deleted)
They are fundamentally different types of people.
Why don't the best motorcycle mechanics make novel airplane designs?
"Computer science is no more about computers than astronomy is about telescopes."

-- E.W. Dijkstra

I often see gamers with the mistaken impression that everybody else is either a gamer or hasn't discovered the right games yet.

To me video games are fun, but they require focus and dedication that I'd rather use elsewhere.

Why would I do that?
Academics do make novel games! The 'walking simulator' genre and the 'idle clicker' genre were both spawned in academia. However they weren't made by those in the computer sciences, but the humanities. Coding is no longer a barrier to making games and the more fertile ground is currently in the humanities.
I know most of the comments here are already and will continue to be along the lines of "they're two different things requiring two different skill sets", which I agree with.

But my first breakout indie game[0] was directly inspired by my Introduction To Computation course I took in my first year of CompSci at the University of Sussex. The lecturer (who was fantastic, though I forget his name 10 years on) walked us through Finite State Automata, and part of the course homework was, with pen and paper, designing finite state automata that would 'consume' strings of tokens. All pretty abstract, but drawing these circles for the state nodes and directional lines to consume the tokens, all terminating at the right end state... was really fun! They were good, solid, old-fashioned puzzles, just as much as Sodoku or something like that.

I made a mental note that it might make a good video game, and four/five years later I published The Cat Machine on Steam. All it is is those same finite-state automata puzzles, wrapped in a very cat-heavy abstraction. Different coloured cats are the different tokens, the 'islands' are the states, and as the player you draw train tracks between them all to consume x number of cat-train sequences. At the end the cats all sing a congratulatory meow song.

I'm pretty sure everyone just thinks its a whimsical, coloruful puzzle game but I've tricked thousands of people into doing a large chunk of 'Intro To Computer Science' homework without ever realising it!

I think there's plenty of room in CompSci for a dozen more puzzle games that quite directly lift the outline of puzzles out of a textbook and into a more accessible computer game space. I know I've for sure got a few more ideas - one day I'll sit down and make The Cat Machine 2 and incorporate them into a consumer friendly product.

[0] - https://store.steampowered.com/app/386900/The_Cat_Machine/

Novel in what way: mechanics, story, graphics? Only the last of those has real overlap with what CS academics are interested in and if you look at what gets published at siggraph you will see a lot of the researchers are affiliated with game studios or places like Disney or Pixar. So it's not incompatible.

But for the vast majority of CS there is no real overlap with games. Plus if you've spent your career on compilers, or databases, or machine learning or whatever, you know how to build those sort of things very well, but you are going to start over basically from scratch when it comes to developing games.

Academics do make and play games. But being novel doesn't mean they'll be fun or accessible for a general audience. And there's a lot of work that goes into a video game beyond just thinking one up: game engines, making art assets, packaging and distribution. That work isn't necessarily going to appeal to the same people.

Just look at Miegakure for an example of how long it can take to go from an idea to a fun, polished game.

Maybe you could elaborate a bit on your assumptions, and ask a more specific question? Why do you think the urge to make video games would be irresistible? Are you thinking about the goal of using games in research, or thinking of how much fun you have playing games? Do you feel like games are the best vehicle for research, or are you asking whether games are more fun to make than surveys or user studies?

Having been a professional game developer and an occasional academic researcher, I can safely say that game dev isn’t always fun, and wouldn’t always be a good idea for research. There are kinds of CS research that aren’t applicable to video games. There are people who don’t necessarily enjoy video games. There are ways to have fun and make money outside of games. Games take much longer to create than some kinds of user studies. I think there are a lot of reasons…

Why doesn't everybody talented enough with their feet to play soccer learn ballet?

Because not everybody cares about video games or ballet.

This is like asking why talented video game programmers dont do more to advance compiler optimization since they re so good.

I suppose some people think software goes beyond entertaining video games.

No time, frankly to make a game you need a good idea an implementation skills unless someone is in the field of graphics or some very specific case there is simply no good reason to invest time to do it.
(comment deleted)
People capable of building novel videogames are way rarer than people capable of doing CS research. CS research is just a job. You can suck at it and still achieve something.

Novel videogames are rare. I can count novel videogames with my hands.

They probably require development skills, luck, some unique set of experiences, lateral thinking and tons of willpower.

"Grandpa, are you saying that all you did was make video games, where you could have been writing really interesting software for medicine or research? What a waste!"
I got into computer science by making video games for the first couple generations of the iPhone; now I’m a phd student writing papers. Things were fun and simple back then and my games were quite successful. There was something so magical about it. However, the magic was that people were actually playing my games and I could focus on making the game rather than dealing with all the crud that one has to do to ship an app now. While I still get the urge to make a mobile game sometimes, there is little real life “reward” in it beyond making something beautiful and maybe showing it off to a couple friends. Gaining visibility on the AppStore is next to impossible without turning it into a full time job (which was never my end goal). I think if there was even a small but non negligible chance that say 50k people would download and play my game (as I had with some of my old games) I would get the motivation to turn some of my ideas into reality. However, the way things are now, I would be lucky to get 1000 downloads and that would require me developing for all the different interfaces, versions, etc. making it really difficult to focus on “just the game.”
Why do you assume it's even interesting to them at all?

I make small games as a hobby, but I absolutely wouldn't want to work in game development professionally (I only ever did some light contract work before moving on to another field). I treat making my own games as artistic expression, just like recording songs or painting images - not everyone does these things, do they? Seems like it's just a particular kind of people. That said, I got hooked on initially only because writing my own game framework seemed interesting technically - and now that I have a technical base for my games mostly figured out I wouldn't want to do it again; there are much more interesting things in IT that I haven't explored yet or that need much more love and can actually make a bigger impact, so games stay as my artistic hobby that's mostly limited to game jams and I like it this way.

What kind of undertaking do you mean, going to work on commercial games or hobbyist game jam style games?

Commercial games tend to be pretty calculating, and audiences are used to this, there novel game types are risky and rare.

On top of what was said already in this thread, I think there is some opportunity these days in applying AI / ML to certain elements of video games, for example writing. It would be difficult to call it wholly novel video games, though.