8 ms·
Gamedev has got to be the most rewarding type of software coding there is. It’s a type of coding that is much closer to actual artistic creation rather than eng
by sktrdie 5y ago
Gamedev has got to be the most rewarding type of software coding there is. It’s a type of coding that is much closer to actual artistic creation rather than engineering. The sheer amount of creative & engaging stories, puzzles, real-time strategies and on top of this entirely multiplayerable online allows for an infinite amount of types of entertaining creations… all made possible thanks to code.
Sure there’s untapped potential in all kinds of types of software; hell people are reinventing 2d design (think Figma etc) & issue management (newly released GitHub issues). But surely building “yet another react form” feels like coding an already solved problem.
What I mean is that gamedev has possibly the most untapped potential for coders wanting to make something truly amazing, with a sheer infinite amount of possible creations.
You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”.
- jokethrowaway 5y agoI agree wholeheartedly; it's also much harder and not very economically rewarding on average
- ChrisRR 5y agoUnfortunately it's not. If you're working on a small 1 or 2 person game where your work blurs the lines of art and engineering, you're highly unlikely to be successful. For every Undertale there are literally hundreds of other indie games that barely earned a penny It only takes a small studio of like 10 people before you're practically never touching anything creative and are working on software tools and under the hood functionality just like any other dev job
- hypertele-Xii 5y agoYou're thinking of money. The parent poster was talking about art. If you can afford it, gamedev allows you to blow not only your own mind, but also the minds of everyone else - especially new generations who have learned the medium from birth.
- ChrisRR 5y agoAny amount of hobby projects allow to blend software with whatever your interests are. Everyone probably has other hobbies that they could easily write software for
- roenxi 5y agoI dunno, much like how most people aren't artists, I think most people probably wouldn't get a lot out of game programming because they just don't have that combination of creative spark and narcissism to think they can create a great game. Most of the actual fun in programming is that feeling of ongoing small puzzle solving.
- renewiltord 5y agoI had quite a bit of fun many years ago making an Arkanoid clone that included gravity and a tilting paddle that would react to the impact of the ball. Only two people ever played it: my brother and me. And I’ve lost the source code, but I recall it being very easy to make in Love 2D. It was fun, at least. And I’m a huge fan of this kind of mass low-grade creativity.
- wizzwizz4 5y agoIf you still have a binary, LÖVE 2D games are reasonably simple to decompile.
- renewiltord 5y agoFascinating fact. Thank you. I have nothing. But it should be easy enough to replicate.
- derefr 5y agoThis seems to also be defining game creation in terms of money: a "great game", as if something has to be widely appreciated to be great. Artists make art because they feel a need to express themselves. There are often less-stressful, more commercial uses for their same talents, but they do art instead, because there's something nagging on their minds to be expressed out into the world. (Often an artist-in-general will learn a new artistic medium just to express a feeling they don't feel can be expressed with their current toolset!) And nobody ever said the artistic process itself is fun. It's toil for the reward—the satisfaction—of having communicated your thought in a way that seems capable of truly touching other people. Just like the "petty art" of the prose writing we're doing to each-other here — but with much more labor and intent put into each stroke, such that there is more value to be wrung out of each moment of experiencing the result.
- jayd16 5y ago>It only takes a small studio of like 10 people before you're practically never touching anything creative I've worked at AAA studios on AAA games with 500+ devs and you still get to play with art and fun ideas. How do you think they trick kids into spending 12 hour days at the office? There are some that retreat into bank software levels of detachment but it seems to be the exception, not the norm.
- meheleventyone 5y ago> But surely building “yet another react form” feels like coding an already solved problem. > What I mean is that gamedev has possibly the most untapped potential for coders wanting to make something truly amazing, with a sheer infinite amount of possible creations. Whilst I agree there is a lot of common and drudgey work in gamedev as well even in extremely creative projects.
- hypertele-Xii 5y agoAgreed wholeheartedly. I'd add that engineers have their place in gamedev as well, because many artists don't know how to make computers create worlds. Engineers generate the possibility space where artists can work. Sometimes, fast code is needed to unlock capabilities no-one could have pre-imagined of.
- ehnto 5y agoI've been loving following the Star Citizen project as they've just been throwing intense amount of money and work at really hard problems, due to an almost unbridled scope at the beginning. I think most game projects would have been reigned in by publishers or ran out of money by now. Whether someone believes the project will succeed or not is an interesting question, but you can't deny that they've made great progress at the fringes of a lot of game mechanics.
- ehnto 5y agoIt's unique in that it lets you create something that is quite immersive and more tangible instead of ephemeral. It feels more familiar to working with your hands than any other type of coding, and pretty much anyone can understand or enjoy it. My partner doesn't care that I wrote a really sweet cron job for collating web orders today, but she can instantly grok how cool a game idea is and have fun playing.
- chromanoid 5y agoUsually a bunch of indie game developers invest years and by the end 1000 people buy/play the game... How is that rewarding? I would claim it's the most risky type of software coding. And because of that probably also the most "dirty" way of software coding...
- samkelly 5y agoI've spent like the last 10 years of my life making a few games that nobody will ever play. I don't feel like the years were wasted though, because the games were rewarding to build and stuff doesn't need to make money to be worth the time spent.
- chromanoid 5y agoSure, but would you support a generic global statement like this? > "Gamedev has got to be the most rewarding type of software coding there is." I am also a game development enthusiast, but I would say this is the reason why it feels so rewarding. The way of programming is not the reason, in my opinion.
- larsiusprime 5y agoAuthor here! I have mixed feelings about this. When you do something creative for a job it takes on an entirely different character than doing it for yourself. Another thing is that gamedev is still software coding (among other things), and only a fraction of what you're doing amounts to the "fun bits" related to making interesting game design decisions. The majority of it is endless slog in trying to get collision detection to stop snagging on corners or figuring out why your fire status effect is cancelling as soon as it's applied (turns out it's because fire is cancelling ice without checking for the presence of ice in the first place, and ice turns enemies wet when it expires, and wet status cancels with fire status, so setting things on fire made them wet, which means they're no longer on fire). And 50 million more thing like this. I enjoy it, but then there's also the fact that the industry itself has a lot of pathologies that "boring" software development doesn't, lower pay and worse working conditions as an employee, and extremely turbulent ever-changing conditions as an independent developer or freelancer. Whenever some kid tells me they want to go into games for their career, I like to trot out the probably-apocryphal story of the Jewish rabbi who refuses to let a proselyte convert until he's come to the rabbi three times and been flat refused twice. I use the same method -- "no kid, you don't want to go into the game industry for all these reasons." If they keep coming back despite all that, they at least know what they're getting into.
- chromanoid 5y agoThis. 10k games were released on Steam in 2020. In 2021 Q1 there are 316k games available on iOS. When creating a game is what you like, it might be rewarding, but the coding work is usually not very rewarding when it comes to the details. Especially because game ideas are usually not as original as most people think... When you are not a code monkey, coding is always highly creative be it games, missile control systems, high frequency trading, insurance policy management etc. It might be easier to imagine fun in the idea of coding for a leisure activity, but in reality it can also feel very shallow.
- iamwil 5y agoOne thing jumped out at me above that I had a question on: With the problem about status effects, how is this typically implemented? Do the rules for interactions exist within the game objects themselves, as if-then-else statements? If so, I can see why that would be error prone. Even if those rules exist in abstractions like "Burnable" and "Metallic", it's still hard to see the side effects of changing or adding a single rule. Does anyone ever implement it in a single place, where you can query for the interactions between the different status effects? That way, all the rules are in one place, and being able to query for it, the results would tell you how it came to that conclusion. If not, how come?
- nicetryguy 5y agoThe romance wears off fast once the ideas are in place and the tedium sets in. The fun brainstorming and dreaming parts amount to about 1-2% of the project, then you actually have to build, draw, tweak, and fix the damn thing.
- bitwize 5y agoBut oh man, does the high ever hit when you finish building and tweaking some feature, and your dream gets a little bit closer to reality. The video game you imagined playing, sometimes actually in your dreams, sits right there in front of you... maybe not close to completion but a little bit closer. And you can share it with your close network of playtesters a.k.a. friends and family.
- nicetryguy 5y agoit is a beautiful feeling! well worth the time in my humble opinion =) i just wanted to stress that gamedev is anything but "lets do this great idea" and then magically it's done. it is a ton of work and you gotta celebrate those small steps.
- taneq 5y ago> Gamedev has got to be the most rewarding type of software coding there is. Well sure, when you're doing the fun bits for fun. > It’s a type of coding that is much closer to actual artistic creation rather than engineering. Unless you're in a team with both artists and coders, which is, y'know, all of the commercial ones with a chance of success. > The sheer amount of creative & engaging stories, puzzles, real-time strategies and on top of this entirely multiplayerable online allows for an infinite amount of types of entertaining creations… all made possible thanks to code. It's the game designer who gets to do all this creating, not the coders. Unless (see point 2) you're in a tiny team hoping to win the lottery. See also "the kid fresh out of gamedev boot camp who wants to be a designer and is confused when nobody wants to join their team because everybody else has already has their own great ideas for a game which they've been working on for 10+ years while they also learned to code or model." > But surely building “yet another react form” feels like coding an already solved problem. Try building "yet another 3D model loader (that has to handle the quirks of three different modeling programs and eleventy different graphics cards)" - it's just as much reinventing the wheel, but with the added bonus that if you really cock it up you can hard lock your computer. Or my personal favourite, "debug this third party open world game engine which is clearly just a model viewer with a for() loop around it and the object loading part in a separate thread with zero synchronization." :D > You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”. Sure but 99% of professional game coders don't get to do this. This interdisciplinary paradise is the domain of hobbyists who never get paid and of the tiny minority who are there at exactly the right place and time (and also probably never get paid.) Career traits: Fun, lucrative, attainable. Pick any two. This applies to gamedev as much as any other line of work. This rant brought to you by distant, slightly salty memories of my brief stint in gamedev.
- munificent 5y agoAs someone who worked at EA for eight years, I think you are viewing the world with pretty jaded glasses. Yes, most game dev is not a magical utopia of coding whatever you feel like and watching the magic happen. But it's also not a horrific grind where you are treated entirely as a code monkey for someone else's art. There is an entire continuum between these points and different companies and teams will lie at different points on it. I have worked on games where I was so deep in the bowels of tools and tech that I couldn't even tell you how the game was played (maintaining the UI editor for Madden, which was actually a lot of fun). And I've worked on games where I sat right next to the designers and artists and had a lot of influence on the game itself (Henry Hatsworth, where I wrote the level/animation editor and in-game AI engine). I think overall, most game dev jobs do have a few things going for them compared to other domains: * You get a greater opportunity to work on cross-discipline teams. During my time at EA, I worked closely with artists, UI designers, producers, technical artists, sound designers, etc. It was wonderful to not be in a programmer monoculture. It's good for the soul to be around people who think differently. * People outside of your work have a more immediate understanding and appreciation for what you do. There is some prestige to being a game dev and at the very least most people can at least visualize a video game. If you work at a typical non-famous non-FAANG software company, your job is almost totally invisible. * You're working on a game. You might not spend much time literally playing it, but it's still more fun when debugging to poke around a football field or dungeon than a spreadsheet full or insurance rates or whatever stuff most typical CRUD devs are dealing with. Game development often feels concrete and tangible in ways that other software doesn't. But there are some downsides: * The market factors the intrinsic rewards above into compensation, so game dev pays less than other software fields. The massive number of young people who want to do it also drives salaries down. * The overtime is often awful. * A side effect of the above two is a constant brain drain. Experienced devs age out and leave when they want to start a family and have sane hours, to be replaced by another crop of fresh-faced kids who will work for peanuts for the cachet of being a real game dev. That means there is often a large lack of software engineering maturity on teams. Tons of spaghetti code, broken processes, poor estimation, and other self-inflicted wounds. I really enjoyed my time at EA (except for the overtime and often crappy code), but I'm also glad to not be working full time in games any more.
- cableshaft 5y agoIt's rewarding, but also exhausting. Either you put months/years of your life into something that pretty much no one plays, so it almost feels like why did you bother (other than you gained some skills along the way), or it gets some success and then you get bombarded by neverending expectations from entitled gamers. Among Us: "I definitely burnt out. It was tough because during all of this, we weren’t able to see friends and family. Being so tired from working, I couldn’t even go visit my family during covid and had to spend holidays alone...That was definitely the hardest time.” [1] Minecraft fans getting angry at Notch for daring to take a vacation I remember, and here's one about a fan getting PISSED at an update with only one new thing to play with: [2] Stardew Valley fans mad for how long multiplayer update took "I love you ConcernedApe and your game, Stardew Valley, but people are getting impatient. I am getting impatient. You've had your vacation, your space and your earnings." [3]. Or Shovel Knight "We wanted another Shovel Knight game, but we didn’t want to make it. We’re sick of making Shovel Knight games." [4] The book Blood, Sweat, and Pixels goes into this more, especially for Shovel Knight and Stardew Valley. I worked on several games in the industry, a few small free ones on my own were popular but every game I worked on for a company failed to be successful or enter the gaming zeitgeist at all. It almost feels like a waste of my time when that happens, and often lead to layoffs. I got out of the industry after the third company in a row where that happened. [1] https://kotaku.com/among-us-developers-say-they-burnt-out-after-twitch-suc-1847122851 https://kotaku.com/among-us-developers-say-they-burnt-out-af... [2] https://www.reddit.com/r/Minecraft/comments/iaeqj/dear_notch_are_you_fking_kidding_us/ https://www.reddit.com/r/Minecraft/comments/iaeqj/dear_notch... [3] https://community.playstarbound.com/threads/rip-stardew-valley.117396/ https://community.playstarbound.com/threads/rip-stardew-vall... [4] https://www.fanbyte.com/features/shovel-knight-dig-interview/ https://www.fanbyte.com/features/shovel-knight-dig-interview...
- city41 5y agoI see where you're coming from, but I strongly disagree since you said "coding". I actually feel like the coding part of game dev is quite rote, boring and pretty much totally figured out. At least, for games that smaller teams or individuals can make. One of the best games ever made imo, Hollow Knight, was made with virtually no code at all. They used Playmaker, a visual game scripting engine for Unity.
- larsiusprime 5y agoBelieve me there's plenty of rote work non-fun grind work to be done even with no-code and lo-code engines, I've used plenty myself.
- vmception 5y agoNope Artistic creation with code is Been to a good art show lately? Maybe any one of those popup trippy museums over the last decade?
- ElViajero 5y agoDeveloping games can be as frustrating or rewarding as any other product, it depends on how much you like the industry you work on. I know people that develops music software, they love playing instruments, they love music, and they enjoy their jobs. Educational software, medical software, everything can be extremely enjoyable if you like the topic. I made accounting software, and it was really fun to do. In that case was just because I had creative control of the accounting software, and I like how well everything adds up, and how grateful are users when you remove their day-to-day pain-points. But if you like that, making games is more fun nowadays. It used to be a lot of code for networking, graphic engines, and tooling. More math and low level system coding than actual game development. And, no, if you like playing games that does not mean that you would like to make them. Even that it helps.
- granshaw 5y ago> everything can be extremely enjoyable if you like the topic I don’t think this is true. I’ve worked at multiple jobs where I barely interacted with the subject matter. Just the same old crud for webapps
- Retric 5y agoI’ve quite enjoyed building plenty of apps that where boring old crud webapps. It’s more engaging if you try to understand how all the seemingly meaningless data is actually used.
- ElViajero 5y ago> I’ve worked at multiple jobs where I barely interacted with the subject matter. You are completely right. My point is that is the same for video games than any other subject. And following your example, you may join a video game company and still spend all your time fixing bugs on the code for translations and subtitles or adding support for a button that publishes videos to social media. It depends on the size of the company and your position within it. But, many subjects are enjoyable.
- bitwize 5y ago> Gamedev has got to be the most rewarding type of software coding there is. It is... under certain circumstances. At a AAA studio it's an utter slog, unless you're the designer or one of the top coders working closely with the designer. Then you get to build prototypes, bounce ideas around, etc. until you come up with something you can hand down to the C++ slaves in the salt mines. If you don't want to be in the salt mines yourself, the best route to take is the indie route. Become the designer/lead programmer, write the game on your own schedule, and either do your own art/sounds/music or hire people to make those assets for you as necessary and use placeholders while you refine the game design. You also get your choice of language. Want to write a game in Lisp or Haskell? Go nuts! Do yourself a favor and start with a data-oriented model for your game world like ECS, instead of an inheritance-based object-oriented model. Your inheritance tree is going to whack you like a Whomping Willow the minute you try to build a game object with traits from different classes across the tree. With a data-oriented approach, your game objects are just pieces of state -- rows in a spreadsheet -- and you can change them with whatever tools are most handy: objects, plain functions, whatever. Choosing an ECS has saved me much hassle in adding new enemies and behaviors to the game I'm working on, and that shortens the time and effort from "I need to add this thing" to "WOW! It works!" Oh, and START SMALL. The easiest way to get from zero to finished game is to limit the scope of your game! Kenta Cho, the guy behind rRootage and all those bullet hell shooters, put up a bunch of tiny web games on his site, each of which uses tiny bitmaps or canvas graphics primitives, so has little in the way of assets: https://abagames.github.io/games-web-pages/browser.html https://abagames.github.io/games-web-pages/browser.html > But surely building “yet another react form” feels like coding an already solved problem. Building "yet another React form" should take minutes to hours. If it doesn't at your shop, consider the processes you have in place. Processes like Scrum are there to ensure transparency to management throughout the SDLC and to act as dampers to prevent programmers from becoming too efficient -- not to make the programmers better at their jobs! > You’re not approaching the creation with the usual “what problem am I trying to solve” but rather “what’s the most fun thing I can build?”. That can quickly degenerate into "what problem am I trying to solve" when you are trying to work out why collision detection isn't working or why enemies do random things they shouldn't be doing, etc.