I like the concept of scale. its why I’m obsessed with the ramp up of teslas gigafactory and car production, and why I am making a game about factories in the first place. I find factorio very impressive. I also find real world scale very impressive. Like REALLY huge wind turbines.
And REALLY huge solar farms.
So yeah… I like to address scale in my work (games!) too :D. I think that optimization and scale go hand in hand. its no good allowing players to create colossal factories if the option is only theoretical, given hugely slow code. So embracing scale FORCES you to write more optimized (i’d say ‘better’) code. I also think that in my tiny, tiny way, if I can get the CPU usage of my games down by just 10%, then thats a lot (high tens of thousands of players) of games running on PCs using less power. Thats good for the environment!
Anyway, on the subject of scale I just swapped my twin 27″ monitors for a single 49″ beast that weighs less and uses noticeably less power (yay progress!) and also way less cabling. I’m not sure I have the height just right yet, and it seems to tell some programs its a mere 3840 res and not 5120 res (which both my game, and many apps agree that it is).
First things first…. LOL huge monitors are awesome. I find myself daydreaming what it would be like to stick 11 year old me, used to playing pong on the CRT TV and stick him in front of a 49″ monitor with twin speakers & subwoofer belting out battlefield V. Its truly amazing. My 980ti cant quite handle a proper FOV in ultra resolution, so I may have to scale it down a little bit but hey…. its super fun.
This has led me to try out various games at that resolution including of course… Production Line! and it looks remarkably fun in 5120×1440 res (which it happily supports… (click to enlarge). BTW runs fine at 60fps with this map…
of course the target market for this is pretty small so far, but I definitely remember a time when the absolute maximum conceivable size for a monitor was about 1920, which is why loads of developers like me used to create 2048×1024 render targets, because obviously we wouldn’t need bigger (LOL), and TBH when I coded gratuitous space battles with 4096×2048 render targets for those show-offs with their fancy-ass 2560 res monitors, that again felt like a limit that *could never be crossed*, and yet here I am, in 2019 with a monitor that my own game from 10 years back (GSB1) now cannot quite cope with at 5120 res…
Scale in terms of coding to support silly monitor resolutions is one thing, but I also think its worth considering scale in other terms, such as users, bandwidth and so on. I doubt I will EVER make a game as successful as flappy bird, angry birds, fortnite or minecraft, but you have to wonder how many times devs got close to that and then kinda fell over (and failed to achieve their full potential) because they couldn’t cope with the scale.
Right now, positech has several obvious bottlenecks preventing us from coping if we suddenly had a mega hit (anything bigger than Democracy 3 probably). For one… I’m the only person doing customer support (yikes!), which means if you email support AT positech dot co dot uk and tell me the game doesn’t run on your linux toaster, its ME, the lead coder, lead designer, and lead biz-dev dude, who gets distracted by your email. Not ideal.
Another bottleneck is programming. Production Line is Windows only. I hate cross-platform stuff, but if the game suddenly sold 5x or 10x its current level, I’d be mad not to do an OSX port, and maybe IOS version (likely never linux…sorry but its way way too small). This would mean hiring someone to do a port, and the problem with that is it TAKES TIME right when you want to hit the zeitgeist with your hit game.
Because the costs of maintaining the infrastructure, both physical, and in terms of manpower, necessary for a mega-hit are so high, it makes zero sense for someone like me to really have it in place without a hit, although TBH I’m better prepared than most. My blog, website and reporting back-end is on a dedicated server, not some tiny VPS thing, and I have CPU time and bandwidth to burn.
The big problem (if I had a big hit and saw a need to scale) is that I’d need people FAST, and thats either hard, or expensive. If you live in downtown san fran, finding people is trivial, but their salaries are hysterical (due to property costs), so its swings and roundabouts.
I guess the sensible thing is to make sure you know WHO to talk to, in terms of outsourcing companies, and have made the contacts and pressed the flesh with them, without immediate plans, but with an eye to the future.
I guess I’m also saying that for companies that help with porting, or customer service etc, it makes sense to be polite and chatty and helpful to *as many indie devs as possible*, so that you are on speed-dial for them when their 16th game goes to #1 in the steam charts.
Oh yes, I know all about search engine optimization. Can you tell?
I talk to a lot of indie devs, although TBH not as many as I would like to, and I find many of the discussions illuminating. Because I work mostly alone in a little room in a field in the shire, I get so used to my way of doing things that its easy to forget there even are other ways. However, one of the most illuminating things is discovering just how long it takes most developers to do things (whether its code, art, biz dev, production stuff, whatever), and I am constantly shocked at how my output seems to not be 20-30% higher than many devs, but seemingly 300-400%+ more than many developers.
This blog post will try and explain how.
Its harsh. This is not touchy-feely happy cliff. This may annoy you, and make me seem a harsh, competitive, aggressive workaholic. This is reality. Most people don’t want to know this reality, but they claim to want it. This will not motivate everyone, but here goes…
Tip #1 Stop fucking around with ‘fun’ disguised as work.
Reading reddit is not work, unless its 100% actual new, informative, well-reasoned and argued and productivity or sales-boosting information directly applicable to indie game development on the platform/genre combo you work in. Reading about how to make mobile games about ponies is not going to improve your bottom line when you are a PC strategy game developer, no matter how much you kid yourself it will.
This also includes playing a dozen new indie games a month, or watching youtube lets plays or twitch streams of a whole bunch of new games. Thats not ‘market research’, its just goofing around. If you are currently between titles, and thinking seriously, and doing market research into industry trends etc, then yes, MAYBE you can claim a few hours for doing this as ‘work’. If you current game design is pretty fixed, and you are > 6 months away from release, it really doesn’t matter a fuck what is #1 in the indie game charts and how it plays. Thats not work. It will NOT change your immediate plans, don’t pretend otherwise.
Tip#2 Work somewhere quiet.
No a coffee shop is not quiet. Nor is any room in your house/apartment where other people walk through regularly. You need to be an end-zone where people only enter your room if they need YOU. Unless the house is literally on fire, someone has been shot, or imminent death or suffering beckons, nobody should disturb you when you are working. Nobody. You are in isolation. Don’t kid yourself that ‘you work better in a gregarious group of chatty people’. Thats crap and deep down you know that.
Tip#3 Get a big monitor, get 2 big monitors. Don’t feel bad if you have 3.
You cannot get a lot of work done on a tiny laptop. Thats silly. its 2019. Get some big monitors, they are cheap. I have twin 27″ monitors at 2560×1440 res. I couldn’t work at my current rate with less. I spend less time alt-tabbing than you. I can glance at my inbox without a context switch from game dev. I can view loads of my code and my game at high resolution at the same time. Monitors are cheap. its a business investment. Trust me. Buy 2, big, high quality ones. Buy them now.
Tip#4 Shortcut keys and batch files etc
I feel physically pained when someone right clicks and selects ‘copy’ or ‘paste’. How many shortcut keys do you know? Copy & paste & cut and select word, select line, select page up + down? Windows + R Windows+F? Alt+tab? Shift+alt+tab? Windows+arrow keys? Know them all. You actually do not need a mouse for much. the mouse is SLOW. I use batch files to process files in photoshop quite a lot. I also know a lot of shortcut keys in textpad32 and paintshop pro. Also… if you use visual studio are you using visual assist? its amazing. use it. USE every productivity tool imaginable. leverage what computers are good at. Get a fast PC.
I know devs who use zipped up files and drag-dropping to back up their code. FFS. Use source control and cloud backup software that automates all this for you. If code and software exists to make you more productive USE it. Use email filters and rules. So much time-saving software exists, use it.
FFS I even have my living room lights come on automatically at sunset without me pressing buttons. Automate the fuck out of things.
You will work longer and harder and happier in a nice work environment. When it comes to my office, no expense is spared. If you are an indie developer, your desk and office chair are probably more important to you than your car, TV, cooker and sofa combined. You will (hopefully) spend a lot of time in that chair at that desk. Get a really good one. try many, the really good ones will last a while. Mine is an aeron, 9 years old, still perfect. I actually had a desk made for me (surprisingly cheap actually), It will last forever. Do not make false economies here. Mine was about £800. Thats under £100 a year so far for the place I park my ass most of my life.
If you are working on your first game, I hate to be that ‘one guy’ who breaks with the happy-clappy hugs and flowers online twitter group hug, but no, you are not an indie game dev, you are a wannabe. You are trying. you might one day release a game, in which case, well done, welcome to the club. the world is littered with people who try and fail, and those who give up. Someone who is ‘working on a novel’ is not a novelist, they are a hobbyist.
If you want the warm glowy feeling of being an indie dev who entertains people and ships games and makes a living from it, they you need to work hard as fuck, for a long time, and get your head down and get the product shipped. Do not surround yourself with well meaning people who tell you what you want to hear. Thats a route that spirals down and down into insular failure and disappointment. If your game is behind schedule then you are failing. Stop whining and work harder, and keep that attitude until you finish something.
Also… don’t kid yourself that you have worked ‘super hard’ because you put in a solid 6 hours work at your desk today. Thats great, but frankly someone flipping burgers has worked longer and harder than you today. You claim to want to make a secure living in one of the most competitive, sought-after, cut-throat industries in the world? Well so does everybody else. Most people fail. Most people lose. You will not make a success of this working less hours than someone doing an unskilled minimum wage job. Do not blame me for the harsh realities of competition, but more importantly do not pretend they don’t exist because that truth is inconvenient.
This job is not hard. You want hard? go work as a soldier, a police officer, as a trauma surgeon or an astronaut. game dev is fucking easy. Don’t kid yourself.
Tip#7 Focus on one thing well
If you are good at making 2D RPGs, make 2D RPGs. Unless you have three years salary in the bank, and a lot of confidence, and are absolutely MISERABLE making those games, do not change. Every 2D RPG you make improves your skills, your experience, your audience, your engine, your productivity and your tool-chain.
I’m a competent programmer. I could make a 3D physics game next. Maybe I have a cool idea for one, but for fucks sake that is a BIG leap away from 2D/iso strategy/management games. Why throw 90% of my audience, experience, skills and technologyonto a bonfire just to switch genres and styles.
You might decide to change genres/engines/languages etc because you are seeking artistic fulfillment. Thats great, but thats the luxury of a leisure activity. Again…3 years salary banked? go for it. Else…thats almost certainly a poor business decision. Get good at a thing, then do that thing until its a big success. There is HUGE opportunity cost when you learn a new genre/style/language/technology. Make sure you are fully aware of this. Few genres are so small they cannot support a single indie dev.
Tip#8 Seek out harsh but real criticism
I get a fair few really good reviews and emails from people who really like my games. I love them. they make me feel happy, and warm, and appreciated and other nice things. its a good feeling. They don’t actually make my games better though. The emails you hate, the negative reviews, the dreaded steam refund reasons… these are the harsh angry truths that you do NOT want to hear, and yet you must. When someones tells you ‘i could make a better GUI with my ass whilst high‘, you may be angry, depressed, furious, insulted…but you need to hear it. maybe your GUI *is* bad. Maybe it could be improved.
Do not insulate yourself from the negative. negativity can lead to change, improvement and accomplishment. Data about what you are doing badly is absolutely essential in improving. If nobody ever tells you your games art direction is shit, or your game title is stupid, you will never improve it. If you *absolutely* cannot cope with harsh, hurtful criticism, then you probably should not try to make a living from indie game development.
Tip#9 avoid chances for distraction
I used to use rescuetime. I also used to use an hourglass to focus myself on work. I now find I need neither. I’ve worked so hard, so long, I’ve internalized what they used to do for me. Most people aren’t at that stage, and they get distracted. if your phone distracts you from work, switch it off. Nothing will explode. We survived thousands of years without mobile phones, you will be fine for entire eight hour stretches. You don’t need twitter during work hours, you don’t need to check the news sites or reddit during work hours.
If your code takes time to compile or art takes time to render, learn to multi-task with other WORK stuff. Set aside small tasks, like replying to forum threads, easy tech-support emails etc, so you can do them when you are waiting for your work to complete. Schedule other activities that you need to do anyway around times you know you are waiting for your PC. I mow the lawn/chop firewood while my PC renders out youtube videos for me. If my PC needs to reboot and update the O/S I will set it off before I have lunch, or last thing at night.
Avoid situations where your PC is sat there doing something (rendering / compiling / updating) and you have nothing to do but SIT THERE. You will get distracted, your mind-state will collapse, your productivity will plummet.
Tip#10 Avoid bullshit productivity planning admin
Some peoples reaction to stuff like this is to immediately start planning to be more productive. they will start a productivity planning spreadsheet, with nice formatting, some color-coding and even a company logo, or they will google for inspirational quotes to print out and then stick up around the office. or they will start making an important list of the top ten things they have learned about productivity. They might hop onto discord to chat to fellow devs and share their new found enthusiasm for productivity with their buddies…
…This is all bullshit.
The true response to this blog post, which is ending very shortly, is to close your browser. (yes CLOSE it), and do some work. Internalize the *attitude* not the specifics, and actually DO something. In other words, do not become like this classic, absolutely on-topic sketch from the life-of-brian which does a great job of showing exactly what I’m on about.
People do not want to hear this. It will not be popular. There will be denial. I have spent a long time, in phases over the years, in denial about it. I have wanted to believe it was not true, because realizing the truth is often very depressing, and if you are like most passionate and committed indie devs, you associate a lot of your personal self-worth with the success of your game, and you absolutely do not want to hear what I’m about to type. You may disagree, you may REALLY disagree, and for all I know, I may be wrong, I’ve certainly been wrong many times, but I assure you that when I type this, it is absolutely what I believe to be the case right here, right now in 2019 making an indie game for the PC.
The #1 metric for your indie game, in terms of determining its success is how good it is.
There. I said it. Unleash the rage hordes.
There are a whole host of reasons why we may try to argue that this is not true. Maybe luck is the biggest factor (seriously? you can do better than that, especially as some developers,/studios then seem to be weirdly consistently lucky…), Maybe its marketing spend (definitely a factor, but not #1. what was minecraft and flappy birds marketing budget?), maybe its nepotism and who you know? (really? was notch super-connected? was he a regular at GDC parties before minecraft) Maybe its originality (seriously? is rimworld a huge hit because of the original art style?) Maybe its timing? (seriously? when did making a game about income taxes gel with the zeitgeist of gaming tastes then?)
Face facts, we WANT the reason for a games success or lack of success to be something OUTSIDE our control. We want it to be something that we can shake our fist at, and complain about to our friends down the pub. “My game would have been a huge hit, if only I was friends with Mike Bithell, or if I lived in San Francisco, or if I had a bigger art budget, or if I had released it a month/year/decade earlier/later.”
I’ve made loads of games. Seriously loads. Many more than people realize. have you tried Kombat Kars, Space Battle 3001 and Kudos: Rock Legend? Probably not, but I’m responsible for all of them. None of them did that well, and they all kind of suck. I did a game called Planetary Defense, which kinda did ok considering the super-short dev time. It was ok, but the gameplay was fairly shallow. Kudos:Rock legend couldn’t decide if it was serious or casual. Kombat kars was hampered by my total lack of understanding physics programming. Space battle 3001 looked like someones first space game, and played like it too.
There is an absolute art form, to which many devs acquire olympic style skills, to come up with reasons that your game failed. People could write whole books on all the various outside factors that were beyond their control, which meant that inexplicably their last game was not a success. Its quit impressive to see the mental gymnastics. The only factor that is never considered? The actual game. maybe the game is just not good enough. It might be good, but not good ENOUGH.
Its a topic for a whole blog post in itself to explain why if you game is 90% good enough you will get 10% of the sales, when its 95% good enough you get 20% of the sales and when it hits 100% you get 100% and buy a sports car. Just trust me, its true, I have long experience of each stage of that.
And now before you hurl abuse at me, I’ll explain the nuance of what I mean when I say ‘not good enough’. Its probably not polished. The gameplay is not balanced just right. The tutorial is not good enough. The player options are not comprehensive enough. There may not be enough content. The art style may clash. The sound effects may be annoying. The music may be too repetitive, or annoying. There may be big obvious missing features where players expected things to be in the game. There may not be enough tooltips or hotkeys. The translations may be of poor quality. The performance may suck for some players., and so on and so on…
Production Line was started over 3 years ago. about two years ago it was a good game I was very proud of. it got better and better during early access. it was released this year and I considered it to be a very good, polished, high quality game. It got extremely good reviews. I could easily have moved on, but I have not, and I’m still working on it every day. It is not good enough. It is very good, and has made a profit, and sold a lot of copies, but it is not good enough.
I’m on update 76 right now (started working on it today), which is based around changes to some charts and graphs that display data about the component import costs. This is a tiny part of a tiny part of the game, but I am aware that its a bit obscure and confusing and some players have said so. The games reviews are very positive and the vast, vast majority of players have no problem with those charts, or do not care, but some players think they suck, and dispassionately I agree. They need to be made better.
That wont be the last thing I improve or tweak. I’ll be working through my polish list for a long time. As I work more and more on the game, and finesse it more and more, the sales go UP not down (as is the curve with most indie games). I’m not awaiting the imminent demise of the games sales, but the absolute opposite. I’m 90% there and heading towards 100%. Quality is all that matters.
I know this isn’t an option for everyone because: experience & economics. Not everyone has 39 years of coding experience, not everyone has a financial cushion that allows them to spend a bit longer to make a game higher quality. I know this. I know the position I am in, very acutely. The reason for this blog post is not to criticize but inspire. I want people who are struggling as indie devs to do well, and I feel thats best achieved by pointing out the truth.
We all lie about ourselves, even to ourselves. I think I am much funnier and better looking than I really am. I also think I’m thinner than I am, and probably kid myself I have some hair. We also lie about stuff we do, and stuff we make. The problem is, when your own sense of self-worth and your own pride get in the way of seeing reality, you are doing nobody any favors. Your indie game is probably not good enough, and deep down, you know it.
There is a disparity between the information people outside a creative industry have, and the truth about working in that industry. This is because the views of people who are very successful in an industry get more coverage, both through conventional media (because reporting on what multi millionaires like Adele or Tom Cruise or Gabe Newell does gets more clicks) and organically through media like twitter, where we naturally follow ‘celebrities’ who are inevitable wealth and famous.
(I am as guilty as anyone. I follow Elon Musk and Brad Wardell and Mike Bithel on twitter. If you are a struggling indie who hasn’t had a hit game ever, I’m unlikely to follow you unless I know you personally…partly because I just *do not know who you are*.)
To compound the problem, there is the whole issue of ‘fake it till you make it’, where indies and other creative types project a false narrative of success in the hope that success will breed success. This is just playing to human nature, and is understandable as a marketing strategy, but its damaging in terms of giving the false impression to people who want the real facts.
And to add to all these factors (as if they were not enough), we have a natural human tendency to want to place emphasis on our successes and minimize our failures. I am much more likely to tell you about all those times I did a share deal and made money than admit just how many times it went badly, badly wrong… This is just how humans operate.
The reality is that there are a number of big downsides to the freelance/self-employed/start-your-own company life that probabl;y need re-emphasizing from time to time. Here are the big ones
You probably, on average, will not make much money as a game developer, writer, artists, actor or any other creative pursuit. Its just harsh economics. Lots of people want the jobs and few are available. by jobs I also mean sales, so lots of people want a hit indie game and there are only so many buyers. Simple market forces mean most people do badly. In this article in 2018, Mike Rose found that 82% of indie games didn’t make their creators the minimum wage. What makes you so sure you are in the top 18%?
People often equate unstable income with ‘you earn $5k one month and $3k the next month. sheesh!’ but the reality can be way worse. Think more like this: You earn $32k one month, and then absolutely zero for a year. Or maybe two years. Can you be *that* disciplined with money to live like that? I’ve seen my own income double in one year, then halve the next year, and I’m a stable indie with 20 years experience and many shipped games.
You may well work from home. Whole days may pass without you talking to anyone. You have no work ‘colleagues’ and no workplace chat or gossip. There are no social groups in the evening of people grabbing a quick drink or food after work. There are no workplace parties or works events or trips. You may do 95% of your socializing through a web browser. Not normal or healthy
You will not have an employers pension, so should set one up. How do you do that? Can you get a mortgage? how do you prove earnings? Who gives you a loan when your income is so unreliable. How can you set up things like subscriptions, or direct debits for bills, or book holidays when you have no idea what you will earn. Even if you get a mortgage, how can you know if you can afford it?
Nobody understands your job
Meeting with friends in normal jobs will start to feel weird. Most of their work-chat is about how they hate their job, or colleagues, or boss. You cannot relate to this at all. They claim to be envious of your lifestyle, but have no idea what it is like. They do not understand why on earth you would work at the weekend, you do not understand why they have to rush back because they have a pre-set lunch *hour*. They don’t know what its like to pitch for work, or a publishing deal, you cant remember what performance reviews are like, or why flexi-time is so valued. They think you have made the wrong decision. You think they have no ambition.
The business facade
You are conscious of always having to represent your business side. You cant get drunk and tell people your job is pointless and the work boring. You are always thinking about your public image, and not wanting to upset potential customers, or investors. Every dumb or sensitive comment you make on twitter could lose you business, even wreck your career. Your views on social media are inseparable from the public face of your employer, which is you.
Nobody to blame
When everything goes wrong and nobody hires you or the game flops, or nobody buys your art, it is your fault. You cannot tell yourself, even subconsciously, that this is the fault of X in marketing or Y in sales, and how you did a good job. Ultimately there is nobody to pass the blame onto. You can come up with excuses and rationalizations but ultimately the whole company is you and there is nobody else to blame. Failure feels much more personal, and harder to shake off. Even when you are successful you worry about failing in the future.
Ultimately, its a choice that depends very much on your personality. Working for yourself in a creative field can be very rewarding, financially as well as personally, and i would DREAD to go be an employee again, but it really depends so much on your personality. I am very self-motivated, I don’t mind (within reason) the isolation, and I’m very risk tolerant, so it works for me.
Also do not forget that the reverse applies. I have personality characteristics that mean I don’t like working as a normal employee at all. I can be argumentative, arrogant, short-tempered, I hate being told what to do, I hate working in noisy places and hate commuting. I can be very moody, and not good at working with extroverted people… there are so many reasons for me to choose the lifestyle I have, despite its many shortcomings.
It is very easy for people who are successful in a field to forget the many downsides for those who are more typical. I probably vastly understate the effect that low income and unstable income has on people. If money worries can lead to stress and health problems, which leaks into relationship problems (which can lead to more stress)… then this can be all consuming. Sometimes these things compound. Trying to be extroverted and upbeat and SELL SELL SELL when inside you are worried about paying for food and that your partner is disappointed in your career choice…. cannot be easy.
My top tip: TALK to other people in similar fields, whether you are in the industry already and struggling, or considering leaving your job for this business. It can be very enlightening. No reading of blogs or twitter is as good as real world ‘pub-chat’ with people in the same position. Even just hearing other people agree with you about the negatives of the industry can be strangely re-assuring. Somehow us humans like to know that we are not suffering alone, even if we are still suffering.
It drives me mad when I talk to some younger indie devs how little actual *work* they do. They are hardcore serious game devs, into game jams, and going to games conferences, and maintaining twitter, instagram and facebook pages about their game, and they often talk at shows, or attend talks, or tweet about talks, and watch tons of past talks, and play fellow indies games, and meet up at game dev meetups and try out the hot games and compare them to other games and…
…very rarely they sit in front of a keyboard and code a game.
This is a big problem if you actually want to make a living from games rather than just enjoy the ‘indie lifestyle’. FWIW, the indie lifestyle is easy. Dye your hair (or for extra points just part of your hair) bright blue, get an apple laptop, and cover it in stickers from games shows. Buy a GDC T-shirt (or for extra points, one from a smaller show), and spend at least three hours a day on social media. Bonus points for every 100 posts on gamedev subreddits talking about tech and marketing and design issues. Super bonus points for getting into heated twitter arguments about whether or not games are art or inclusive.
Oh obviously, you need to have a name and genre (maybe even a game jam concept?) for your game, so you have something to talk about.
This is all fine, and reminds me a LOT of the guy who persuaded me to take up learning the guitar when I was at college. He had been playing the guitar for about 3 years and was very cool. He showed me guitar tab one day and I bought a guitar the next month. Within 2 months I was a better guitarist than him. I ended up playing in 2 bands, and working briefly as a session guitarist, as well as teaching probably 100 people to play. AFAIK he never played a gig.
The difference between us was that I wanted to play the guitar and learn how to play well, whereas he wanted to be a guitar player. This was probably related to a desire to be cool, or get women to sleep with him, or both.
My advice is to know which you are. Are you an indie developer because you love the indie scene, and the people? Or are you an indie developer because you want to make games, ideally full-time? I also suggest that if its the latter, you need to lock down and optimize WHERE you do it.
Briefly, when I quit my job to go indie the first time, and my wife was at work full-time, I experimented with coding in coffee shops, because thats what they show people doing on TV and in magazines. It was crap. They are full of mothers with screaming kids, expensive (but average) coffee, no stability, no room, no peace, an environment 100% NOT conducive to C++.
You MAY be one of the 1% of people who can program and design games and do real serious *deep work* while in a noisy environment you do not 100% control and surrounded by other people who often interrupt you. You really may be… but you probably are not. Almost everyone can concentrate better when things are quiet. Programming especially requires *deep* concentration, that is easily shattered and hard to rebuild.
In short, unless your environment is quiet, free from clutter, dedicated to one thing (work) and set up to convey that this is a WORK location, not a chill-out zone, then you are not going to get much done.
Get a dedicated room in the house/flat if you can. If you cannot, then set dedicated work times, when you are not to be disturbed for any reason except a literal burning building…
Get an office chair, I recommend an aeron but cheaper alternatives are available. Set it up to be perfect for typing and reading, not slouching. You are *not* going to work all day on a beanbag or a sofa. You just are not.
If its not quiet enough, get noise cancelling headphones and wear them.
Do not fill your desk and office with lots of fun toys and other distractions. Yes, you are making a fun game, but 95% of your time is work and implementation. Don’t confuse your subconscious. Are all those desk toys REALLY making you more creative or just distracting you from actual work.
Most of us are pretty shallow. We really care about what other people think of us, and when we are young, especially if we are single, we obsess about seeming cool. Work is not cool, work is for serious grown-ups who are boring. Thus we spend a lot of time trying to look cool, rather than be effective. If you saw me sat here right now, unless you noticed the framed prints of past games on my office walls, you would assume I’m working in fintech or IT. Its a very un-gamey environment, and it keeps me focused.
When you have shipped game #10 and sold game copy 1,000,000, feel free to fuck around. I *do* indeed have a child-size Tesla model S propped up in my office, and a toy car with toy robots on my desk, and am happy to be interrupted by cats and visitors all during the day. I can afford to be slack, but it was not always the case.
Set your environment up to be worklike, and you *will* get more done. We are simple animals and highly influenced by our surroundings. Stop trying to be cool.