My inability to finish personal projects has nothing to with project management or planning etc.
I can't finish a side project because for me it is never 'finished'. I lack the ability to say that this is fine enough for my own projects. I always keep wanting to make things better and never can say it's finished.
I only really agree with #3. Planning things out actually hurt my productivity as I'd get side tracked or disappointed when things took longer than expected...then I'd look at the backlog and get equally frustrated. I really just went with the flow and it all came together.
You have to have passion for it though. It's the common trap I find a lot of people in that fall out of side projects quickly. They're doing it for the wrong reasons and inevitably get tired of it/uninvested and burn out. It's more about the journey than it is reaching the end.
For me, after I got one project properly done, it actually became harder to abandon a project partway through than to not finish it.
To my detriment even, I've been working on a game for the past 3 years which I'm fairly sure just "doesn't work" in a way I find difficult to explain. But as much as I try, I can't stop working on it.
The other thing that plagues me is decision fatigue. I'm working through a decision right now which is tangentially related to my personal projects but is absolutely weighing me down mentally.
Edit: Reading another reply, maybe I haven't conquered my problem, and that now my projects just never finish, rather than me abandonding them. Maybe thats the case, but right now its absolutely not finished by any means, so thats a problem for later
I'll add to his advice not to quit your day job. Gamedev is unreasonably difficult. It's not software engineering (whatever that might mean). It's a different beast entirely.
I've advised several folks who said they want to quit their jobs to make games to do a compo, a game jam, something small and constrained. Ludum Dare has historically been good. Try but expect not to finish. You'll learn about your own weaknesses and limitations.
Even if you don't finish the first few times, you'll hopefully understand what it takes, or at least think you do.
A good next step is to timebox one or two months, in your free time, to make a game, publish it, _and earn $1_. That's it. Make a buck.
If you can pull that off, and make a buck, you've made it. You're a professional game developer.
I'll also add, it's not the planning that helps, but having goals. If you set out to "make a game" you will never finish. You need a goal in mind. A line that you can cross.
> You need to focus, scope right, relentlessly break work down into bite-sized tasks, and create a rock-solid habit of getting things done.
This is my only takeaway from the article. I think it's well-written but I also found it vague. Finding implicit joy is such an abstract thing that has no set formulae to it. I am glad that the author was able to complete his game.
Something surprising I've noticed while developing my own side project game is that I end up being a better marketer than developer. I can only work on the game while I'm at home and 'in the zone', but I can post screenshots on social media at any time of the day. The consequence is that I have a larger-than-anticipated fanbase who are starting to get confused about why the promotional material flows freely while development time appears to slog.
Keeping a task board, written documents about the planned goal, and all of the other project ephemera can be a great way to keep up this kind of 15 minute momentum.
havent shipped a side project, but i do keep track of my project so i can say with some certainty what things have helped me to accomplish the most. they are the following
1) the no zero days mantra - 15 minutes a day of progress is fine it helps to keep the momentum going and when you got that free sunday you just find yourself wroking more.
2) i do keep also a lot of trail of notes of ideas and concerns on how to further the project. if I have to keep a break and come back to it after some time it helps to remind my self where i was.
Bite sized tasks are great. Finding the motivation to start the next task is also important. If you want to read a chapter of a book, start by reading the first sentence. This naturally leads towards getting into flow, and the next thing you know, you've read three chapters. The brain tends to engage readily once you get over the initial hurdle of beginning the task.
Good tips... but in reality if you're working full-time (especially in a software related role), you may find yourself depleted before you get to the keyboard.
It took us 5 years to finish our game (everyone started from 0 knowledge on how to make games, so it was a rocky road), and for the last 1.5-2 years my life was absolute hell.
I'd push hard at work for 9 hours a day, eat, then push hard on the side project for 8-9 hours a day, sleep, wake up, and just keep going. One day a week maybe I'd just sleep. Not having "pure energy" for the side project meant that everything suffered.
We had to learn-by-trial virtually _everything_, I don't recommend ever doing a big project that way.
If you want to finish a game, choose a small game. Start doing game jams. Practice _finishing_. You can do more and more later.
Or, go for it, do it our way, all in to win (win is subjective, the pride is real, the monetary result didn't really do anything meaningful for so much investment). I wouldn't do it this way again, but I understand people who do.
All that said, the joy of doing something for us by us is not something I've encountered in my 15 year career yet. So... if you've never built something (and truly finished!), but you want to try... go for it.
> I'd push hard at work for 9 hours a day, eat, then push hard on the side project for 8-9 hours a day, sleep, wake up, and just keep going. One day a week maybe I'd just sleep.
No wonder you feel like hell, where is time for people, leisure, exercising and all the other activities that will help you move faster by feeling better? The true optimization for becoming a more efficient person is to do less of the thing you're doing most of, and do more of the other stuff you do less of.
This has been my line of thought for a while. You spend a minimum of 8 hours working, and ideally you get 6-8 hours of sleep. Let’s say you have a couple more daily responsibilities that take 2-4 (could be commute, cleaning, some other maintenance).
There’s almost no time to do anything, and some of the hours you have left may be at non-prime times of the day.
> The true optimization for becoming a more efficient person is to do less of the thing you're doing most of, and do more of the other stuff you do less of.
The problem is this means sleep or work. I’ve opted for the former, and suffer for it. Sacrificing working, at least any notable amount, just means trading time-loss for money-loss which may or may not work depending on person.
Generally true. The next step of optimization would be automating parts of your job so you can reduce 8 hours of work to like 6 hours of work. Now you have more time for yourself.
except in practice this never works. you cant automate all tasks, even as a programmer a lot of time is spent architecting or debugging, even requirements gathering in some cases. Those details aside, if you automated hours of your job away youd then be asked to do more work (or if you own the place youd probably want to improve your product more anyway) instead of just sitting around working on your own projects during business hours, which some businesses would fire you for or at least theyd claim your work as their intellectual property.
Even if you don’t go as far as working on side projects at work, automating even 30min-1hr worth of manual tasks can leave you less exhausted when you get home.
> you can reduce 8 hours of work to like 6 hours of work.
even if you assume this is possible, why would your boss pay you for the 8 hours when it clearly is possible to only pay 6? You end up back where you're started.
The issue here is that the income you generate from your job is not enough. I dont know what the solution is - but under a capitalist world-view, the only solution is to own more capital, get that capital to produce your income stream (dividends or capital gains or whatever), and thus, give yourself back time.
AKA, this is called retiring, and if you can do it early, you end up with a better life, able to spend your energies on activities you care about (such as making this game).
This doesn't acknowledge weekends, which if you have the same 8 hours sleep and 4 hours "not for yourself", add more than 50% to the time you supposedly have "for yourself". (4×5 + 12×2 vs 4×7.)
Which doesn't necessarily change the point, but I'm not sure what if anything the point is supposed to be, and it seems an important omission.
Don't usually have much extra time on the weekends. Weekends are for making up for a week of the house getting dirty, relatives and friends wanting to meet, extra long walks for the dogs that only got short walks during the week, errands that got put off, some catchup sleep, actually relaxing a bit since there wasn't much during the week, etc.
I might have 2-3 hours each day (of energy and motivation) to work on projects but not 8. Of course I never have 4 hours during the week either, I'm lucky to get 1 in usually.
youre not alone. Unless i actively maintain my apartment itll deteriorate over the week (i even meal prep weekends to alleviate some) i do agree with others though. More time spent disengaging from the work your doing may actually net you a positive in the productivity dept
which is why some people who have the discipline and self-control to do a big personal project often have to neglect friends and family - it's a sacrifice.
Sure. I'm not saying I haven't made sacrifices for personal projects before, especially when I was younger, but I'm also not willing to become a total hermit and slave for these projects that are not really going anywhere.
Hell, I'm still waiting on my first board game signed by a publisher four years ago to be manufactured and released, and it sounds like it's still on the backburner at their company (they had a rough two years from the pandemic, I get it). And I've had another game be a finalist in two game design competitions since then and still not find a publisher willing to take a chance on it (several other finalists in the same competitions have). And I've pitched at least a dozen of my other designs to quite a few publishers as well.
Still churning and pitching but after seven years of trying and not getting anywhere, it's rough. I know if I went full time I'd have a lot more success (especially seeing how much success a friend of mine is having in only about 3 years of being full-time at it), but I'm not willing to start working for 30% of my current salary or possibly a lot less just to throw a few more board games into the field that's already supersaturated from the past decade of constant new and quality releases, especially when most publishers are facing an existential threat from the current shipping crisis.
I'm also working on a couple of smaller video games, but there are weeks where it just seems like I'm too busy or tired to spend time on it. And it's hard to go "yes, let's make the sacrifice of not seeing friends and ignoring my family" when I'm really not seeing how I'm going to break through the flood of video games out there either. I'm not an artist, I'm not going to make the next Stardew Valley or Undertale by myself. I'm making games with hexes and arrows in them :) Fun games, and one of them was even a popular free flash game back in the day and also won awards, but most people have probably moved on now and the new generation won't have any nostalgia for it.
I wouldn’t mind if it was my 4 best hours a day, but it’s the 4 hours after work and dinner when my energy levels allow for a half effort workout and a bit of reading or TV.
One of the best things I did for myself was moving all of that free time to the morning. Now I wake up at 5, have coffee, exercise, play or work on whatever hobby has my attention at the moment, then work all day. I have loads of focus and attention and energy for my fun things.
Evening is pretty much make dinner, eat, relax for a bit and be in bed reading by 8.
This can be a good strategy until you have young kids. After then, they often hear you get up and then seek you out to get help making breakfast or want to sit on your lap.
But otherwise, it prioritises your side project while you're fresh in the morning and puts relaxing (movie/TV/etc) for when you're fading at the end of the day.
I recently found myself in the same position by being in Asia while working for a European company. All my free time is in the morning without having to wake up early (in the dark). I go surfing or swimming/gym and then work 12pm-11pm with some breaks for lunch and dinner. I go to bed straight after working, which means I've stopped drinking. It's made a huge difference to my quality of life and I hope I can keep this up forever. Having to wake up and go straight to work seems like a depressing thought now.
Or open office where everyone can see your triple monitor screen and it’s a company work station so you literally can’t do anything else, can’t even open a personal laptop. Any cellular data reception is very bad.
I worked in an open office for years and never understood how people did things besides work. I tried 100% remote but that got lonely.
Now that I have an office, it's like I'm living a completely different life where there's energy for meaningful activities after work. I get so much more done. The socialization is down from 2019 but there's a feeling to being in a building full of people that's different from being stuck in your house all day.
I can't imagine accepting an open plan office job again, the money would have to be life changing. I suspect cubicles would be fine.
Just wanted to mention that this is getting harder and harder - companies will just let you use their approved hardwared, full of monitoring software to keep you in line. And it will get much worse, as in Mana by Marshall Brain
In my experience, sacrificing sleep is extremely counter productive. You could probably cut out 1 to 2 hours of work, get 8 hours of sleep a night and be just as effective at your job as you would have been getting 6 hours of sleep a night.
> No wonder you feel like hell, where is time for people, leisure, exercising and all the other activities that will help you move faster by feeling better?
You can't do all of that and have a job and also make significant progress on a side project. There isn't enough time in the day.
What I learned from other people who have success in their side projects is to choose a workplace that allows you to do a sub 40 hour work week. Of course you would have to live a tad more simply than your standard upper-middle class software guy.
> Of course you would have to live a tad more simply than your standard upper-middle class software guy.
Actually, many software jobs are like that. All it requires is for you to not be ambitious to create. You can have very good salary in many companies while slacking a lot. Sometimes you might have to be in office for a lot of hours, meaning doing leisure, socialization and side project in the office.
It's worth mentioning the common advice here though: do not use company time or equipment to work on a side project, since that may give them a legal claim to ownership of the work if they ever find out.
The specifics will vary greatly depending on your employment agreements and legal jurisdiction, so make your own decisions regarding your own situation (doing it on company time might be the lesser risk compared to not doing it at all), but do be wary.
If you are doing it in a company office, using company property, during hours the company expects you to be working, do not expect to use "well, I'm salaried, so it doesn't matter" as a legal defense and win.
What if you did most of your project outside the company, but only very small parts of it on company property? Can they still claim complete ownership?
Company property is a completely different issue. Whether you do it during business hours or not is irrelevant.
If you’re salaried, you’re always on company time, so whether the company owns it or not is up to the laws of the state and the agreements you signed when hired.
I specifically started doing photography so I could do game development in the off-season.
It turns out it’s hard to completely drop projects in the spring/summer and pick them up in the winter. I’d love to keep pecking at them over the photography season but I have a hell of a hard time getting anything done when I can only dedicate an hour or so an evening to it.
I totally can attest to it. Work for a subpar legacy medical device company where my input is constantly less than 40 hrs a week thereby allowing me to learn skills like React and solidity to consider opportunities in web3 which wouldn’t be remotely possible with FAANGMULATAD
> Just out of curiosity, when you spent 9 hours at work, was that in a software field?
Yes, however the day job and night project were _completely_ different disciplines. Someone wrote that gamedev isn't really software engineering... I'd agree with that (not putting it down, but its not like anything I've done).
> If so, why would you choose to do the same thing 18 hours a day for 5 years?
Those long days came in the last 1.5-2 years. Why? I don't think we would have finished otherwise, or at least not anytime soon.
We found that momentum for us was critical. If we took it easy, then it slow days would turn into slow weeks and it would turn into slow months. We wanted to finish at some point. Even when we had a slow week or day, or when we'd go do something that wasn't the game, there would be a shadow of guilt that we are not finishing. I think that is personal, everyone does this differently.
And the second why? The reward loop of doing something with a realtime 3D game is simply joyous. I would sometimes have _so much fun_ making the game that on the good days I dreamt of quitting the day job and starting up a studio full time.
When the dust settled though, it took me almost a year to think about using the computer at home for anything other than playing a game or reading news / experimenting with homelab stuff. The burnout was harsh.
I don't regret it... but I'll never do it like that again.
> Someone wrote that gamedev isn't really software engineering
Could you elaborate on that? I find this perspective very interesting.
I had a brief experience with gamedev, and I've actually found that even the smallest bit of game engineering is significantly more challenging than (I suppose) "x%" of web development.
However, on the other hand, the engine is only a part of game development (and can also be underengineered, and I think it generally is), so maybe this is actually the reason why you/other people don't consider game dev software engineering?
When I was working on the game, the only thing that mattered was the _game_. Was it fun? Intriguing (we are a story based walking simulator)? Original? In line with our story structure (we wrote the story side by side of making the game because sometimes the best words on paper just couldn't be translated by us to a player experience)?
You make changes non-stop to iterate and tweak and perfect. You learn quickly that someone's gut feeling can kill an entire chapter of the game, or change the ending completely.
At some point, my code was just a tool in making the game. I didn't see myself carrying this codebase further to other projects (we built the game on Unity so already writing an engine was "solved"), so it just turned into working prototype after working prototype.
Your code doesn't have to solve for all the corner cases you may miss in QA, because in our game the state was almost guaranteed at different parts of the play through. You need to remain extremely flexible with your design and code because its possible the game shifts drastically under your hands, more so than I've ever experienced at an already-chaotic "big" company.
So it just stops mattering that much. At least for us. We didn't have a team for code (just me), or a separate art team, or a separate story team, or even a single game designer throughout the project. Everyone wore almost every hat, and you lose the grace of planning and process.
It's more a feeling than something I could quantify exactly. An interesting reflection is that I became more rigorous and detail oriented at the day job after the wild west of my game code.
I think I know what you mean, but I'll counter and say that instead of just focusing on completing the game one should pay some attention to longevity and re-usability of your codebase.
For example I have things like a KD-Tree implementation/wrapper that will always be useful, a maths library, a HexGrid component I use a lot, wrappers for rendering a lot of things fast, an entity system for units/objects, a generic framework/layout for code/objects in Unity etc.
But having said that, it really depends on the type of game that you're making.
On top of what the others said, you basically answered it with "However, on the other hand, the engine is only a part of game development". Game dev is one of the most technically complex subfields of software dev, but it still pales in comparison to the total package of disciplines (and skill levels in those disciplines) to make a game.
Compare a basic CRUD webapp to a game. Most webapps won't need stellar art, it just needs to look okay and have some logos or default assets. Games often need to run their own assets for uniqueness, have way more freeform art, you name it. That includes pixel art, the often lowest barrier to entry. Animation? Webapps generally don't need animation beyond some default practice tweening, most games require animation to make things feel smooth and actually give the feeling things are happening, on a vastly higher level than simple tweening of color and position of some flat objects. Audio? Where the average person hates the embedded autoplay video/audio, games generally require at least sound effects, preferably a sound track too. Storytelling? Unless you count the average buzzword-filled marketing video as storytelling, webapps don't need that. Marketing, collaboration, etc. are all factors that come to play as well depending on corporate size, so depending on your goals, you will run against those too.
There is much more too. Psychology can play a huge part if you don't just blatantly copy existing things, and it is far more difficult to map a vague "I like this / I don't like that" than a business requirement. If you don't require animation, in all likelihood you're either creating a game in a genre where other demands are higher (visual novels with higher storytelling and individual art asset demands), or you'll be outcompeted if you don't have something to stand out, in which case one could argue the load is shifted to other disciplines anyway.
Maybe most of all, you generally don't need to develop content in most webapps: you are enabling users to create content themselves, whereas in gamedev, you are more often providing them with content. Of course this comes with exceptions (What about Sims? What about Rollercoaster Tycoon? What about mods?), but most games deliver at least some content developed by the makers of the game themselves. Or you spend days agonizing over algorithms to generate content in a way that makes it fun, making tons of art assets players can fiddle with, etc.
> Could you elaborate on that? I find this perspective very interesting.
In addition to what others have said, game development places a massive priority on optimization and performance.
You have to write code that updates game state and renders a scene in under 16 ms. CONSISTENTLY under 16 ms. Otherwise, you get stutters and choppiness as it fails to maintain 60 fps. If you want to please your top-end PC gamers with their 144 hz monitors, you need to render each frame in under 6.9 ms.
With a web app, you can make up for underperforming code by scaling horizontally. That's simply not an option for game development.
Yeah, this is my issue. After a long day of (sometimes pointless) software dev, strapping in for more is draining. So as a contrast, I design board games (not digital) as my hobby. It is very analog and tactile and so energizing partially from just being a nice change of pace.
Your advice to start small is spot on though. I would even say one of the best first things to do is start by making a game mod. You don't have to invent so much, you just get to enhance. You get to something playable much quicker and learn about all your false assumptions.
I've had good luck with using my best time/energy for hobby projects and what's left over goes to work. Of course, this assumes that your hobby project is more important to you than whatever might be achieved by putting your best energy/time toward your job, but I also think a lot of people over-index on "whatever might be achieved by putting their best energy/time toward their job".
Fair warning, game mods can take over your life too. Though I'd agree they can be easier and often can build on the community of the game your modding.
Another risk with mods is the game owner can shut you down at any moment, if public. I'll probably never do another mod or reuse someone else's IP for anything beyond very small prototypes. There are just so many tools now that you shouldn't have to.
Sure, but let me first say there are tons of great podcasts about board game design if you are just getting started. Ludology, Building the Game, Fun Problems, etc.
I have played lots of board games so I have a good mental model of different types and the components needed. When I get an idea for a theme or mechanism, I build it up mentally first. When it feels like it might be fun or interesting, Then I'll start making some crappy cards or tokens. Some people will just write on note cards but I like something that feels more real. So I'll make some mostly text based images from a template. If they are cards, I'll print on paper and cut them out, then use CCG (MtG) sleeves and cheap playing cards to sleeve my paper. This lets them be shuffle-able. For other components or boards, I'll print on card stock. If I need something heavier, I'll print on adhesive label paper and then stick that to foam board or cardboard. The next and most important step is play test it with anyone and everyone you can.
Glad to provide more information if you're interested.
Sounds like very intense five years! I understand you wouldn’t do it the same way again, but still, was the result in any meaningful way comparable to the effort?
Yes, the result was something I have never achieved. I've been a part of a lot of projects, successful and not, but always as a participant and not as a true stakeholder.
Going from start to finish on something, and then getting the opportunity to hear from fans (and critics alike), it is still making me smile a year and a half after launch.
When they say "money isn't everything" in this case its true, but I had I (and still have) a day job. If I had bet the monetary-farm on the project, I'd be singing a different tune.
The game name is "The Shattering", there's a link below somewhere to it on Steam :)
Keeping the side project work different from day to day work is huge, too.
- Frameworks are great when you need to keep a team to a standard, and keep standardized answers available. There's no way I'm going to debug someone else's dependency errors on my own time though.
- Dev tools and automation are nice to have, but if I spend a whole night fixing tooling that's time I could have spent on the project. Some loose unit testing and tools that work without configuration is all that's I'm willing to use.
- A while ago I would have said that paid tooling is worth it if it saves you time. Open source and freemium products have gotten good enough now that that's no longer the case for a small enough dev team.
I work 1 hour a day on my personal projects. It’s slow going but I make steady progress. I read about someone doing it 10 plus years ago and I’ve stuck with it. Of course I miss someday, but I try and get at least my 1 hour a day.
For games we don't have to start from scratch either. If you want a little multiplayer game people can have fun in, vrchat is a good platform for it. Gets the game into the hands of people and you can even just join them. A lot of stuff already handled for you.
I followed that exact same lifestyle for 2 years (and also 2 years prior of us not knowing what we were doing), I would consider it impossible to have any relationships, romantic or casual. Now that I am older and have more responsibilities, I don't think it's something I could pull off.
Learned a lot though, got pretty good at programming because of it (I am early in my career).
My thinking now is that if I want to make a somewhat complex/ambitious game, I will need to take the route of other successful artists, become independently wealthy first.
> If you want to finish a game, choose a small game.
I know a few people who tried to make a big game first. None of them finished.
Even a small game will take much more time than you imagined, because there are so many details to consider. (Then it gets faster, because you can reuse the ideas, maybe even parts of code.) It is easier to try new concepts in a small project.
I also found that hard deadlines work. The closer they are, the better they are.
Yesterday I spent just one hour to review my computer architecture mid-term. I totally forgot about the date and thought I'm going to bomb it. Eventually I did a very quick efficient review and felt very good about it.
The thing is, as you said, and as my Physics teacher said 20 years ago, that I really need to be pushed HARD to be efficient. That's why I hate assignments with long deadlines.
Maybe instead of a "jam" format to motivate indies, do a "game race" instead? Points for timeliness. Bias toward micro-games. Organized around theme or asset for creativity constraint ;)
Agreed. I'm thinking about attending one of those jams. I like tight or even unreasonable deadlines. Ordinary jobs don't give people this kind of deadlines (or if it is the compensation might be shitty).
One thing I need to learn is to create pixel Sprites quickly. Maybe there is even a way to programmatically generate some template Sprites.
I tried to complete a simple 2D RPG that is a Ultima spinoff a few years ago. Nothing is technically impossible as it's just a simple 2D game but eventually I lost interest and broke away.
Now that I look back, there are two obstacles:
- I'm not really interested in such a game. I probably fancied about the genre as it's classic but I never finished any of the Ultima games.
- In the middle I tried to implement a full scale map editor. I managed to build a simple yet working one, but dropped the project once I realized that it needs a lot of work to write my own GUI (back then I'm using C++ and SDL2).
I also find out that once I know how to implement something on paper (e.g. if I can draw the process of an algorithm on paper), I usually lost the interest to implement it in code. It takes a huge amount of effort for me to complete assignments for the Data Structure class I'm taking, to the point that I'm thinking about dropping the class.
> - In the middle I tried to implement a full scale map editor. I managed to build a simple yet working one, but dropped the project once I realized that it needs a lot of work to write my own GUI (back then I'm using C++ and SDL2).
Sharing my slightly unrelated experience, but Tiled2D is a nice piece of software to achieve this.
I've used it for one of my personal project, where I wanted to make a digital adaptation of a board game, and I needed to "digitalize" the game board[1]. I don't use the tiles or the tile grid at all, but just the "polygon" feature that allows me to draw the borders of the different regions. It's not at all why the software has been written, as the polygon is supposed to be a small feature to define areas in a tiled game, but it gets the job done.
Thanks, I knew about Tiled at the time. The project was kinda of a learning project so I didn't bother to use an external tool. Now that I look back, that's probably how I approach all projects (not work-related): I just want to learn how it works superficially, and once I do I'd lose motivation and drop the project eventually.
It's not a bad mindset at all. "Finishing" can be a goal and so can "learn a new thing in an enjoyable way". Sometimes I write code just because I get the urge to create a nifty data structure. Who cares if no one will ever use it or look at it again? I enjoyed making it.
> I also find out that once I know how to implement something on paper (e.g. if I can draw the process of an algorithm on paper), I usually lost the interest to implement it in code.
This is a perpetual problem for me. I start out interested in a lot of things, but once it's clear how to proceed, I get no pleasure out of the rote work required to implement the solution. Whether it's writing code, building something physical, playing a game, putting together a puzzle, or any other activity that involves some degree of thought or problem solving, as soon as there's nothing left to think about, I lose all interest. If there's a chance of an alternate outcome, I remain engaged to the last second (so I can finish PVP games, win or lose, but almost never finish a game of Civilization). It plagues me at work, too, but at least with work, I've got external motivating factors (insofar as I won't get paid if I never finish things).
Interesting that you chose geology, as I often think that I'd have been happier as a geologist. I imagine there's a risk of getting bored with that as well, if it's your day job and you're doing the same sort of rote work all the time. In my fantasy, the primary appeal is that it's almost the opposite of sitting at a desk, except I suspect most professional geologists spend most of their time sitting at a desk looking at data on a computer. Seems like a fun hobby though!
I browsed through some books and websites and figured that most of the work of a "general" geologist is still indoors. Some sub-variants such as palaeontologists are exceptions, but still I figured most of time is still spent in labs, not in fields.
I did this for my first Steam game, which let me go full-time back in 2015 as an indie game developer and where I still am today. [1]
I'd get up early and get a few hours in before my more ordinary programming work as a Python backend developer at a fintech startup. And then on Saturdays I'd get something more like a normal days work done on the project.
It worked, and I'm glad I did it, but it definitely was a temporary situation, I don't think it's something you can do long-term without facing burnout or neglecting other important areas of life like family, friends, exercise, reading books, etc. So that last paragraph of the original post - making it sustainable - I'm glad to see it in there.
No, though I wrote the level/puzzle editor in Python, which would generate json that was read by the game, which was written with the Unity engine and lots of C#.
Good tips and different things work for different people.
I find that I need to find something that I think would take a week to build. Then accept the fact it's going to take 8 weeks to finish given i'm doing about one hour a day rather than 8.
Kudos to launching. This is hard. To me the hardest part is context switching. Meetings, scheduling, resource planning in day job, child care after work, household core, reading, occasion workout, etc. The amount of energy, both intellectually and emotionally, left after all these is... miniscule
I'm trying with social contract - commit to somebody that you are showing some progress to them, and have them to help picking what's their desirable next step/topic. Hopefully I can get something started
I don't work on personal projects on my own time, but I do work a part time hourly job alongside my software engineering job. I've found for me this is an essential part of my mental health. My arrangement offers up a little more variety than I'd otherwise have and allows me to work with another group of people in a totally different domain.
Also, I've found the best opportunities come through word-of-mouth connections, and having 2 sets of colleagues essentially doubles the chances of that happening.
For many years, I worked at the Park Slope Food Cooperative (https://www.foodcoop.com/) several hours a month, which was a great orthogonal use of my mind. I started as a box-breaker, got promoted to an olive processor and finally became squad leader for Olives & Cheeses. The whole experience was like using a completely different part of my brain.
They tried to get me to join their technology group, which i rejected :-)
1) As the article states, work on your side project first in the morning before your work. You will be too tired after work. Yes, this means your not really giving 100% at work. Hopefully your good enough at your job that this is OK.
2) Create little task lists, with short little tasks... Then knock those tasks out one by one. If you find yourself procrastinating about some task do another little task first, then later make a quick spur of the moment decision to go do the procrastination task.
3) It's OK to dream about the best case scenario, but also have realistic side goals: "worst case scenario, I've built a cool engine for my next project."
4) DO create the right amount of tests (too little and your going to be creating buggy crap code, too many and you're bogged down updating your tests constantly)... get a feel for what your right amount is.
5) Don't type so much, think more... think through designs... use paper, be messy and redraw... all of this is faster than building the wrong thing.
6) I think its OK to be quirky. Make the thing YOU want to make. This is another way to monetize: your mental health is worth a lot and personally I find bringing shit that I want to exist into the world just the way I want them to be is a good trick for staying happy.
"Create little task lists, with short little tasks"
Yeah I tried that. The side coding projects I have are things I'm not good at yet and want to get better at, so they are this big pile of "I have no idea yet until I try", and that does not break down into neat short little tasks to knock off in an hour before work. They need deep concentration and focus in order for me to learn and figure out what the hell I should do.
Not discussed in the article: You have to have the support of the people in your life this will impact. For example, the 7-9am timeslot for working, as listed in the article, will impact my family, as that is when I'm getting the kids up and off to school. OK, so I could move it to 5am to 7am, but that would mean I'd need to go to bed earlier, which eliminates important evening time with my wife. Similarly, I could do it from 8pm to 10pm, but that also affects my relationship with my wife, and my social life in general.
This isn't to say that people with a family can't do these things, but that you need to acknowledge the impact it will have on other people, and plan with them to make it work. For example, I often make the time for my wife to work on her novels between 7pm and 9pm. I get the kids to bed and do some cleaning, while she writes, and we still get to connect before sleep.
Yeah, something has to give, I have the exact problem you have. Currently my weekday sleep suffers. There is no right way to do it, but you have to acknowledge the trade offs and make your decision knowing the impacts. So many people want to have their cake abs eat it, and usually get the worst outcome.
I totally agree with your perspective. It reminds of an essay pg wrote (http://www.paulgraham.com/kids.html) about having kids, and I think the principles are similar to yours. You can be successful and "do it all", but you might have to modify "all" _a bit_ and you have to be very disciplined and honest about your trade-offs.
Totally agree with this. I am woken by my kid at 6am, then it is 100% go-go-go with work or family until about 7pm when the kid goes to bed, then it is starting to cook and prepare dinner and do housework etc. There might be 2 hours or so between dinner and bed to spend time with my wife before we collapse into bed at 10pm or so - talk, watch a movie, play scrabble or whatever. I don't want to ignore her and just do my own thing - it is important to nurture these sort of relationships.
If I do get some spare time that is entirely mine, the absolute last thing I want to do is more work - one needs to relax! Go for a run, watch a movie, do some coding for fun, play a game, or just waste time on youtube or whatever - I don't want to be "hustling" a side project.
I could stay up later after the wife has gone to bed, but that is going to harm me long-term by trading sleep for side-projects that in reality are not going to change my life as much as long-term sleep deprivation is going to change my life. That said I do occasionally from time-to-time stay up late to have a beer and mess around on the computer - I think that is healthy in the long run :)
Even after 'bedtime for the kids', it's still never ending. They need to get up for the bathroom, or for a drink of water, or want more stories, or want to turn on the light and play in the room... Neverending! My only alone time is when I !@#@#%! sleep.
It took me some time to work out that with 2 kids now I just don't have the time for side projects anymore. It is impossible. My oldest is also a person that needs very little sleep. He stopped regular daily naps when he was about 6 months old. In the beginning of daycare (2 yo) he was the only kid in daycare that didn't sleep during the day. He also never goes to sleep before 9pm. In summer it often is 10pm or even later.
When he finally sleeps both my wife and me are just wasted. Not ever could I find energy or motivation to "work" after that.
However I still have hope for the future. When the kids grow older and do more for themselves there will be opportunities to write some fun code on the side :)
Our youngest was the same way! Things will get better! At least, in terms of sleep. She actually sleeps in now. Even better, on the weekends, when both kids wake up before us, they just play together for an hour, instead of waking us up. It was truly a strange feeling, when that started happening.
Most parents don't really understand what we are dealing with since their kids sleep much longer (2,3 hours more). This was even more extreme when he was little. When we told people that he wasn't sleeping at daytime they had this strange look as in "that is not possible".
However he learned walking and talking pretty early so he used his extra time it seems ;)
While it is a challenge I always remind myself how lucky I am to have two healthy kids. Sounds like a trope but it really is true.
> Most parents don't really understand what we are dealing with since their kids sleep much longer (2,3 hours more).
That is true. Our 2.5 y.o. had a period of a couple months in which she refused to sleep more than 8 hours a day. That took a huge toll on all of us. Even now, she sleeps less than she's "supposed to". And of course, when we tried to consult with other parents, nobody could offer any useful advice (and we even asked widely, i.e. in local Internet groups for parents), as apparently everyone's problem is worrying that their kids sleep too much.
The meta is that if you add something to your life, and you don't currently have a lot of time when you are just bored, something will have to suffer.
I was wondering why I was often stressed out even though my life was good and I mostly did the things I want to do. Years ago, I had 3 things in my life - work, rock climbing, and coding/reading/videogames ("geeking out"), and I was never stressed for time. Then I got married, so now spending time with my wife became another thing. For a few years, it just so happened by itself that I've been coding, reading or playing videogames very little - turns out I could only fit 3.2 things in my life, not 4, something had to give. That actually made me stressed out and I didn't understand why... When I did, becoming more organized and wasting less time upped it to maybe 3.5, so now I can read a book/code/geek out now and then. But, alas, not as much as I would want.
That's one of the main reasons I'll never have kids - there's just no way I can handle 5 things, and I don't think I'd want any of the remaining ones to suffer for the payoffs (well, maybe work, but not just yet). That is also why you cannot add game making to your life without sacrifice...
I'm not going to tell you that you should have kids, but my experience is that I can still have time for "geeking out" if I do it with my kids. This is going to vary depending on their age, but currently they like to watch me play games, so I pick games based on what I think they will enjoy.
Similarly, it's fun to read a book around the same time as my wife, and then we can have a sort of "book club" discussion.
If I want to play something too scary for kids, I sacrifice sleep, so you win some you lose some lol.
Yeah, I forgot to mention that; sometimes that works, I do read with my wife, and we rock climb together a lot. However, sometimes you may have your own goals (climbing training like hangboarding is impossible to do together and not fun anyway), or things the other person doesn't do (like coding).
As far as kids go however, I feel like it's almost always a trap (it can sometimes happen with adults too, but with kids it's almost a given)... I know many people with hobbies from some tech stuff to extreme sports (like skiing), who "still play with Arduino" or "still ski" after having kids. Except before they used to do some hardcode backcountry stuff, and how with kids they go to a resort, fool around on an easy run, and then go have a beer while kids are taking a lesson. Technically, they are still skiing, but realistically they are not - they are just spending time with their kids. There are exceptions, but they are few and far between imho.
Not that there's anything wrong with that, but my point still stands - when you add something, you have to lose something; I feel like for kids, it's especially true.
Health is also a factor. Health issues can take up 1 of those 'thing' slots, another thing to spend time researching and working around. I've seen it happen unexpectedly to a friend, and it was a normal part of my life for a long time. Health can also include preventative things like exercise and diet, which require mental effort (research, willpower).
When you start valuing new things, then you automatically stop having time to value the things you valued before. So you stop valuing them. Because your values changed.
So let your values change. You'll be the richer in the end.
But do you want your values to change? An extreme example is drugs, if you start taking certain drugs your values will get replaced with wanting more of the drug. You-then might endorse that, you-now emphatically won't (I hope). In the GP, the key point is that you would have to sacrifice something... it's not surprising, it should be expected. The question is what, and whether you would want to.
Thanks for the write up and congratulations on publishing the game. Looks great and can't wait to give it a try.
One of the keys to your success seemed to be that consistent, early morning routine. I've often find myself trying to hack on side projects in the evening, after much of my energy is already zapped. Even if I do have a highly productive session coding into the wee hours of the night, the next day will be ruined by lack of sleep, and as someone with a family it's too detrimental.
But when I am working in the mornings, once I'm awake and at my keyboard, I'm much more productive. Sometimes, it's hard to stop! But, leaving yourself a cliffhanger is also a great way to build excitement to jump back in the next day.
I have done something similar - building a game while working full-time. But my approach was the complete opposite of this article.
No real process, no plan, no scrum method, not even a trello board to track progress and todos. Personally, I enjoyed the "fun" of it being very spontaneous, yet still passionate. I didn't write to-dos and tasks to be done, because there is always something to be done. And intuitively you feel what's important and what's not. I also didn't want it to "feel" like work.
For context - the game took me about 6 months to create: https://yare.io
There is one last major piece to be done for the game (now I’m no longer working alone on it) after which I want to write something a bit more detailed about the journey.
But on the high-level — my full-time job is interaction design. Throughout my career I used JavaScript a lot for building interactive design prototypes and it’s the only language I know, so when I had the idea for Yare.io (heavily inspired by MIT’s Battle Code), vanilla JavaScript (and Node for server) was the only thing I could use (didn’t know any libraries or frameworks)
The project was really just a “problem” to be solved. Use JavaScript to move basic geometric shapes on a canvas in a 1 versus 1 battle. It needed to have a UI, rendering of a game state, authentication, event queue, basic ruleset, … None of this really required any tracker or rigorous process. I know what needs to be done, because I’m literally sitting in front it, seeing what needs to be done. It didn’t need a “plan”, because it didn’t matter when each piece of the puzzle was made. Just, whatever I was in the mood for that day.
I think the principle of simplicity (as cliche as it sounds) – trying to keep everything (especially the foundations) as basic as possible – was really the main thing that allowed me to finish the game.
I don't think I could enjoy it as much as I did with some scrum method, brainstorming bullshit, or anything reminding me of work.
I should first disclose that I'm terrible at 'finishing' things (I don't make games, so generally not such finishable 'done and shipped' things, but by 'finishing' I mean a sort of 'version 1.0' I suppose, something I'm happy with, think others might want to use and now it's just maintenance and improvements) so maybe don't listen to me at all..!
But I think there's something key here that's left implicit - do your own project first in the day. Obviously everyone's different, but I reckon for the most part that means 'don't necessarily start everything at 7am' (or do so even earlier), rather than 'work first and moonlight on the side project'.
I have way too many days where I'm less productive on the paid work than I could be because I've got something else on my mind; then come the end of the day when I could finally put some thoughts into action, I'm just too drained and fed up of sitting at a computer to do anything about it.
I reckon "my project first" is a great habit, but it requires something else: the willpower to start. It's very easy to spend those extra couple of hours in the morning just sipping a coffee, reading HN, catching up with social media. Work is work and it starts because other people will ping you, you'll have to be online on a certain computer, etc etc; but if you are your own boss, it's very easy to let employee #1 (yourself) slack off.
Also, this works only if you are a remote worker. Most commuting will nuke those two hours away (yeah you can work on the bus/train, but probably not well - spotty connections, uncomfortable, no extra monitor, no mouse, etc; and if you have motion sickness like me, it's a non-starter), and in the evening you'll be even more shattered.
Or it works better if you work in an office - you're at home working on your own project and can't be pinged until you go in to the office. Not everyone has an hour long commute, and even if so it's a sunk cost, still better to do your own project first IMO. (It just means being even earlier up, or being able to start work compatibly late in the morning.)
> It's very easy to spend those extra couple of hours in the morning just sipping a coffee, reading HN, catching up with social media. Work is work and it starts because other people will ping you, you'll have to be online on a certain computer, etc etc; but if you are your own boss, it's very easy to let employee #1 (yourself) slack off.
It's the same when you get back home after work though.
> Also, this works only if you are a remote worker. Most commuting will nuke those two hours away (yeah you can work on the bus/train, but probably not well - spotty connections, uncomfortable, no extra monitor, no mouse, etc; and if you have motion sickness like me, it's a non-starter), and in the evening you'll be even more shattered.
I personally have 5 "free" hours after work, which includes time to do shopping, eat, exercise, cleaning, all that sort of stuff. It's not a lot but it's not 0. That's with 1h30 of commute each day.
> It's the same when you get back home after work though.
I would argue it's even easier in the evening, for sure. The point of doing it in the morning is that your brain is fresher; I'm just saying that might still not be enough to start.
> I personally have 5 "free" hours after work
Yeah, but it's after work, when you're inevitably more tired. One could push it by going to bed earlier and waking up at 5am, but it risks becoming unsociable.
Also, I expect you (and OP, and a lot of folks in this thread) are 20-somethings with no attachments and no family. Those things tend to suck every bit of spare time you have, for years on end.
> I would argue it's even easier in the evening, for sure. The point of doing it in the morning is that your brain is fresher; I'm just saying that might still not be enough to start.
That's a fair point. I find it easier in the mornings but that may be because the rare times I do wake up early, I have an unusually high energy/willpower.
> I would argue it's even easier in the evening, for sure. The point of doing it in the morning is that your brain is fresher; I'm just saying that might still not be enough to start.
I'm not sure about the unsociable thing, I personally go out once a week usually.
> Also, I expect you (and OP, and a lot of folks in this thread) are 20-somethings with no attachments and no family. Those things tend to suck every bit of spare time you have, for years on end.
I don't really like the way you put it. I have my parents, brothers, grandparents, friends, coworkers, all of those things take time. Sure, probably less than having children, but they still take time. I know people my age that have almost no spare time for themselves, and some older people that seem to have all the time in the world.
> The point of doing it in the morning is that your brain is fresher
I think that depends on the type of person you are. I do my best to get a good 8 hours, but it usually takes me a good hour or 2 (and a coffee) before I'm really into the swing of things in the morning.
It's even tougher in the winter months when sun isn't really out until around 9am and the sun is already setting at 5pm. It feels like you work through the entire day, and mornings are like getting up at 2am.
“Make it sustainable” was the part it took me a long time to realize - in my 20s I’d pull all nighters to finish things. When I got older, started a family, and worked on projects that take months or years, I’d still approach it like a sprint - I’m talking multiple times going a month of less than 2 hrs of sleep most nights, full nights sleep once a week, 5 years of working Saturday and Sunday.
Now I spend time with friends and family, treat weekends as sacred, and though I still don’t get as much sleep as I should, I get way more done than blindly putting in the hours.
People warned me of it and I didn’t listen, as I’m sure whoever needs to hear this won’t listen either, but 100%, treat it like a marathon and take care of your life holistically.
197 comments
[ 2.7 ms ] story [ 264 ms ] threadI can't finish a side project because for me it is never 'finished'. I lack the ability to say that this is fine enough for my own projects. I always keep wanting to make things better and never can say it's finished.
You have to have passion for it though. It's the common trap I find a lot of people in that fall out of side projects quickly. They're doing it for the wrong reasons and inevitably get tired of it/uninvested and burn out. It's more about the journey than it is reaching the end.
To my detriment even, I've been working on a game for the past 3 years which I'm fairly sure just "doesn't work" in a way I find difficult to explain. But as much as I try, I can't stop working on it.
The other thing that plagues me is decision fatigue. I'm working through a decision right now which is tangentially related to my personal projects but is absolutely weighing me down mentally.
Edit: Reading another reply, maybe I haven't conquered my problem, and that now my projects just never finish, rather than me abandonding them. Maybe thats the case, but right now its absolutely not finished by any means, so thats a problem for later
I've advised several folks who said they want to quit their jobs to make games to do a compo, a game jam, something small and constrained. Ludum Dare has historically been good. Try but expect not to finish. You'll learn about your own weaknesses and limitations.
Even if you don't finish the first few times, you'll hopefully understand what it takes, or at least think you do.
A good next step is to timebox one or two months, in your free time, to make a game, publish it, _and earn $1_. That's it. Make a buck.
If you can pull that off, and make a buck, you've made it. You're a professional game developer.
This is my only takeaway from the article. I think it's well-written but I also found it vague. Finding implicit joy is such an abstract thing that has no set formulae to it. I am glad that the author was able to complete his game.
It took us 5 years to finish our game (everyone started from 0 knowledge on how to make games, so it was a rocky road), and for the last 1.5-2 years my life was absolute hell.
I'd push hard at work for 9 hours a day, eat, then push hard on the side project for 8-9 hours a day, sleep, wake up, and just keep going. One day a week maybe I'd just sleep. Not having "pure energy" for the side project meant that everything suffered.
We had to learn-by-trial virtually _everything_, I don't recommend ever doing a big project that way.
If you want to finish a game, choose a small game. Start doing game jams. Practice _finishing_. You can do more and more later.
Or, go for it, do it our way, all in to win (win is subjective, the pride is real, the monetary result didn't really do anything meaningful for so much investment). I wouldn't do it this way again, but I understand people who do.
All that said, the joy of doing something for us by us is not something I've encountered in my 15 year career yet. So... if you've never built something (and truly finished!), but you want to try... go for it.
No wonder you feel like hell, where is time for people, leisure, exercising and all the other activities that will help you move faster by feeling better? The true optimization for becoming a more efficient person is to do less of the thing you're doing most of, and do more of the other stuff you do less of.
There’s almost no time to do anything, and some of the hours you have left may be at non-prime times of the day.
> The true optimization for becoming a more efficient person is to do less of the thing you're doing most of, and do more of the other stuff you do less of.
The problem is this means sleep or work. I’ve opted for the former, and suffer for it. Sacrificing working, at least any notable amount, just means trading time-loss for money-loss which may or may not work depending on person.
even if you assume this is possible, why would your boss pay you for the 8 hours when it clearly is possible to only pay 6? You end up back where you're started.
The issue here is that the income you generate from your job is not enough. I dont know what the solution is - but under a capitalist world-view, the only solution is to own more capital, get that capital to produce your income stream (dividends or capital gains or whatever), and thus, give yourself back time.
AKA, this is called retiring, and if you can do it early, you end up with a better life, able to spend your energies on activities you care about (such as making this game).
Which doesn't necessarily change the point, but I'm not sure what if anything the point is supposed to be, and it seems an important omission.
Saturdays and Sundays are chore days, or family days, or simply resting, or ...
About 4h remaining for yourself is still fairly realistic.
I might have 2-3 hours each day (of energy and motivation) to work on projects but not 8. Of course I never have 4 hours during the week either, I'm lucky to get 1 in usually.
which is why some people who have the discipline and self-control to do a big personal project often have to neglect friends and family - it's a sacrifice.
Hell, I'm still waiting on my first board game signed by a publisher four years ago to be manufactured and released, and it sounds like it's still on the backburner at their company (they had a rough two years from the pandemic, I get it). And I've had another game be a finalist in two game design competitions since then and still not find a publisher willing to take a chance on it (several other finalists in the same competitions have). And I've pitched at least a dozen of my other designs to quite a few publishers as well.
Still churning and pitching but after seven years of trying and not getting anywhere, it's rough. I know if I went full time I'd have a lot more success (especially seeing how much success a friend of mine is having in only about 3 years of being full-time at it), but I'm not willing to start working for 30% of my current salary or possibly a lot less just to throw a few more board games into the field that's already supersaturated from the past decade of constant new and quality releases, especially when most publishers are facing an existential threat from the current shipping crisis.
I'm also working on a couple of smaller video games, but there are weeks where it just seems like I'm too busy or tired to spend time on it. And it's hard to go "yes, let's make the sacrifice of not seeing friends and ignoring my family" when I'm really not seeing how I'm going to break through the flood of video games out there either. I'm not an artist, I'm not going to make the next Stardew Valley or Undertale by myself. I'm making games with hexes and arrows in them :) Fun games, and one of them was even a popular free flash game back in the day and also won awards, but most people have probably moved on now and the new generation won't have any nostalgia for it.
Still feel like I need to make it anyway though.
Evening is pretty much make dinner, eat, relax for a bit and be in bed reading by 8.
But otherwise, it prioritises your side project while you're fresh in the morning and puts relaxing (movie/TV/etc) for when you're fading at the end of the day.
Our first would sleep 12 hours per night. Yay, lots of free time.
Our second sleeps 9 hours per night. Whoops.
Work less, but keep clocking the same amount of hours.
A lot easier to do with WFH, but still achievable if you're in an office cubicle.
Impossible to do if you work a trade/labor-intensive job.
Now that I have an office, it's like I'm living a completely different life where there's energy for meaningful activities after work. I get so much more done. The socialization is down from 2019 but there's a feeling to being in a building full of people that's different from being stuck in your house all day.
I can't imagine accepting an open plan office job again, the money would have to be life changing. I suspect cubicles would be fine.
You can't do all of that and have a job and also make significant progress on a side project. There isn't enough time in the day.
https://blog.asmartbear.com/two-big-things.html
Actually, many software jobs are like that. All it requires is for you to not be ambitious to create. You can have very good salary in many companies while slacking a lot. Sometimes you might have to be in office for a lot of hours, meaning doing leisure, socialization and side project in the office.
The specifics will vary greatly depending on your employment agreements and legal jurisdiction, so make your own decisions regarding your own situation (doing it on company time might be the lesser risk compared to not doing it at all), but do be wary.
If you’re salaried, you’re always on company time, so whether the company owns it or not is up to the laws of the state and the agreements you signed when hired.
It turns out it’s hard to completely drop projects in the spring/summer and pick them up in the winter. I’d love to keep pecking at them over the photography season but I have a hell of a hard time getting anything done when I can only dedicate an hour or so an evening to it.
If so, why would you choose to do the same thing 18 hours a day for 5 years?
Yes, however the day job and night project were _completely_ different disciplines. Someone wrote that gamedev isn't really software engineering... I'd agree with that (not putting it down, but its not like anything I've done).
> If so, why would you choose to do the same thing 18 hours a day for 5 years?
Those long days came in the last 1.5-2 years. Why? I don't think we would have finished otherwise, or at least not anytime soon.
We found that momentum for us was critical. If we took it easy, then it slow days would turn into slow weeks and it would turn into slow months. We wanted to finish at some point. Even when we had a slow week or day, or when we'd go do something that wasn't the game, there would be a shadow of guilt that we are not finishing. I think that is personal, everyone does this differently.
And the second why? The reward loop of doing something with a realtime 3D game is simply joyous. I would sometimes have _so much fun_ making the game that on the good days I dreamt of quitting the day job and starting up a studio full time.
When the dust settled though, it took me almost a year to think about using the computer at home for anything other than playing a game or reading news / experimenting with homelab stuff. The burnout was harsh.
I don't regret it... but I'll never do it like that again.
Could you elaborate on that? I find this perspective very interesting.
I had a brief experience with gamedev, and I've actually found that even the smallest bit of game engineering is significantly more challenging than (I suppose) "x%" of web development.
However, on the other hand, the engine is only a part of game development (and can also be underengineered, and I think it generally is), so maybe this is actually the reason why you/other people don't consider game dev software engineering?
Gamedev is mostly about iteratively changing some equations to make the thing behave like you want it to behave.
Disclaimer: I never worked commercially in gamedev, but I wrote a lot of games as a hobby. Most of them unfinished of course.
I can try, but I may not do the idea justice.
When I was working on the game, the only thing that mattered was the _game_. Was it fun? Intriguing (we are a story based walking simulator)? Original? In line with our story structure (we wrote the story side by side of making the game because sometimes the best words on paper just couldn't be translated by us to a player experience)?
You make changes non-stop to iterate and tweak and perfect. You learn quickly that someone's gut feeling can kill an entire chapter of the game, or change the ending completely.
At some point, my code was just a tool in making the game. I didn't see myself carrying this codebase further to other projects (we built the game on Unity so already writing an engine was "solved"), so it just turned into working prototype after working prototype.
Your code doesn't have to solve for all the corner cases you may miss in QA, because in our game the state was almost guaranteed at different parts of the play through. You need to remain extremely flexible with your design and code because its possible the game shifts drastically under your hands, more so than I've ever experienced at an already-chaotic "big" company.
So it just stops mattering that much. At least for us. We didn't have a team for code (just me), or a separate art team, or a separate story team, or even a single game designer throughout the project. Everyone wore almost every hat, and you lose the grace of planning and process.
It's more a feeling than something I could quantify exactly. An interesting reflection is that I became more rigorous and detail oriented at the day job after the wild west of my game code.
For example I have things like a KD-Tree implementation/wrapper that will always be useful, a maths library, a HexGrid component I use a lot, wrappers for rendering a lot of things fast, an entity system for units/objects, a generic framework/layout for code/objects in Unity etc.
But having said that, it really depends on the type of game that you're making.
Compare a basic CRUD webapp to a game. Most webapps won't need stellar art, it just needs to look okay and have some logos or default assets. Games often need to run their own assets for uniqueness, have way more freeform art, you name it. That includes pixel art, the often lowest barrier to entry. Animation? Webapps generally don't need animation beyond some default practice tweening, most games require animation to make things feel smooth and actually give the feeling things are happening, on a vastly higher level than simple tweening of color and position of some flat objects. Audio? Where the average person hates the embedded autoplay video/audio, games generally require at least sound effects, preferably a sound track too. Storytelling? Unless you count the average buzzword-filled marketing video as storytelling, webapps don't need that. Marketing, collaboration, etc. are all factors that come to play as well depending on corporate size, so depending on your goals, you will run against those too.
There is much more too. Psychology can play a huge part if you don't just blatantly copy existing things, and it is far more difficult to map a vague "I like this / I don't like that" than a business requirement. If you don't require animation, in all likelihood you're either creating a game in a genre where other demands are higher (visual novels with higher storytelling and individual art asset demands), or you'll be outcompeted if you don't have something to stand out, in which case one could argue the load is shifted to other disciplines anyway.
Maybe most of all, you generally don't need to develop content in most webapps: you are enabling users to create content themselves, whereas in gamedev, you are more often providing them with content. Of course this comes with exceptions (What about Sims? What about Rollercoaster Tycoon? What about mods?), but most games deliver at least some content developed by the makers of the game themselves. Or you spend days agonizing over algorithms to generate content in a way that makes it fun, making tons of art assets players can fiddle with, etc.
In addition to what others have said, game development places a massive priority on optimization and performance.
You have to write code that updates game state and renders a scene in under 16 ms. CONSISTENTLY under 16 ms. Otherwise, you get stutters and choppiness as it fails to maintain 60 fps. If you want to please your top-end PC gamers with their 144 hz monitors, you need to render each frame in under 6.9 ms.
With a web app, you can make up for underperforming code by scaling horizontally. That's simply not an option for game development.
This struck me. Thank you for the reminder.
https://www.amazon.com/Finish-Give-Yourself-Gift-Done/dp/052...
Thanks for sharing it :)
Your advice to start small is spot on though. I would even say one of the best first things to do is start by making a game mod. You don't have to invent so much, you just get to enhance. You get to something playable much quicker and learn about all your false assumptions.
Another risk with mods is the game owner can shut you down at any moment, if public. I'll probably never do another mod or reuse someone else's IP for anything beyond very small prototypes. There are just so many tools now that you shouldn't have to.
(Star Wars Quake 1997-2002)
I have played lots of board games so I have a good mental model of different types and the components needed. When I get an idea for a theme or mechanism, I build it up mentally first. When it feels like it might be fun or interesting, Then I'll start making some crappy cards or tokens. Some people will just write on note cards but I like something that feels more real. So I'll make some mostly text based images from a template. If they are cards, I'll print on paper and cut them out, then use CCG (MtG) sleeves and cheap playing cards to sleeve my paper. This lets them be shuffle-able. For other components or boards, I'll print on card stock. If I need something heavier, I'll print on adhesive label paper and then stick that to foam board or cardboard. The next and most important step is play test it with anyone and everyone you can.
Glad to provide more information if you're interested.
And now with remote work being a norm, sometimes it feels like you barely work at all, and yet still accomplish the same amount of work as before.
Get paid for the value you bring, not the time you spend.
Do you feel comfortable sharing game name?
Going from start to finish on something, and then getting the opportunity to hear from fans (and critics alike), it is still making me smile a year and a half after launch.
When they say "money isn't everything" in this case its true, but I had I (and still have) a day job. If I had bet the monetary-farm on the project, I'd be singing a different tune.
The game name is "The Shattering", there's a link below somewhere to it on Steam :)
- Frameworks are great when you need to keep a team to a standard, and keep standardized answers available. There's no way I'm going to debug someone else's dependency errors on my own time though.
- Dev tools and automation are nice to have, but if I spend a whole night fixing tooling that's time I could have spent on the project. Some loose unit testing and tools that work without configuration is all that's I'm willing to use.
- A while ago I would have said that paid tooling is worth it if it saves you time. Open source and freemium products have gotten good enough now that that's no longer the case for a small enough dev team.
Learned a lot though, got pretty good at programming because of it (I am early in my career).
My thinking now is that if I want to make a somewhat complex/ambitious game, I will need to take the route of other successful artists, become independently wealthy first.
I know a few people who tried to make a big game first. None of them finished.
Even a small game will take much more time than you imagined, because there are so many details to consider. (Then it gets faster, because you can reuse the ideas, maybe even parts of code.) It is easier to try new concepts in a small project.
I recently did this [1] for a game jam, over one sleepless week. It's pretty unfinished but submitting something felt good. (Source: [2])
[1] https://www.youtube.com/watch?v=BX6AZNWuI5Q
[2] https://github.com/mpersano/generic-rhythm-game/
Yesterday I spent just one hour to review my computer architecture mid-term. I totally forgot about the date and thought I'm going to bomb it. Eventually I did a very quick efficient review and felt very good about it.
The thing is, as you said, and as my Physics teacher said 20 years ago, that I really need to be pushed HARD to be efficient. That's why I hate assignments with long deadlines.
The antidote is to have no deadlines, and take the time to enjoy doing things right.
One thing I need to learn is to create pixel Sprites quickly. Maybe there is even a way to programmatically generate some template Sprites.
Now that I look back, there are two obstacles:
- I'm not really interested in such a game. I probably fancied about the genre as it's classic but I never finished any of the Ultima games.
- In the middle I tried to implement a full scale map editor. I managed to build a simple yet working one, but dropped the project once I realized that it needs a lot of work to write my own GUI (back then I'm using C++ and SDL2).
I also find out that once I know how to implement something on paper (e.g. if I can draw the process of an algorithm on paper), I usually lost the interest to implement it in code. It takes a huge amount of effort for me to complete assignments for the Data Structure class I'm taking, to the point that I'm thinking about dropping the class.
Sharing my slightly unrelated experience, but Tiled2D is a nice piece of software to achieve this.
I've used it for one of my personal project, where I wanted to make a digital adaptation of a board game, and I needed to "digitalize" the game board[1]. I don't use the tiles or the tile grid at all, but just the "polygon" feature that allows me to draw the borders of the different regions. It's not at all why the software has been written, as the polygon is supposed to be a small feature to define areas in a tiled game, but it gets the job done.
[1] https://github.com/Longwelwind/swords-and-ravens/blob/master...
Very nasty mindset I have to admit...
This is a perpetual problem for me. I start out interested in a lot of things, but once it's clear how to proceed, I get no pleasure out of the rote work required to implement the solution. Whether it's writing code, building something physical, playing a game, putting together a puzzle, or any other activity that involves some degree of thought or problem solving, as soon as there's nothing left to think about, I lose all interest. If there's a chance of an alternate outcome, I remain engaged to the last second (so I can finish PVP games, win or lose, but almost never finish a game of Civilization). It plagues me at work, too, but at least with work, I've got external motivating factors (insofar as I won't get paid if I never finish things).
- Stop working on projects that I know for sure I can't finish, basically that means I'll work on zero CS projects.
- Start hobbies that are either 1) Not of same type of CS projects, or 2) Something that takes a long time to understand.
I have been collecting fossils and learning Geology for a few months and so far it goes well: - Collecting fossils is easy to start
- It's very difficult to find good places to collect and even more difficult to collect very well preserved fossils
- I don't get to collect fossils every day, not even every week if the whether is bad, so zero chance of burning out
- Geology is not something that one can "figure out". In general science is not something I can "figure out" and then apply. It's not engineering.
However I still want to work on CS projects because I need an in-door hobby for the winter, maybe some day I can figure out a way :)
Good luck on your side too!
So yeah I agree it's a good hobby.
I'd get up early and get a few hours in before my more ordinary programming work as a Python backend developer at a fintech startup. And then on Saturdays I'd get something more like a normal days work done on the project.
It worked, and I'm glad I did it, but it definitely was a temporary situation, I don't think it's something you can do long-term without facing burnout or neglecting other important areas of life like family, friends, exercise, reading books, etc. So that last paragraph of the original post - making it sustainable - I'm glad to see it in there.
[1] The Cat Machine - https://store.steampowered.com/app/386900/The_Cat_Machine/
Did you use Python for your game as well? This looks really cool - congratulations on making the leap to full time.
I find that I need to find something that I think would take a week to build. Then accept the fact it's going to take 8 weeks to finish given i'm doing about one hour a day rather than 8.
I'm trying with social contract - commit to somebody that you are showing some progress to them, and have them to help picking what's their desirable next step/topic. Hopefully I can get something started
Also, I've found the best opportunities come through word-of-mouth connections, and having 2 sets of colleagues essentially doubles the chances of that happening.
They tried to get me to join their technology group, which i rejected :-)
They exist to keep my mind occupied or give it a break from other stuff. Thats it.
1) As the article states, work on your side project first in the morning before your work. You will be too tired after work. Yes, this means your not really giving 100% at work. Hopefully your good enough at your job that this is OK.
2) Create little task lists, with short little tasks... Then knock those tasks out one by one. If you find yourself procrastinating about some task do another little task first, then later make a quick spur of the moment decision to go do the procrastination task.
3) It's OK to dream about the best case scenario, but also have realistic side goals: "worst case scenario, I've built a cool engine for my next project."
4) DO create the right amount of tests (too little and your going to be creating buggy crap code, too many and you're bogged down updating your tests constantly)... get a feel for what your right amount is.
5) Don't type so much, think more... think through designs... use paper, be messy and redraw... all of this is faster than building the wrong thing.
6) I think its OK to be quirky. Make the thing YOU want to make. This is another way to monetize: your mental health is worth a lot and personally I find bringing shit that I want to exist into the world just the way I want them to be is a good trick for staying happy.
Does anyone know what app the author is using to create nested tasks for 'lightweight sprint'?
https://notion.so/
Yeah I tried that. The side coding projects I have are things I'm not good at yet and want to get better at, so they are this big pile of "I have no idea yet until I try", and that does not break down into neat short little tasks to knock off in an hour before work. They need deep concentration and focus in order for me to learn and figure out what the hell I should do.
This isn't to say that people with a family can't do these things, but that you need to acknowledge the impact it will have on other people, and plan with them to make it work. For example, I often make the time for my wife to work on her novels between 7pm and 9pm. I get the kids to bed and do some cleaning, while she writes, and we still get to connect before sleep.
If I do get some spare time that is entirely mine, the absolute last thing I want to do is more work - one needs to relax! Go for a run, watch a movie, do some coding for fun, play a game, or just waste time on youtube or whatever - I don't want to be "hustling" a side project.
I could stay up later after the wife has gone to bed, but that is going to harm me long-term by trading sleep for side-projects that in reality are not going to change my life as much as long-term sleep deprivation is going to change my life. That said I do occasionally from time-to-time stay up late to have a beer and mess around on the computer - I think that is healthy in the long run :)
It took me some time to work out that with 2 kids now I just don't have the time for side projects anymore. It is impossible. My oldest is also a person that needs very little sleep. He stopped regular daily naps when he was about 6 months old. In the beginning of daycare (2 yo) he was the only kid in daycare that didn't sleep during the day. He also never goes to sleep before 9pm. In summer it often is 10pm or even later.
When he finally sleeps both my wife and me are just wasted. Not ever could I find energy or motivation to "work" after that.
However I still have hope for the future. When the kids grow older and do more for themselves there will be opportunities to write some fun code on the side :)
Most parents don't really understand what we are dealing with since their kids sleep much longer (2,3 hours more). This was even more extreme when he was little. When we told people that he wasn't sleeping at daytime they had this strange look as in "that is not possible".
However he learned walking and talking pretty early so he used his extra time it seems ;)
While it is a challenge I always remind myself how lucky I am to have two healthy kids. Sounds like a trope but it really is true.
That is true. Our 2.5 y.o. had a period of a couple months in which she refused to sleep more than 8 hours a day. That took a huge toll on all of us. Even now, she sleeps less than she's "supposed to". And of course, when we tried to consult with other parents, nobody could offer any useful advice (and we even asked widely, i.e. in local Internet groups for parents), as apparently everyone's problem is worrying that their kids sleep too much.
I was wondering why I was often stressed out even though my life was good and I mostly did the things I want to do. Years ago, I had 3 things in my life - work, rock climbing, and coding/reading/videogames ("geeking out"), and I was never stressed for time. Then I got married, so now spending time with my wife became another thing. For a few years, it just so happened by itself that I've been coding, reading or playing videogames very little - turns out I could only fit 3.2 things in my life, not 4, something had to give. That actually made me stressed out and I didn't understand why... When I did, becoming more organized and wasting less time upped it to maybe 3.5, so now I can read a book/code/geek out now and then. But, alas, not as much as I would want.
That's one of the main reasons I'll never have kids - there's just no way I can handle 5 things, and I don't think I'd want any of the remaining ones to suffer for the payoffs (well, maybe work, but not just yet). That is also why you cannot add game making to your life without sacrifice...
EDIT: fixed some grammar
Similarly, it's fun to read a book around the same time as my wife, and then we can have a sort of "book club" discussion.
If I want to play something too scary for kids, I sacrifice sleep, so you win some you lose some lol.
As far as kids go however, I feel like it's almost always a trap (it can sometimes happen with adults too, but with kids it's almost a given)... I know many people with hobbies from some tech stuff to extreme sports (like skiing), who "still play with Arduino" or "still ski" after having kids. Except before they used to do some hardcode backcountry stuff, and how with kids they go to a resort, fool around on an easy run, and then go have a beer while kids are taking a lesson. Technically, they are still skiing, but realistically they are not - they are just spending time with their kids. There are exceptions, but they are few and far between imho.
Not that there's anything wrong with that, but my point still stands - when you add something, you have to lose something; I feel like for kids, it's especially true.
So let your values change. You'll be the richer in the end.
One of the keys to your success seemed to be that consistent, early morning routine. I've often find myself trying to hack on side projects in the evening, after much of my energy is already zapped. Even if I do have a highly productive session coding into the wee hours of the night, the next day will be ruined by lack of sleep, and as someone with a family it's too detrimental.
But when I am working in the mornings, once I'm awake and at my keyboard, I'm much more productive. Sometimes, it's hard to stop! But, leaving yourself a cliffhanger is also a great way to build excitement to jump back in the next day.
No real process, no plan, no scrum method, not even a trello board to track progress and todos. Personally, I enjoyed the "fun" of it being very spontaneous, yet still passionate. I didn't write to-dos and tasks to be done, because there is always something to be done. And intuitively you feel what's important and what's not. I also didn't want it to "feel" like work.
For context - the game took me about 6 months to create: https://yare.io
But on the high-level — my full-time job is interaction design. Throughout my career I used JavaScript a lot for building interactive design prototypes and it’s the only language I know, so when I had the idea for Yare.io (heavily inspired by MIT’s Battle Code), vanilla JavaScript (and Node for server) was the only thing I could use (didn’t know any libraries or frameworks)
The project was really just a “problem” to be solved. Use JavaScript to move basic geometric shapes on a canvas in a 1 versus 1 battle. It needed to have a UI, rendering of a game state, authentication, event queue, basic ruleset, … None of this really required any tracker or rigorous process. I know what needs to be done, because I’m literally sitting in front it, seeing what needs to be done. It didn’t need a “plan”, because it didn’t matter when each piece of the puzzle was made. Just, whatever I was in the mood for that day.
I think the principle of simplicity (as cliche as it sounds) – trying to keep everything (especially the foundations) as basic as possible – was really the main thing that allowed me to finish the game.
I don't think I could enjoy it as much as I did with some scrum method, brainstorming bullshit, or anything reminding me of work.
This reminds me of: Correlation does not mean causation.
And: Survivorship bias.
But I think there's something key here that's left implicit - do your own project first in the day. Obviously everyone's different, but I reckon for the most part that means 'don't necessarily start everything at 7am' (or do so even earlier), rather than 'work first and moonlight on the side project'.
I have way too many days where I'm less productive on the paid work than I could be because I've got something else on my mind; then come the end of the day when I could finally put some thoughts into action, I'm just too drained and fed up of sitting at a computer to do anything about it.
Also, this works only if you are a remote worker. Most commuting will nuke those two hours away (yeah you can work on the bus/train, but probably not well - spotty connections, uncomfortable, no extra monitor, no mouse, etc; and if you have motion sickness like me, it's a non-starter), and in the evening you'll be even more shattered.
It's the same when you get back home after work though.
> Also, this works only if you are a remote worker. Most commuting will nuke those two hours away (yeah you can work on the bus/train, but probably not well - spotty connections, uncomfortable, no extra monitor, no mouse, etc; and if you have motion sickness like me, it's a non-starter), and in the evening you'll be even more shattered.
I personally have 5 "free" hours after work, which includes time to do shopping, eat, exercise, cleaning, all that sort of stuff. It's not a lot but it's not 0. That's with 1h30 of commute each day.
I would argue it's even easier in the evening, for sure. The point of doing it in the morning is that your brain is fresher; I'm just saying that might still not be enough to start.
> I personally have 5 "free" hours after work
Yeah, but it's after work, when you're inevitably more tired. One could push it by going to bed earlier and waking up at 5am, but it risks becoming unsociable.
Also, I expect you (and OP, and a lot of folks in this thread) are 20-somethings with no attachments and no family. Those things tend to suck every bit of spare time you have, for years on end.
That's a fair point. I find it easier in the mornings but that may be because the rare times I do wake up early, I have an unusually high energy/willpower.
> I would argue it's even easier in the evening, for sure. The point of doing it in the morning is that your brain is fresher; I'm just saying that might still not be enough to start.
I'm not sure about the unsociable thing, I personally go out once a week usually.
> Also, I expect you (and OP, and a lot of folks in this thread) are 20-somethings with no attachments and no family. Those things tend to suck every bit of spare time you have, for years on end.
I don't really like the way you put it. I have my parents, brothers, grandparents, friends, coworkers, all of those things take time. Sure, probably less than having children, but they still take time. I know people my age that have almost no spare time for themselves, and some older people that seem to have all the time in the world.
I think that depends on the type of person you are. I do my best to get a good 8 hours, but it usually takes me a good hour or 2 (and a coffee) before I'm really into the swing of things in the morning.
It's even tougher in the winter months when sun isn't really out until around 9am and the sun is already setting at 5pm. It feels like you work through the entire day, and mornings are like getting up at 2am.
Now I spend time with friends and family, treat weekends as sacred, and though I still don’t get as much sleep as I should, I get way more done than blindly putting in the hours.
People warned me of it and I didn’t listen, as I’m sure whoever needs to hear this won’t listen either, but 100%, treat it like a marathon and take care of your life holistically.