Matytoonist

Bnnuy brainrot(?

19yo argentinian cis guy
Things i like range from art, to software, to DIY electronics, and whatever current project im having

big button that reads "powered by linux" featuring Xenia's left eye from the original drawing om the left
button that reads "bunny browser" parodying the netscape logo with a rabbit siluette


geometric
@geometric

you should not be a 10x engineer or whatever, you should be focusing on the vision and ideas and emotions that make your project interesting and beautiful and touching. some of the greatest indie games of all time have absolutely nightmarish codebases because the creator was rightly focused on the player experience


vectorpoem
@vectorpoem

inside each of us there are two wolves. our goal is to not be devoured by either.

from our "do just enough to ship" wolf we get the wisdom that sometimes you just gotta accept certain limitations, buckle down and get it done - after all, the whole reason you're making something is to bring a cool new experience into being, right? so don't overthink things, don't let the perfect be the enemy of the good, know when to call something done, and don't rewrite endlessly - you can roll everything you learned into the next project. the pitfall here is that it can so easily become "work harder, not smarter", and next thing you know you've run an entire marathon in clown shoes (that you made at the very beginning of the project!) and you're left with a project that was some combination of harder to make, longer to make, is now difficult or impossible to maintain (maybe even small fixes for issues players find) and didn't actually teach you that much aside from "yeesh, don't do any of that again". indie games especially are riddled with hustle culture thinking and massive survivorship bias, so it's easy to look at the gnarly code for some highly successful game and think "it's okay that my stuff looks like that, right?" - well, maybe. but what you're not seeing are the 100s of gnarly codebases that never shipped and/or burnt out their creators as they collapsed under their own weight.

nor are you seeing the codebases that never progressed beyond "really smart, solid framework that took years to put together"! from our "doing things the right way" wolf we get the very noble introspective impulse that there is usually a smarter, more powerful way we could be doing something. for my Capcom VS Everyone bot, the process of putting together the initial inspiration image (which now serves as the bot page's header) in GNU IMP by manually picking out web image search results, then cropping and scaling them to fit into the mosaic, convinced me that i would never be able to make the core gag (literally 1000s of characters) work without building a custom tool that made adding each single character take <=10 seconds. (i really need to make a video showing off this tool someday, i'm proud of it.) if i'd listened to my inner pragmatic programmer and written off that tool as simply "nice to have", a kind of distraction, i probably would've spent a whole day hand-editing images and JSON to get about 100 characters into the corpus and then given up, concluding the labor was too great. with the tool, i can add several dozen characters in a brief session, and it's easy and fun. there was a smarter way to do it, with a non-trivial time cost, but i did it and it paid off; the bot never would have shipped without it.

so my boring middle ground conclusion is that it depends. i think the key thing is to understand yourself, and how vulnerable you are to either of these temptations, on a given project, and from under each of the different hats you must wear as a solo / tiny team creator. always be looking for ways to become better at making things, and always hold on to your passion for making (and finishing) something compelling. i don't see those as contradictory in any way. good luck with your wolves. and be kind to yourself.


TalenLee
@TalenLee

Whenever I see these positions, these kinds of conversations about what should or shouldn't be done in the name of making things I tend to want to ask which side of the conversation is the one that gets made feel illegitimate, which needs to hear that their work is valid too? Are People Who Code Correctly likely to be people in need of encouragement?

It comes up a lot in writing. While trying to encourage people who aren't necessarily 'good' writers yet, who don't have practice, I would often advocate that short stories, a page of a story, was still a story, and that's good because it was practice that could let you make harder, more complicated things. And inevitably, when I made that kind of post, I'd have someone - usually well meaning - show up in the responses, where my advice was being presented, to advocate that hey, also, if you want to write three volume doorstoppers with ten pages of glossary in the opening of the book and all, you should do that and like...

I get it! There are two sides, maybe one of these conversations really needs someone to advocate for another, different thing than what I said. I tried very hard to not shout at the people who did that, though. Because 'well sometimes it depends' is almost anti-advice, in the same way that 'huge, well developed, elaborate and difficult to make stories need validation too' is.

I don't imagine there are a lot of people with imposter syndrome ashamed to share their work or embarrassed about being included and making things because they're too good at doing things the technically correct way. Those folk are probably more discouraged by other things.


You must log in to comment.

in reply to @geometric's post:

makes me think about how sometimes I'll write a shader or do some code or sprite that's really good

TOO good

so I have to make it shittier because I'm like, is this what I want the standard of the rest of what I do on this game like? and the answer is, haha nooooo

This is why i never release albums. By the time I’m “done” I’ve managed to make a song good enough that it makes the older parts of the album feel not good enough. And then the cycle begins anew lol

code is different because the player experience can be identical whether your code is a mess or not. Everything else you listed is player facing and its improvement will be felt in the end product.

sure, it can be identical, but i think it's wrong to say that it generally will be, personally my experience with code tends to inform the stuff i can do with gameplay, visuals, etc. it fundamentally changes my approach to development, and so influences pretty much every aspect of the game. without code experience i might not think to implement my player movement in a specific way, or to write a specific shader that influences the visuals of my game without the significant experience i have with code

also like, even if those the disciplines you listed were inherently more important to player experience than code (which as i said, i really don't agree with), i still don't see why that'd mean being "good enough" at them to finish your game isn't still the way to go, as you said you should be focusing on your vision and ideas, which doesn't necessarily mean great art or writing or anything specific, it all depends on the game

god, 100% agree. i'm all for striving to make things faster and less computationally expensive, but in my eyes video games are almost completely at the "art" side of the spectrum, and for that reason i think any technical means justify the end of it existing at all. it's not a coincidence that some of the best games are this way. i dont care that your rendering pipeline takes 0.2ms to render, i just want to see the little dude move around funny.

there are some parts of the code you should take the time to do right. The more unrelated systems that need to interact with a thing, the more solid you'll need it to be. If it's a system that's at the core of the entire game, one extra day of planning today could prevent a month of frustrating bug whack-a-mole that gets in the way of you adding the stuff that matters. But if it's just one enemy type or one weapon that's self-contained? Churn that thing out in ten minutes by whatever means you can! The worst thing that can break is itself.

i broadly agree with you that gamedevs get way too stuck on trying to make everything bulletproof, but learning when to be careful is very important wisdom too. It mostly only becomes an issue in larger projects though... and everyones' games are too big, which i suppose is the real problem!

in reply to @MrMandolino's post:

in reply to @TalenLee's post:

i think the primary thrust of my post was trying to move beyond a framework of validating one or another approaches / groups of creators and understanding that for pretty much everyone the process of making anything is subject to multiple pressures that require self knowledge to negotiate successfully. i don't know how much that applies to fields i'm not an expert in, so i focused on things i'd seen derail game projects (mine and others) in pretty much equal volume.