Staying organised, efficient and focussed

Just wondering how other lone developers keep focus in their projects? I’ve tried to do lists and writing on a whiteboard what needs to be done but I’m got back in to my old habit of working on various aspects of my game randomly. Like I’m about 70% done with character creation and 60% done with the level editor but I’m now working on various gameplay improvements and sometimes graphic improvements.

I can’t help feeling i’m not being efficient enough but with no one else guiding me I just do what I please.

What do you guys do? Same as me or stick to a plan?

Same as you - while trying hard to stick to a plan. :slight_smile:

I’m all over the place too, however I try real hard to keep progress flowing by having a daily to-do, which I update every evening after I’m done working.

While doing work on tasks I’ve found setting a timer to push myself to complete tasks have helped me a great deal - since I’m an artist aligned developer, I could easily work on one task for hours revising, tweaking, fiddling.

My timer method is a bit self manipulation also. I set the timer for half the time I think it will take to complete one task. When the timer goes off - I know it’s time to begin finishing, and I reset the timer again. This has helped me push towards finishing tasks when I would otherwise keep trying to make something look/work just a little bit better.

I’ve also found working in cycles/stages has helped me progress better than working linearly. Get it working right now, revise and polish later. It has helped to get stuff done by working on a task, knowing I will be returning to the task at a later date to fine tune and polish it. Whatever it may be, I always get a working version as fast as I can so I don’t get bogged down with details that aren’t important at this stage.

For instance - I put together a character and got him working in game that has placeholder anims, no texture and the mesh itself is not even final. This helped to get the character pipeline in place, get the anims setup and timed with the game loop and player interaction, while not getting side tracked with how well the animations look, how the texture looks within the lighting setup, and if the characters silhouette reads properly in the scene.
The character is in the game and working and supporting the gameplay - at this point. It looks like butt, but it plays well and now I have a workflow in place for other characters to be added into the game and plugged in - with little effort.
I’ll address how the character looks during a later revision/polish cycle when gameplay is complete and it is time to make everything beautiful.

Maybe not the best workflow for everybody - but it works good for me for getting stuff done and progressing to other tasks.

6 Likes

I’m roughly estimating how much time I need to implement certain things and then I can work on all those tasks whenever I want, as long as I fill up their “estimated” time at some point, they will get finished…of course that also means I always keep working on one thing at any point. It will come together in the end…and I think as solo developer it is quite important that you can take breaks from bigger tasks, so to not burn yourself out and to get a fresh perspective on tasks when leaving it alone for a few days.

1 Like

I’d say your way is just fine. Probably struggling from a mindset problem, more than anything. I’m like you, I love using Trello, drawing, and jotting down ideas and working through each task. Except it’s hard to keep that up. Especially being a mostly solo developer. It becomes a bit frustrating at times when you hit roadblocks.

You need to tackle, programming, art, music, marketing and more. Nothing needs to be done 100% before you move on. That to me is an easy way to reach burnout status. Try just using those tools as helpers when you really don’t know what to tackle next. If your stuck somewhere, frustrated, it’s okay to move on. It’s better to finish something later than to get frustrated and not move at all. Plus in my eyes, if you see you only have 30% of this, and 20% of that left, the rest being done, it may be easier to finish knowing that is all you must do to reach completion.

I’m an artist first, programmer second, but I’ve been programming almost as long, minus a few years. Seeing your game in a more show able state by adding final graphics, here and there, definitely is a boost of confidence. Plus you can post and get real feedback with gifs and the like. Keeps up excitement levels. Therefore, you may tend to work better.

4 Likes

They say if it weren’t for deadlines nothing would ever get done, right? Do you have any local gaming clubs or game dev meetups? Tell them you’ll bring a playable prototype to their next event. Few things do a better job of forcing you to prioritize what needs to get done. And at the end you’ll get lots of good energy and feedback from real people. And then you can tell them what changes you’ll bring to the next event, and so on.

Me too! I live by a Pomodoro timer – 25 minutes focused work, 5 minutes break. This gives me a chance to rest my eyes and cool down my brain. It’s amazing how I can be totally stuck on a problem for 15 minutes, but then after a break the answer just drops into place.

I don’t know if this is relevant, but I’ll share a huge fault of mine: I have way too many projects going on right now. Task switching kills my productivity. It takes time to mentally switch gears. I’m aggressively working to close out projects, but in the meantime it’s slowing down everything. There is a certain amount of time every day in which I can’t be in front of Unity during which I check support requests on the forum (like right now), but when I’m back in the office working the Unity forum is never onscreen.

2 Likes

I run a stopwatch when I’m working, only when I’m doing something productive. Then I write the total day’s hours down. When I first started doing this, it was really surprising how little time I was spending on actual implementation. This cuts down on time flying around the editor admiring a new asset, and now it’s kinda fun to try and beat my weekly “high score”

I don’t leave anything unfinished before the day’s over. Especially if it’s a tedious task. I know I’m far less likely to get to work the next day if I’m dreading to see the same compiler errors, as opposed to being excited to work on something new. This also forces me to be realistic when breaking down large tasks. Work on one system at a time, you’re probably gonna have to cut something at some point, if everything’s in various states of WIP, it’s usually the whole project that gets scrapped.

I only touch lists and all the paper designing at the start of the project, and at specified milestones. Have a clear idea, and everything I need to work on written down, but pretending to work is easier than sitting my ass down and actually getting to it.

I’ve tried a lot of stuff, but that’s what actually gets me finishing projects.

1 Like

Maybe what you’re doing is working the best for you.

Clarity is really the key. Generally the clearer the goals and objectives are the easier it is to focus and get things done.

It might be what you are wrestling with is a lack of clarity on assessing progress. When you break a project down into multiple goals and further break each goal down into a list of objectives and if needed break each objective down into a list of concrete steps you not only gain great clarity of the scope of work but also you have a very easy way to gauge progress. That is where the simple crossing out each item as you complete it or otherwise marking it done comes into play.

It seems like working the way you are may be productive and working well but you have no way of actually tracking the progress. Unless you combine the two… break the work down create your lists and then as you bounce around and complete things mark those items as complete. Then you will be able to better assess the progress (or lack thereof) you are making.

Just my 2 cents.

3 Likes

I’m having trouble with this method. Either it doesn’t work for complex projects, or I lack whatever I need to do the proper granular breakdown. E.g. how would you break down making a system that procedurally generates levels for a game with an x-com inspired metagame, where an escalation in enemy-difficulty and player-power happens over time, objectives vary from mission to mission, and some broad parameters can be tweaked per campaign, to generate campaigns with varying numbers of missions and different degrees of difficulty? Bonus points for everything that contributes to emergent narrative. The main goal is avoiding manual level crafting as much as possible, high replayability, and making it easy to make broad changes for balancing the difficulty. Also, it’s not tile-based, in case it matters.

Imho, motivation doesn’t always come easy. If working on different systems at the same time is how you stay motivated, perhaps it’s not worth changing your method for what you believe would be more efficient. Working by yourself is hard, acknowledge that. You’re not structuring a company, even if you are acting as one.

You face different problems as a lone developer and just like most management styles, you can’t take them out of a context and apply them to another while expecting the same results. Don’t beat yourself up because you feel like you haven’t optimized your workflow, you have much more important problems to deal with when developing stuff on your own.

You’re doing good, you’re just bored.

2 Likes

Identify major sections/systems defining high level goal/purpose of each.
Break each down into objectives.
Break each objective down into steps.

Basically rewrite what you wrote in bullets instead of paragraph form is a great starting point.

2 Likes

Hand-build a stock level.
Generate one playable mission with objectives. (You can’t do this without a level.)
Generate degrees of difficulty on mission.(You can’t do this without a mission.)
Generate single campaign with fixed number of missions.(Again, can’t do this without a mission.)
Develop tweakable campaign parameters. (Can’t do this without a campaign.)
Generate escalation in enemy difficulty over campaign. (The tweakables probably matter to this.)
Generate single campaign with variable number of missions. (Added complexity to existing system.)
Generate multiple campaigns responding to player power escalation. (Need multiple campaigns for this.)
Develop procedural level generation. (Necessarily bounded by the conditions under which your campaigns work.)

Notice that at pretty much every step of this journey, you COULD cut the rest of the features and Just Ship It.

That’s your driver. You should get to a playable state as fast as possible, and stay in a playable state throughout. Even if you’re unhappy with the state of the game and would really rather finish the rest of your to-do list, it is tremendously valuable that your game COULD ship at any time if necessary.

That said, I rarely if ever take my own advice because I am stupid.

5 Likes

There are some things that you can plow away with programming your weapons or ai enemies, but when it comes to gameplay and level design I dont even think it makes sense to to optimize your process. The only way to get it be good is through countless hours of iteration and refinement but also reflection

I had this idea that I thought was most excellent were I reuse the boss behaviors as regular enemies in my game, it was only after a while that I realized it was actually slowing flow of the game. Even the size and shape of the room matters, too many enemies of the same variety and composition youll get bored of it.

Well anyway I usually wake up pop an energy drink work on my game util the afternoon sometime when I get bored. Then I head over to the gym and come back and relax. You just need to keep repeating it

3 Likes

When I originally replied I had to keep it short because I was going into the chair next for a haircut. :slight_smile:

Well first you need to define what is an x-com inspired meta-game? How does that impact the level design? What are the rules?

I wouldn’t think escalation of enemy-difficulty and player-power impacts the level design. Unless you are wanting to somehow tie these things to the level based on resource availability or something.

But I don’t really know what you have in mind to build. Never played X-COM.

Really it sounds to me like you have several major components here:

Objectives vary from mission to mission… sounds like you want to have some kind of Mission Manager that has a collection of various objectives it can string together

Sounds like maybe you need a Campaign Manager that governs the Mission Manager.

Probably a Narrative Manager that is tied to the Campaign and / or Mission Manager.

Seems like you need to focus on using a good amount of controlled randomization in the level creation and probably the Mission Manager, Campaign Manager and Narrative Manager as well. Probably the Narrative Manager should not have a fixed set of content but instead have collections of smaller elements of the content that can be strung together randomly (in a somewhat controlled manner so it makes sense). All of this is for your high replayability.

Again… to me this is all so abstract and not being familiar with the game you are referencing it is difficult for me to really do this justice.

I’d recommend trying to visually design this. I mean using a Mind Map for example. Something that allows you to quickly rough out a general hiearchy and break things down that way. Other diagramming styles could be helpful as well.

But basically just figure out what controls all of this? It seems like the Campaign Manager may sit at the top.

I also think if you can iterate on your paragraph expanding it all and focus on separation not on trying to make the most seamless large paragraph that touches on each thing that will help a lot. Focus on pulling things out of the paragraph form. Then expanding on them. Then look for the interaction between the various systems/modules/whatever you want to call them.

1 Like

Great point - soon after we had prototyped our core mechanics and had decided to develop beyond prototype, I took a risk and signed up for a small local game festival (pixelfest) as an indie presenter. Although our game won’t be even half done by the time the festival comes around - I wanted to push my own comfort level and boundaries even beyond how far they are already.
I figure 3 useful things can emerge from doing this. Any type of feedback from actual gamers, in person is a great resource to gather, from gamers who are interested enough in games to come and check them out at a small local game festival. I can gain experience presenting a game I’ve created to real people I don’t know. And to have a short term goal to push towards - to keep progressing, with some pressure beyond my own self imposed pressure.

Agree 100%. Although not intentional ever since we locked our core mechanics we’ve had a publishable build every week that could be shipped. Although not for the purposes of cutting and shipping - it could be, but for testing out the progression of each week, we’ve been able to refine some supporting mechanics that we would have spent more time on before realizing they needed to change.

:hushed: - sacrilege! Where is the cat o nine tails?
:slight_smile:

3 Likes

I have far, FAR too many horror stories about the time I met someone who MIGHT have really loved my game and wanted to tweet about it or make a video with it… but the game was not in a playable state. So they never saw it. And nothing happened.

1 Like

Thanks a lot for the replies everyone! I’ve downloaded a mind-mapping tool and will give mapping it out visually another go. Maybe that helps.

@cdarklock : I don’t think that would work for me. I’d rather start with the procedural part much much sooner in the process. That way I can find out sooner what the limitations are and work with them, and won’t do tons of manual leveldesign (which I really really don’t enjoy), just to ultimately throw that all away again and replace it with PCG content. Getting the PCG to work might take a lot longer that way, but I’d much rather keep tweaking that than manually build many whole levels first. What I will do manually is assemble “buildin blocks” that the PCG ruleset will use based on input parameters and randomness.

@GarBenjamin : X-Com is kind of like Jagged Alliance, but with base-building, and defending the earth against aliens. If you don’t know that game either, then you’ve missed some of the most acclaimed turn based strategy-game franchises in existence.

In terms of what I mean with it for my game is: management of resources that are acquired from missions and used in the metagame to build things, some of which you can then use on future missions.

I have a slightly different approach from most of the ones described.

Step 1: Identify the parts you understand the least TECHNICALLY
Build out simple functional prototypes or proof of concepts until you feel like you’ve got a reasonable grasp on the problem. For me, the biggest stumbling block in breaking down a big complex thing is uncertainty about how different parts work. So these absolutely minimal proof of concepts help you to understand the different parts.

Step 2: Make two sample missions
Keep these sample mission reasonably simple, but as you build manually, try to imagine how you might go about generating it dynamically. Don’t worry too much about the exact details, but this is where you start really getting a sense for the ‘rules’ of your generation system.

You want at least 2 maps with different kinds of features. So try to push the bounds a little here, find the edges, “how different” are the maps really going to be? What kinds of things really make one map feel different from the other?

Step 3: Identify the parts that you understand the least TECHNICALLY
Given that you have a couple maps, you need to populate them with bad guys and the like.

How are you going to define badguys? Are there 5 specific badguy units or are they configurable with different weapon sets? Are different missions going to be taking on different factions, do different factions have different kinds of badguys, are they configured differently, or straight up different unit types?

Do you need a workflow for designing enemies? Special editors or components?

What about their AI? How do you tell them what to do once you spawn them on the map?

Chances are good, you have no clue what the answers are. Just take a stab at it. Accept that you will probably be wrong about half of your assumptions here, and be willing to tweek stuff as you learn. Call this a prototype, or an iterative process or whatever. Just don’t sit there and struggle in the abstract with the ‘design’ - you cannot build a top quality design if you don’t deeply understand the details. So accept that your design will be flawed as you learn.

From here on out, it’s just more of the same:

Steps: Discover, Build, Discover, Build, Discover, Build.

How are save games going to work? Can you save mid mission? How does the upgrading work? What’s going to be most fun? What are the best mechanics in the fighting?

The goal at this point isn’t about ‘breaking down the problem into steps’ - the real problem is about figuring out what your actual goals are. Given the complexity of the problem space you’re working with here (very high), you need to do a lot of discovery to nail down the precise goals.

Once you better understand the goals (and what needs to go into each part), figuring out the steps will become pretty obvious. The reason it’s a struggle is that there are too many unknowns, uncertainties and imprecise goals.

Planning out too many steps in a process with so many unknown elements is a recipe for disaster.

  • Keep in mind that your goal is very hard to achieve and there will be significant stumbling blocks and setbacks on the way.

** This assumes that you are in way over your head, like I was when I started to tackle the same kinds of problems. If you aren’t in way over your head, and you have a better grasp on the precise goals, then you can organize the plan of action more directly.

3 Likes

Just want to say, this is a useful thread. I have the same problems as the thread creator and I like the advice here.

I think you’re spot on with this. And this seems to be the right answer:

I’ll try, thanks!

Mistakes are an absolutely crucial part of learning. If you don’t allow yourself to make mistakes, you are holding yourself back and slowing down your progress.

Call it iteration, prototyping, whatever. IMO, it’s all about allowing yourself to make mistakes.

2 Likes