[HN Gopher] Game engines as an art form
       ___________________________________________________________________
        
       Game engines as an art form
        
       Author : hajimehoshi
       Score  : 76 points
       Date   : 2021-12-28 10:58 UTC (1 days ago)
        
 (HTM) web link (medium.com)
 (TXT) w3m dump (medium.com)
        
       | bullen wrote:
       | 3D A&V multiplayer is the final medium/media.
       | 
       | Game engines are the final craft.
       | 
       | Programming is a higher art than painting or music.
        
         | dragontamer wrote:
         | Team Shanghai Alice / Zun (aka: that one crazy developer) does
         | all his own artwork, music, and programming for the Touhou
         | series.
         | 
         | 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.
        
           | whateveracct wrote:
           | Full stack ownership of a game is what can make it truly good
           | art imo.
           | 
           | 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.
        
             | dragontamer wrote:
             | > Full stack ownership of a game is what can make it truly
             | good art imo.
             | 
             | Good is not quite the nuance I'm trying to say here. Final
             | Fantasy VII remakes are "good art" and good enough
             | programming, probably top-quality music as well despite
             | being made by a giant organization.
             | 
             | ------------
             | 
             | Integration is probably the thing I'm trying to discuss,
             | which is "good" in its own way. The Touhou games are
             | probably the best example of that, but maybe that's a bit
             | niche.
             | 
             | Supergiant Game's "Bastion" was probably the best
             | "integration" I've seen in more recent years of art / music
             | / sound / programming. The way the narrator responded to my
             | button-pushes and actions was downright creepy at times
             | (creepy in a good way though)
             | 
             | AAA games like Red Dead Redemption, try to accomplish the
             | same thing but its just not quite as tight or as well done.
             | I give them props for the effort (and getting further than
             | most other AAA titles), but its just really difficult to
             | compete with the level of integration that smaller teams
             | can provide.
        
             | boppo1 wrote:
             | I think Arkane, Looking Glass, and iOi have come pretty
             | close. This is coming from an experienced oil painter and
             | novice programmer.
        
           | munificent wrote:
           | _> 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'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.
        
             | dragontamer wrote:
             | Zun is a particularly cool example.
             | 
             | There are plenty of excellent artists out there. If your
             | video games inspire them, you can have a large fan-base who
             | can contribute fanworks... from (amateur) manga/comics and
             | other online works, to fan art, and maybe even some
             | professionals remixing your works (most noticeably in the
             | music world for Zun, where professionals / dedicated
             | musicians take his speedy tunes and add a more subtle flair
             | to it)
             | 
             | The "Bad Apple" fanwork is a great example of how the fan
             | community interacted with Zun
             | (https://www.youtube.com/watch?v=UkgK8eUdpAo). The shadow
             | art was its own thing (though clearly based on Zun's
             | characters / Touhou characters), but the song itself was a
             | remix based from an earlier game
             | (https://www.youtube.com/watch?v=xNKyPkQ-_ug)... and
             | professional level remixes to Bad Apple have entered the
             | world.
             | 
             | ---------
             | 
             | So Zun was "good enough" at art, music, and programming...
             | but also did a great job at inspiring and leading the
             | Touhou community / fanbase.
             | 
             | In many ways, the "game designer as commmunity leader"
             | model is apparent. Braid, Touhou, Minecraft, and even
             | Factorio all had community leaders and fan-growth that was
             | superbly done.
             | 
             | The music / art of the Touhou community though really
             | elevates that particular community into true artistry. Both
             | of the classic kind (just straight up good drawings / music
             | being made), as well as of the programming / interactive
             | kind.
        
               | HansHamster wrote:
               | And the Touhou fanbase is really big both in Japan and
               | outside. For music alone there are probably hundreds of
               | artists and groups and there are lots of fan comics,
               | videos, games, memes... the rabbit hole (no pun intended)
               | goes really deep.
        
           | bullen wrote:
           | The definition of art is somewhat hard to find, but to me an
           | artist excels in his/her field. The trick here is to see
           | value, a painting or song has only consumption value, it
           | produces nothing except feelings that in turn can
           | materialize.
           | 
           | 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
        
       | et1337 wrote:
       | > If you had asked me why I'd been so dedicated to developing the
       | same game engine for so long, I probably wouldn't have had a very
       | good answer for you until somewhat recently. Perhaps I would have
       | cracked a joke about game engine development being a basic human
       | need for me, right up there with food, water, and oxygen, but
       | obviously we all know that's not a real answer.
       | 
       | 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.
        
         | motohagiography wrote:
         | Knowing a lot of creative people with a drive that could be
         | interpreted through the lens of pathology, on the other side of
         | it, what does healthy look like?
        
           | wolverine876 wrote:
           | What is pathological? The need to feel safe and have some
           | control? That is perfectly healthy. How you do it - that is
           | where unhealthy things can happen. Is art an unhealthy way to
           | do it?
        
         | mathgladiator wrote:
         | I'm doing this right now on my language platform.
         | 
         | 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/
        
         | munificent wrote:
         | Are you me?
         | 
         | 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.
        
         | galbar wrote:
         | > 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.
         | 
         | 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.
        
           | lordnacho wrote:
           | Because it actually is a massive accomplishment!
           | 
           | It's funny how just about everyone who codes has dreamed
           | about writing games early on, and then it turns out games are
           | some of the most complicated projects possible, maybe the
           | last thing you want to try as a novice. I've only recently
           | done a side project game and it's got a lot of the challenges
           | of HFT, plus more.
        
         | amelius wrote:
         | > I've realized that game development is a great coping
         | mechanism to help you feel safe and in control.
         | 
         | Would this also work for, say, programming language and
         | compiler design (which is also in a way about creating new,
         | abstract worlds)?
        
           | wolverine876 wrote:
           | It works for anything that makes you feel safe, in control,
           | accomplished, etc. It's not related to the means. Every human
           | has done it since the dawn of homo sapiens, and probably our
           | ancestors too. It was done before computers, before books,
           | etc. Paint something on a cave wall, if it works for you!
        
         | wolverine876 wrote:
         | > 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.
         | 
         | 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?'.
        
         | moritonal wrote:
         | Reading this whilst waiting for Unity to finish importing..
         | yeah. It's my holiday, and a piece of me can comfortably think
         | that I'm improving my skills, making something that might one-
         | day sell for a bit of money, but realistically just cheers me
         | up to make something pretty.
         | 
         | I guess you gotta ask yourself if it matters whether anyone
         | else ever sees it.
        
         | pengstrom wrote:
         | Knowing that the "computer nerd" is the archetypical male
         | fight/flight hybrid coping mechanism from childhood trauma,
         | this is unsurprising. A lot of my own life struggles became
         | easier to understand when I started unwrapping my trauma with a
         | therapist.
        
         | slmjkdbtl wrote:
         | I think that applies to making anything completely by yourself,
         | a DAW, a drawing app, a house. The only problem I'm facing is:
         | I keep going deeper and deeper in making tools and never made a
         | game since (game engine -> programming language -> OS), tbh I
         | am a bit jealous to see people already using Unity making cool
         | effects, where I would have to spend weeks learning the maths
         | and engineering behind those
        
         | kello wrote:
         | This hits hard for me. The part about being in control
         | especially.
        
         | HellDunkel wrote:
         | So what exactly is it that we are self-medicating? The
         | disability to fit in with others? That would be too much of a
         | clichee for my taste. When i was young i could always imagine a
         | greater game, no matter how great the games i had. Out of this
         | grew the desire to make. Of course i failed. But isnt this
         | quite an appealing conditio humana after all?
        
       | DizzyDoo wrote:
       | I think the more people creating game engines and open-source
       | game frameworks the better, since every now and then something
       | like Godot will emerge and continue to prevent a Unity-or-Unreal
       | mono-culture. Which, to be clear, I don't think we're close to;
       | to pick just one example Monogame, for instance, has been doing
       | its thing for ages now and is going strong. As someone who's
       | full-time job is working in Unity I think this sort of thing ends
       | up being healthy for the whole developer ecosystem.
        
       | bitwize wrote:
       | I've found a good strategy is to focus on the game, not the
       | engine. That is, don't go in hoping to write the be-all and end-
       | all of game engines. Instead, sketch out a game that you would
       | like to play and build as much engine as you need to support
       | _just_ that game.
       | 
       | 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.
        
       | zackmorris wrote:
       | I miss working on my C++ game engine with my old business
       | partner. We got so far with it, all the way to cross-compiling
       | stuff like Ogg Theora/Vorbis video and audio playback around the
       | time the iPhone arrived. Maybe a dozen rather large frameworks,
       | before stuff like CocoaPods. Which provided us with a bare-metal
       | environment, kind of a Unity for 2D gaming with blitters and
       | basic OpenGL quad rendering.
       | 
       | 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.
        
         | bullen wrote:
         | I think OpenGL (ES) 3 / OpenAL is probably the final APIs you
         | have to worry about for eternity. Metal/Vulkan/DX12 adds
         | nothing of gameplay value.
        
           | Matheus28 wrote:
           | Guess what, Apple has deprecated OpenGL too :)
        
             | bullen wrote:
             | I know, that is more proof tha Apple is heading in the
             | wrong direction than anything else.
             | 
             | They can deprecate all they want, they will never be able
             | to remove it!
        
       | ffhhj wrote:
       | Game engines are the nearest we can get to ideal no-code tools,
       | and after all the typing saved we still need a whole lot of code
       | to define game mechanics, effects, interactions, and so on.
        
       | turnipsoup wrote:
       | Ebiten actually works fairly well. I believe there is an example
       | of a game made using Ebiten that garnered 100,000 downloads on
       | the Google Play Store. I am even more impressed after perusing
       | this article. Thank you for sharing.
        
       ___________________________________________________________________
       (page generated 2021-12-29 23:00 UTC)