I was exactly this person for a long time. I took a lot of pride in the fact that I wrote my engines from scratch when everyone else was using Unity. When people asked what drove me, I would joke that I had a disease. I had to make games. After getting some counseling and getting married, I've realized that game development is a great coping mechanism to help you feel safe and in control. You are the master of your own universe. For some reason it also helps you feel worthy, like you've accomplished something.
I'm not saying gamedev is bad, but I think a lot of people unknowingly use it to self-medicate.
> I'm not saying gamedev is bad, but I think a lot of people unknowingly use it to self-medicate.
Great insight - IMHO, among the most valuable people can have in life. Of course it is not particular to games or development; it's the motivation for many of us doing many things. Some go to the bar and pick up sex partners - or get in fights, some fix up their homes or cars, some knit, some run marathons, some make FOSS, some do drugs, some bully other people or abuse their pets, some play Call of Duty, etc.
I think the trick is to realize what you are doing - coping, feeling some control, etc,. - accepting that it's a good, healthy instinct, and finding a good healthy way to do it. Art is a great outlet, serial sex partners - usually not so much (not judging, just observing).
The fundamental metric is not to get stuck on 'do I feel better while I'm doing it' but to choose based on, 'do I feel better after I do it' and also, 'is the world slightly better after I do it?'.
This is THE reason I started programming when I was 11 years old! I was always dreaming of this universe that I would create. I even tried to make an RPG game using Game Maker. I stopped when, after a couple of weeks, I had a barely working fighting system and nothing else. I learned that games are huge!
Later, while I was in university, I implemented four gamedev frameworks. Every time I decided I was done, I would develop a small game with it and I always found something I didn't like. A few months later I would start from scratch having learned something new and trying to find a solution to what I hadn't liked. At some point I realized I enjoyed better writing the framework than the actual game.
Funnily enough, I never went into game dev professionally. Although I still implement libraries that nobody, other than me, uses from scratch in my free time.
Turns out I don't like designing games, I built just enough level to test everything, got bored and started all over again... haha.
I spent much of my childhood working on a tabletop RPG with my brother. Then decades later working on and off on various gamedev projects.
I used to beat myself up for never finishing anything. Only with therapy over the past couple of years did it finally click for me that many times these projects were escapes. The point was not to finish them so that the were a safe place I could retreat to when my life felt uncontrolled and chaotic.
I was absolutely using it unknowingly to self-medicate. I still do so—I literally just took a break from hacking on my fantasy console project to check HN—but I'm a lot more mindful of my motivations now. It's OK to want some escapism now and then. Certainly with the pandemic, it's entirely reasonably to want a space where one feels they have some control because we sure as shit don't have control over COVID.
But I try to make sure I'm not using it as an unhealthy way to avoid chaos that I should be tackling.
On one hand, I'm inventing a new way to build online experiences (games, social apps, collaborative apps, small/medium business)
On the other hand, I have no customers
I have 100% code coverage for many of the packages.
I'm building my own gossip failure detector right now using some blockchain ideas so I can gossip really-really quickly at an exceptional low rate.
All this madness started because I was building an online board game.
Fortunately, I've retired from big tech and can afford a few years to indulge myself.
Check it out: http://www.adama-lang.org/
> I'm not saying gamedev is bad, but I think a lot of people unknowingly use it to self-medicate.
This goes for any form of art: writing, painting, music, filmmaking, etc.
I guess you gotta ask yourself if it matters whether anyone else ever sees it.
Ha!I just say that I'm a bit crazy! For whatever reason I decided to build a physics engine from scratch, along with the game engine (not done yet). Not really sure why other than a really bad itch that I just had to scratch.
Would this also work for, say, programming language and compiler design (which is also in a way about creating new, abstract worlds)?
What I needed to do instead was realize what those needs were, where they were coming from, and address them directly. Now I have a lot of catching up to do back-dropped with the emotional texture of lost time.
It's easy to build an engine and then spend an eternity bikeshedding it to accommodate all sorts of games, while not actually writing any games. What you should be doing is focusing on getting a game out there, and letting the engine serve this goal and only this goal. Any engine work that doesn't directly contribute to a specific game reaching completion should be postponed or cancelled altogether.
I know because I used to be That Guy, the one who was going to write the awesomest game engine ever and use it to build awesome games. But the engine code seemed to get in the way of building games, and changing it took up a lot of time. So I pivoted to just writing a damn game, from scratch, and that so much better that the engine I wrote to run this one game was even awesomer than my universal engine.
Unfortunately, a game engine can only get as big as planned obsolescence dictates. Apple especially, deprecates stuff on what feels like a 2-3 year cycle. So just when we'd think we were done, another module in our engine would require refactoring because the system framework it depended on got axed. Not to mention that Xcode has reached such a level of burden on developers, compared to anything in web development, that I could no longer endorse it. I got tired of rewriting code for the eleventeenth time and called it quits around 2010.
The prime directive of game engines IMHO is to not make a single direct system call. Go through a layer like SDL, or you'll never get free of maintenance.
Game engines are the final craft.
Programming is a higher art than painting or music.
A lot of people joke that his artwork is sub-par and the music is repetitive, but frankly... the integration of all three into a single product / series of games is pretty amazing.
---------
I don't know if gaming is the "ultimate" form of art. And no one is going to say that Zun's art or music is the best in the world.
But the fact that Zun can do all three and have them play off each other in his games is pretty masterful. There's a big difference in feel between people who only have mastered say Programming, but rely upon a team-member to do the art and/or music.
Having the sound-effects integrate into your musical scores (thanks to understanding music theory / beats), as well as generating artwork from programmatic features (the pretty "bullet patterns" of Zun's games) is pretty unique. https://www.youtube.com/watch?v=s8JmfCYmtHo
Zun can make bullet patterns that look beautiful, while simultaneously is fun to dodge / play with, and with sound effects that integrate well into the music.
I'm reminded of a Tim Minchin quote where he said he isn't funny enough to be a comedian or gifted enough to be a musician, but he can be the funniest musician and the most musical comedian out there.
There's something to be said for having an interesting combination of skills even if you don't maximize any one of them.
I recently finished writing a giant book. I wrote it all, hand drew the illustrations, and typeset the whole thing. I'm not a particularly talented artist or designer, but I have the unique property of deeply understanding the source material. So even if the illustrations and layout aren't the best, they are informed by the source material in ways an outsourced designer wouldn't be able to do. When I draw a little diagram, I know which boxes to make biggest because the concepts they represent are the most complex. When I choose to split a snippet of source code across pages, I know where to split the code to be least disruptive.
Programming is the weave of everything digital, like the matrix glyphs it can describe all, be all, modify all. It rules all crafts by an infinite amount. As a single programmer in a 3D multiplayer system, you become god.
The truly amazing game makers like Pixel f.ex (Cave Story) are not incredible because they can make graphics, music and code. But because they actually manage to release code that works while being good at graphics and music. The rare skill is programming, not drawing or music.
99% of programmers don't take resposibility for their creations long term, including John Carmack and Tim Sweeney!
So it's a trifecta: Be creative (discover things nobody did before), manage to release live products that work, take responsibility = work on your own.
The most underrated skill in human history is this kind of programming, eventually it will become the only skill worth having until all energy has depleted. Then we're back to sticks, stones and cave drawings! :D
AAA games have art in them (the assets made by individuals), but the entire pieces are less art than product after being ground to completion by an org chart.
As for DIY game devs, I really enjoyed Tom Happ’s Axiom Verge series. The artwork and level design, especially. I’ve seen a couple interviews where he kind of brushes off the praise for the musical aspect - and I agree. I think it’s the weakest part of his games. The music fits incredibly well, but it feels a lot like someone noodling on a keyboard until they reach the appropriate level of spookiness.
But ultimately, all the components work well together, and the games feel like one person’s mad vision.
No it's not, and it is imho a delusion to think otherwise.
Programming is engineering, it is about finding the best solution based on a series of requirements (performance, readability, time, etc).
There's very little creativity involved in programming as it is the case with pretty much any engineering field.
I don't understand this narrative of making it seem a creative activity which is not. That's not to say that it is #completely# void of creativity or "beauty", but I just dont believe this narrative of it being "art". And comparing it to painting or music is straight up circlejerk material.
In the end for every single argument you can give for programming being art, l can just answer you that it applies even move to math. Is math art?
You can see this in game programmers that only use technology to draw/play (shaders, proc. gen. etc.). The medium becomes the media!
I understand it is hard to see now, since humans take a long time adapting to things but this 50 year old craft (the youngest craft we have and possibly the last ever to be discovered by humans) will eventually be the master craft once programmers realize they don't need companies to earn value that allow them to pay for real physical things.
It will take time, but in the large perspective of civilizations it will happen in a heartbeat, historians will write that it allready happened!
It depends on the context. If you program for bigco then there isn't much creativity. But if you draw imagines or make music for bigco there wont be much creativity either, they will want standard stuff done as cleanly and quickly as possible. However when you are programming whatever you feel like to make an enjoyable program then that is art, similarly to how someone who draws freely to make a picture that is enjoyable to look at is art.
When you got an idea for a program in your head then you go and program it as efficiently as possible. But that is exactly the same thing as an artist with an imagine in their head, they will try to draw that image as efficiently and accurately as possible as well. There is no difference here. The only difference is that programming is harder to work with and you can do more things with it. You can draw images with code, but you can also do so much more.
Made an algorithm that made pixels behave like water and is cool to look at? Great! Now make a whole game around that concept! Even greater! You can't say stuff like this isn't art.
One could instead consider that math already exists, and we are just discovering it; but this is as useful as saying that all images already exist (in the set of all pixel matrices) and digital painters are just discovering images that were already there all the time.
The end result isn't all that matters; it also matters how we get there.