“Changing Direction” – March to May 2023

Well, it’s been a few months since I wrote an update! I’m going to make this a short one because to be honest, I haven’t been making a lot of progress. I forgot how hard it is to find time when you have a full-time job, so I’ve put the monthly Blender renders on hiatus until I finish my game. Speaking of which, I’m at a bit of a loss on what to make.

In my last update I mentioned I’d start making prototypes, and to an extent I did, but it was more to figure out basic workflows in Unreal Engine 5. I also know I said I’d start prototyping game ideas in Godot, but I decided against it because I’d rather focus on just learning UE5. With my limited time, I’ve learned how to do some very simple things such as import assets and animations and then create animation blueprints to play blended animations. All very beginner level stuff.

The progress has been at a snail’s pace, and that’s mainly due to the fact that as mentioned before, I don’t have as much free time as I used to – and I also don’t really know Unreal Engine 5. So realistically, I’m better off going back to what I did back in 2021 and making tiny games to learn the engine.

This is something that does frustrate me as I want to make more complex and interesting games, but to be honest, I really need to get experience with the engine first. Even trying to scope my game for October has been impossible because I don’t know how long it takes to do anything in UE5.

The other aspect is I don’t want to work on this every weekday. I make games now as part of my day job (yay) – but that does mean that most nights when I get home from work, I don’t want to do anymore game development. I also just have other responsibilities. Plus, it would be unhealthy to work on this every night anyway.

So yeah, I’m going to go back to making *tiny* games. Just to actually learn Unreal Engine 5 and to warm myself up for the bigger games I’ll hopefully get to make. It’s a bit frustrating and feels counterintuitive, but I’m going to make those tiny games again. It won’t be 1 Game a Week, but they will be very small games. That feels like a lot less pressure to me, because if a game is bad, it’ll be a few weeks before I get to the next one – which will hopefully be good! I’m also no longer making a “big” game for October that I feel needs to justify the months of work on it. The risk is a lot lower.

So yeah, that’s it! tl;dr I’m going to make tiny games every couple of weeks. The goal is to build up my experience in Unreal Engine 5 until I’m comfortable enough to start expanding to larger games. I’m also going to put the Blender projects on hiatus until around October.

This post was a bit of a ramble but I just needed to write this down somewhere public, to give myself permission to work on smaller games again. If you’re interested in seeing some small weird games in the coming months, keep an eye on this blog.

As always, thanks for reading my post and I hope you have a great day!

“Settling In” – February 2023

I’m writing this blog post about a week late, February has been a hectic month! Moving to a new country and getting settled has been challenging, but I’m finally starting to settle down in my new job and apartment. With that said, I haven’t done much “personal project” work in February since my weekends were mostly spent buying whatever furniture I needed, doing admin and also just relaxing because I don’t want to burn myself out! Thankfully I’m finding myself some more free time, so I’m planning to actually have some proper updates in March.

March Goal: Game Prototypes

If I want to release a game for October, I’ll need to know what I’m making! I rambled a lot in my last update about how I want to approach this game, and basically I’m going to do the tried and tested approach of making tiny prototypes of different game mechanics and seeing what interests me.

Unlike that time I did 1 Game a Week, I won’t be polishing these prototypes. They’ll be throwaway, made to just answer questions, and they’ll be ugly and unbalanced. I’m a master of overthinking things, so just making prototypes and getting forward momentum is the most important thing for me to do.

I’ll probably use Godot to make the prototypes, even though my plan is to learn Unreal. This is just because in my experience it’s easier to get a simple project up and running in Godot than Unreal. I’m sure for other developers it would be the other way around, but that’s just what works for me. Once I know what I’m making, I’ll jump over to Unreal as the “real” code base. Plus I can publish Godot projects online, so I can get quick feedback on my prototypes.

March Goal: A new Blender Render!

I haven’t done a render since January, and I want to keep on track for my 12 renders this year. So I’m picking something that has fairly simple geometry. I specifically want to try and get the material to look a bit more photo-realistic, so I think I’ll play around with the lighting and textures with this render. I also have my desktop computer back, so I’m no longer rendering on a 6 year-old laptop that takes an hour for a simple Eevee render. I’m planning on uploading the render in the next week or two!

But yeah, that’s it for this update. It’s a short one, but I’m hoping that on the start of April I’ll have the game prototypes complete and a lot more insight on what game I’m going to build.

As always, thanks for reading my post and I hope you have a great day!

“Hello Edinburgh!” – January 2023

So, here’s my first monthly update, and what a month it has been!

I’m very happy to announce that today I have started as an Associate Designer at Rockstar North in Edinburgh!

I’ve been a fan of the Grand Theft Auto series since I got a copy of GTA III for my 6th birthday (lol). I feel incredibly lucky and privileged to have the chance to work with the talented people behind some of my favourite games such as GTA V and Red Dead Redemption.

The team were incredibly welcoming and I’m very happy to call Edinburgh my new home. I look forward to exploring the city and also having a part to play in the future of Rockstar Games!

(And of course, any views expressed on this website are my own and in no way represent Rockstar Games or Take Two Interactive)

Blender Renders: 2 out of 12

I finished my first two renders earlier this month. First I made a Power Cell animation from the game Jak and Daxter, then I made a render of the Master Sword from The Legend of Zelda. Getting two done in January is a good start since I don’t think I’ll be able to keep pace of 2 renders per month now that I’ve started my full-time job.

I would like to do another simple render next month. Nothing too crazy with the model itself, and something where I can play around a bit more with composition and lighting. I’ll see how it goes in 4 weeks!

Personal Game Devlog: What to make? (I ramble a lot here)

In between preparing for my move to Edinburgh and making some Blender renders, I spent a bit of time figuring out what game I want to make by myself this year. Just like everybody else, I have a ton of game ideas. But ideas are cheap and execution is what counts. So before I actually make a game, I need to decide on what idea interests me the most and to be honest I’m in a proper state of analysis paralysis right now. Suffice to say, I haven’t decided yet…

Why can’t I decide on a game idea? I’m definitely overthinking it a lot, but here are a few problems:

Overscoping

Most of the concepts I am interested in end up as games with a scope so large that it would require a team to make and therefore would be completely unreasonable to develop solo in a few months. Everyone who has ever tried to make a game runs into this issue right away. Thankfully, I’ve gotten better at recognising when the scope is unrealistic. Unlike when I was a teenager, I know I cannot make an MMO by myself. But a single-player immersive-sim RPG? So tempting, I’d love to do it, but still too ambitious for one person…

Uninterested in making “tiny” games

Yes, I know that the classic advice is to make tiny games and in doing so you slowly learn the technical skills required to make larger ones. That is definitely great advice – I have learned a ton by making games as part of 1 Game a Week. There’s still an ocean of things I still need to learn but I just don’t want to keep making tiny games. So that’s why I’m trying to go for something a bit larger than what I’ve done before, while still giving myself time to work on it.

October soft deadline

I’ve already given myself a soft deadline of October to release a game. I also want to make a game that is larger than what I’ve made before. I think that’s a reasonable timeline, but I want to be confident in the game’s vision so that I don’t pivot the project halfway through and suddenly I’m targeting April 2024 as a release date.

Part-time Project

Even though October is a few months away, I will have a limited amount of time to work on this solo game project since I’m prioritising my day job. So with that in mind, I think it makes sense to make a game that plays it safe with the design so that it requires less playtesting to validate ideas. Not saying I’m going to make a complete ripoff of another game, but maybe I’ll play it relatively safe when picking the game I want to develop.

While writing this post I came across an article by PC Gamer that talks about how indie devs are creating “micro” RPGs, and it got me thinking about my own goals for game development projects. I realised that I end up thinking of trying to make games that are either commercial in scope, or are a stepping stone to a commercial project. Which to be honest I don’t think is the right way for me to make games solo.

I also think that if I immediately aim for the end result of “a game that makes money”, I’m going to act in a risk averse manner and not make anything creative or original, which won’t be very fun. So I think I should really not worry too much about the game having broad appeal and instead try my best to make a small interesting and unique experience, that resonates with a small audience. Which seems obvious to be honest, considering that people don’t go to indie sites like itch.io for mainstream hits.

This section has gone on for longer thatn I would have liked and there’s still a hundred different thoughts I have about this. But as I said at the start, I’m overthinking this.

So I think the best approach is to take an idea for a small game and see how much I can expand it, rather than take an idea for a large game and try to shrink it down. It’s like writing Tetris and then adding rules and modes to expand the scope, instead of starting with something like a CRPG where removing something can destroy the game balance and experience.

I’m going to stop now because I’ve overthought this way too much and I really just need to start sorting my game ideas so I can prototype the low complexity ones.

Thank you for reading my rambling devlog, next one is going to be more coherent!

1 Game a Week – Week 15

Alright, it’s time for my last devlog for the year of 2021. I think I’m ending this on a high note, as I’m actually really happy with how this project turned out. After finishing Week 14 I was away on holiday for a while, so I had some time to think about what game I wanted to make for Week 15. I had the idea of a top down brawler where you can punch both the left and right fists separately, I also wanted the fists to be actual GameObjects that are procedurally animated rather than in a sprite sheet.

One new thing I wanted to try out with this game was to allow myself to use third party assets a bit more for prototyping. One mistake I’ve made in all of my previous games was not relying on existing solutions to problems, and essentially reinventing the wheel. I used my own A* algorithm for a few games before replacing it with the A* Pathfinding Project. On one hand it’s good to write stuff from scratch for the purposes of learning, but right now I’m focusing on game design and high-level game programming. Writing a pathfinding algorithm from scratch is definitely something useful for me to be able to do, but it’s taking away from the final product as my time could really be used better elsewhere.

Debug view of my in-development A* algorithm from Week 13. I should have spent more time making the actual game instead of a generic algorithm.

So anyway, for the game itself I started off by focusing purely on how it feels to punch an enemy. I ignored juice for a lot of my recent games, since I thought I wanted to focus more on making gameplay that can stand up on its own without any SFX or VFX. I think that was a major mistake, and I got the notion from a Reddit post a few years ago where someone mentioned that a game’s mechanics should be fun by itself with no juice. I don’t know if that’s a common opinion in the game industry, but personally I don’t like prototyping games without at least placeholder graphics or effects. So I downloaded the Feel Asset, the Cartoon FX Remaster Asset and the Universal Sound FX Asset. This way I had some generic effects and a nice framework to setup juice and micro-interactions without much code, speeding up my prototype time. Finally after a little bit of time in Unity after playing around with Feel, I had a simple punch implemented.

Simple yet satisfying. My first attempt at making a punch.

I really focused on the juice and feel here, not worrying about any other part of the game. I figured that if it’s not fun to punch an enemy in a fighting game, then nothing else is going to hold that up. I decided to focus solely on audio, and after a bit more tweaking I had a version implemented. I was very surprised just how much better the game feels with audio feedback. My biggest lesson here was not to underestimate how powerful audio is.

The next 2 days involved me implementing a simple Health, Stamina and Shield System. I also started to implement the VFX juice while tweaking the punch timings. I also made it so that when you KO an enemy, your last punch sends them flying a bit farther, just to emphasize the character’s victory. I used some of the placeholder VFX then for a ‘death’ animation. While I don’t think the effects really ‘fit’ with the game’s graphics style, it still is much better than having nothing at all. A player should be able to play this and get the gist of the game in the prototype. If it was to go into full production, I would change out the VFX and SFX to something more appropriate.

I kept on tweaking the feel of the punch while I worked on the other parts of the game. I wanted the enemy to have some form of intelligent AI, so they don’t just rush the player constantly. While simple, there are a few rules with how the engage the player in combat. For example, if the player punches an enemy and they have enough stamina, they will engage their shields and back away to protect themselves. They are very simple rules and it does make the AI seem like they have some intelligence. If I’m being completely honest though, it needs a lot more work to make them feel more ‘alive’. They’re still kind of dumb.

Unfortunately the game is quite difficult, but the stamina and block system at least gives the player the time to receive a number of hits. I intentionally gave the player more HP and Stamina, so that the enemies will tire themselves out from walloping the player. I also made it so that the player regains some HP after each round. I’m not too happy with this solution as it doesn’t feel like it changes the game for the better. There isn’t much strategy other than blocking an enemy when they hit you to drain their stamina. Then when they run out of stamina, you can quickly dispatch them by punching them multiple times in quick succession. On the bright side, I do think it feels satisfying.

I also spent all of Monday trying to fix a performance bug where the browser would slowly compile the shaders when a player is spawned. Sadly I couldn’t figure it out. It’s not noticeable on a native Window version, so if anyone reading this knows why shader compilation is so slow on Chromium browsers, please send me a message!

Final gameplay with enemies spawning in

What went well

  • Made a game that is actually fun to play for a few minutes
  • Learned the importance of good VFX, SFX and Juice
  • Implemented Hitbox/Hurtbox collision detection and response in a simple and clean way

What could have gone better

  • I *technically* didn’t finish this game in the week, since I was working on a performance fix on Monday. Thanks, Chromium. It shouldn’t take 5 seconds to compile 10 shaders…
  • I would have liked to add in actual graphics and an environment, but I really already went over time so I didn’t spend time polishing it.

What I learned

  • I don’t like prototyping games without VFX or SFX. I enjoy working on the prototypes more when it feels more like a “real” game. I just need to be careful not to only work on polish and ignore fun gameplay like my sheep herding game from Week 5.
  • It’s okay to use third party assets for things that I’m not skilled in. I can’t make VFX or SFX (yet), so there’s no point in doing it badly for a prototype when there’s already good resources out there that I can use.
  • The problem with a lot of my earlier games is lack of feedback. I think even the mining game I made would feel way more interesting to play if the miners actually had a digging animation with a pickaxe SFX.

Summary

After making a few terrible projects in a row, I’m glad to have finally made something that I’m happy with. I learned a lot of important things making this project that makes me look back and see where I went wrong on my earlier games. Getting the core interaction polished and fun is something that isn’t new to me, I’ve read about it many many times but even then I feel like I ignored that advice for too long.

From now on I’m going to get the game feeling good immediately with some placeholder SFX and VFX. That will allow me to set the game’s mood and get closer to how I want to player to feel when they’re playing the game.

As always, if you want to try out the prototype, the link is right here:

1GAW – Week 15

Fast-paced round-based Beat ’em Up Prototype

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!

1 Game a Week – Week 14

So this game was released on the 3rd of December, and like the last devlog I’m posting this on the 21st of December. I’m still catching up.

The theme for this game was “Fire”, and is my last game based on the 4 elements. None of them ended up that good, so I think I’ll go pretty light on sticking to a theme from now on.

The idea was very simple, I wanted to learn how to use Behavior Trees to drive AI, and I also wanted to create a simple fire propagation system. I thought it would be cool to have the AI walk around a level, avoiding obstacles dynamically. They would also try to avoid areas with fire. If an agent was set on fire, it would panic and run around the level, making things even worse. I think I originally wanted to make something kind of like Infectonator, where you have a game where everything is calm, but you kick off a domino effect and everything ends up spiraling out of control. Sadly I didn’t get to implement success/failure mechanics or more complex AI, but that’s what I was moving towards.

What went well

  • Learned the basics of Behavior Trees and the Behavior Designer Asset
  • Setting the place on fire and seeing the AI freak out is fun. Kind of like how it’s fun to kill off Sims.

What could have gone better

  • Like last week, the game is extremely simple and barely counts as a “game”
  • Even though the AI is doing a lot in the background, there is very little feedback to the player for them to infer the AI state.

What I learned

  • Feedback is essential to making a game enjoyable, or even playable. Especially for inferring AI state. Watching the agent run around and freaking out is fun, but having them shout expletives would have been even better.

Summary

Another bad project. At least I learned about Behavior Trees this week.

As always, if you want to try out the prototype, the link is right here:

1GAW – Week 14

Simple fire propagation prototype

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!

1 Game a Week – Week 13

Wow, so this devlog is a few weeks late. I actually finished my Week 13 game on the 28th of November and now it’s the 21st of December. I’ve also already released Week 14 and Week 15. Better late than never? I’m going to keep this short.

The theme for this week is “Earth”, and so I planned on making a game where you need to build an underground mine network to extract rare minerals. I really wanted to try out something interesting around AI, such as swarm mechanics. In a classic move, this turned out to be too large of a scope.

I ended up making a very barebones prototype where you can move your character around with the right mouse button and queue up “dig” tasks with the left mouse button. There is some interesting pathfinding going on in the background, where the miners will try to dig around certain blocks if they’re too hard. Unfortunately the build is buggy and it’s common for miners to get stuck in a mining action. Oops.

While this “game” turned out to be a pretty dreadful experience, I do think I like the idea behind having a group of worker units walking around with your character’s avatar. I think the fog of war adds a certain level of mystery, and I wonder if I could create a much more polished system like this for a horror game. I love the idea of making a game about escaping a research lab with your small squad, and having to order them to maybe hack certain systems or use machinery to unlock new areas and abilities. But if you have a group to small in certain areas, they can get picked off by the monsters. So there’s a balance between keeping your own self safe and the rest of your crew. If I ever make this game, at least I got the idea from making this prototype.

What went well

  • Gained more experience with the Unity Tilemap
  • Got an idea for a future game prototype

What could have gone better

  • The game is extremely simple and barely counts as a “game”
  • No graphics, audio or juice. Everything is just blocks.

What I learned

  • Complexity != Fun, I should focus on tighter gameplay loops first rather than the larger progression loops.
  • More complex strategy games would need multiple people working on a prototype, or I need to build up my skills to get to that point.

Summary

While this project turned out terrible, at least I finished and learned from my mistakes. Either way, this was still worth my time.

As always, if you want to try out the prototype, the link is right here:

1GAW – Week 13

Prototype for a strategy game control scheme

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!

1 Game a Week – Week 12

So this week I made an interactive fiction game in Twine! It was quite a different experience to making games in Unity (or even Godot), but it was an enjoyable one at least. Well, it was enjoyable when I was actually working on the game and I wasn’t procrastinating.

I was actually supposed to publish Week 13, but I ended up missing a week due to serious indecision as to what I wanted to make, and quite a lot of overthinking. This happens most weeks, but usually the deadline will force me to make something very simple and kind of uninspired. I then promise myself that I’ll make something really cool instead next week, but I overthink and procrastinate and the exact same thing happens again. If I’m being honest with myself, this is what’s causing me to make games that I’m not actually pleased with.

Even though there’s a lot of great advice and tools and methodologies to design games, I find myself stuck at the very beginning when I need to just decide what I’m making. It’s only when I get close to the deadline that I start working on it, and then I end up making something extremely pared down and far from the great ideas I had at the start but I was too afraid to work on in case they’re too lofty and I’m not able to make them.

One way I try to work around this is to place limitations on myself with a theme. This kind of worked for Week 11, where the theme was simply “Water”. However, I still ended up playing around with different ideas until I settled on a very simple game that I’m honestly not proud of at all and I wouldn’t have published if it wasn’t for the fact that I’m trying to be transparent about my game making process.

The theme for this week was “Air”. Next week will be “Earth”, and then after that will be “Fire”. I had ideas for games where you’re trying to build a city in the clouds, a game where you play as a feather, and some other high concept ideas. I ended up procrastinating so much and putting so much pressure on myself that I ended up basically doing nothing last week. So this week, I decided to just get something done.

I’ve wanted to make an interactive fiction game for a while, and since I couldn’t pick a game mechanic I decided to just pick up Twine and try to make something. My initial experience with Twine was very positive, I like how easy it is to approach for someone with no coding experience, but since I’m already familiar with JavaScript/HTML/CSS I found it really powerful. I once again began to overthink the game, wanting to make an RPG combat system where you’re flying an airship around. I instead had to pare it down again, cutting most of my ideas until I got to my final version.

I think a lot of my issues with game development comes down to fear of failure and feeling that I might not be good enough. I actually used those feelings as themes when writing the story for my game this week. The story I wrote ended up kind of personal even though it’s set in a sort of fantasy world. I don’t know if other people will enjoy it, but I actually found value in making this game for myself as it let me explore some of my own feelings. To be honest, I also think that the best creative works are made when people put a bit of themselves into it, so I’m trying to do that here. I would be lying if I said it isn’t scary to put a piece of myself out there.

What went well

  • I wrote a story that let me explore some of my own feelings
  • I learned how to make a basic project using Twine

What could have gone better

  • I procrastinated a lot.
  • I ended up missing my first deadline, so I missed a week of 1 Game a Week.
  • I could have decided on my game scope earlier, giving myself a framework to work on.

What I learned

  • Decision paralysis and procrastination is a project killer for me. When I have a clear task I have no problem getting the work done, but without a clear scope and vision I won’t get to work.
  • I can’t rely on the deadline to motivate me to make good projects. Most of the time I’ll get “something” done, but it won’t be a good project and I’ll feel demotivated and will lose faith in my own ability to make games.
  • I could try restricting my scope even more. Next project’s theme is “Earth”, but maybe I can also force myself to make a game in a specific genre. I also need to find a strategy to deal with my procrastination, otherwise I’ll just continue making projects that aren’t that good.

Summary

Overall I wouldn’t consider this project a failure. It gave me the opportunity to reflect on my own work habits and to really figure out what’s blocking me from making the kind of projects I’m proud of. I don’t think it’s just self-doubt, I honestly don’t have experience in every discipline required to make a game, but maybe I can use that as a way to decide on what games I want to make? Maybe each project I can come up with new techniques I want to try and use that to guide my game design instead of getting too theoretical with the project, where I start to overthink everything. I guess I’ll see how things turn out next week.

As always, if you want to try out the game, the link is right here:

Leaving Levaer

Short interactive fiction about big life choices

Available now to play on your browser

I don’t have a GitHub for the project this time around, but I do have the proof copy in case you’re interested:

1 Game a Week – Week 11

Alright, so I’m back after my break last week, and I’ve made another prototype! Thankfully I’m publishing the game on Friday, so I’ll be able to relax on the weekend and get into the habit of pacing myself. Unfortunately, this prototype turned out badly. I think whenever I decide to make a 3D game with physics, that should be my cue to pick literally any other idea. I don’t really enjoy playing around with the Unity physics engine, it’s hard to make a game look good in 3D (at least it is for me), and I didn’t put much thought into the game’s design. I basically recognised all these problems during Ludum Dare a few weeks ago, and now I’ve ran into them again. So no more 3D Physics-Based games, I’ll leave them for other game devs and studios to make.

The biggest problem with making this game is I wasn’t particularly sold on the game concept itself. Instead of approaching this week with the idea of “Let’s make this cool idea and see what happens!”, I kinda just picked an idea and went with the mindset of “I just need to get a game shipped by the end of the week.” – I’m essentially making shovelware and it’s preventing me from engaging in my own work. I need to be excited about the game prototype I’m making, and to do that I need to be learning something new and to be sold on the idea. The game I made was essentially “Missile Command except you’re defending a port and you’re instead planting mines in front of boats.” – Very not cool.

The game went through a bunch of different ideas throughout the whole week and didn’t have a specific vision. It started as a boat racing game, then I pivoted to a trading game, then I pivoted again to this terrible Missile Command esque game. The game isn’t really “about” anything, there’s no reason for this game to exist other than as a lesson in “How to make a bad game”. So in that sense, I at least got value out of making it.

What went well

  • Finished on Friday!

What could have gone better

  • Lost motivation on the project very quickly as I didn’t have a game idea I was excited about.
  • Game wasn’t in a shippable state by the end of Wednesday. This is a crucial milestone that I recognised on my last game.
  • Didn’t have a game design that I could make to a decent standard this week without crunching. (I didn’t crunch! Yay!)

What I learned

  • I need to focus on games from an “experience first” approach instead of a “mechanics first” approach. What do I want the player to experience, and then how do I make that happen? All the player will experience will this game is boredom, frustration, and perhaps schadenfreude.
  • I need to decide on my vision for the game early. Decision paralysis doomed this prototype, as I couldn’t figure out if I wanted to make a racing game or a trading game or a defense game.

Summary

This week’s prototype was another failure, but at least I’m learning from these failures. I already know what theme I want to base my game off of next week, and I’m going to try a new approach of experience first design instead of mechanics first design. I’m going to use the “Core” design exercise by Rami Ismail to try and validate my design early in the process, so I can cut anything that doesn’t contribute to the experience early.

As always, if you want to try out the game (It’s not worth it!), the link is right here:

1GAW – Week 11

Game Prototype. Defend your port against an enemy assault.

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!

1 Game a Week – Week 10

This week started off very promising, I had an idea I was excited about on Monday, and I felt like I could get the gameplay in by Wednesday evening. Polish and bugfixing could be done by Friday evening. I made a critical mistake however by working late on Wednesday, which caused me to be completely exhausted on Thursday. And on Friday, I realised I wouldn’t be able to finish my vision of the game by the end of the day, so my motivation was at rock bottom. Basically, this is another unfinished prototype, kind of like last week…

I wanted to make a top-down tilebased combat system, but with the twist that your character can mind-control enemies for the purposes of being able to use their weapons and abilities. Instead of a normal RPG where you have your own inventory, each enemy type was going to have their own specific melee and ranged attack. Mind-controlling an enemy would let you use these attacks, and interact with objects in special ways. For example, mind-controlling the scientist would let you interact with lab machinery, while mind-controlling the security guard would allow you to open security doors.

Early gameplay. I wonder if this counts as a Ratatouille fan game?

In retrospect, this was huge scope for a game to be made in 3-5 days, so I should have been more realistic about this at the time. I really should have picked one mechanic (the mind-control) and thought of a way to make an interesting game around JUST that concept. Instead, I built the mind-control mechanic in a way that depended on the combat system working. When I tried adding in turns and combat on Thursday, I actually felt pretty overwhelmed once I realised how much work it would be to integrate it with this mechanic. I didn’t think I’d be able to get everything done on time, and so I felt defeated. If I didn’t feel so defeated I could have been able to figure out a way to rework it, but I think I’m hitting a point with 1 Game a Week where I need to just take a break and rethink my process for making these games.

What went well

  • I got the mind-control implemented in a simple way. I do still think this is a fun game idea, I just need a better prototype to confirm that.

What could have gone better

  • Massive overscope
  • Lost motivation after Wednesday and didn’t finish the prototype
  • I didn’t follow my advice from last week, to get the gameplay loop working straight away early in the week

What I learned

  • My energy on Thursday and Friday dips quite a lot compared to earlier in the week. I need to have the game shippable with programmer graphics by the end of Wednesday, otherwise I’ll start to stress and get overwhelmed on Thursday, which will just run into Friday.

Summary

I’m going to take next week off completely just to recharge and rethink my strategy. I’ve been disappointed with the last few games and it feels like I’ve been on a bit of a failure streak. In a way that’s fine, since these as are all prototypes. I would like to actually get a few wins though.

As always, if you want to try out the game (It’s not worth it!), the link is right here:

1GAW – Week 10

Unfinished roguelike prototype

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!

1 Game a Week – Week 9

I’m going to make this a short post-mortem, since there isn’t really a lot I have to say about the game itself. I also want to immediately get started on my next game, so let’s get right into it.

I started the week wanting to make a platformer again. I haven’t tried to make a platformer since Week 1, and all I really managed to get done was a basic collision system and floaty controls. I wanted to do better this time around, with a player character that feels weighty and a simpler implementation.

I struggled with the collision code again for a few days, but I managed to get a simple tilemap collision algorithm implemented that worked for my purposes. I then spent a day tweaking the player character controller parameters, adding in acceleration and deceleration values, jump gravity and coyote time. At this point in the project, it was possible to do very basic platforming. However, I wasn’t quite sure what I wanted to make now that I had a simple platformer system implemented. This was on Thursday.

The next 3 days was a blur of trying out random ideas and just trying to get something working. I thought it would be cool to have to fight a dragon enemy, something I’ve wanted to implement in a game for a few years (I even made a prototype few years ago). I added the enemy on a fixed track, and made it shoot projectiles at the player if the player is in line of sight. The player can then hit the projectiles back at the dragon to hurt it. Once the dragon is dead, the path to the dragon’s lair opens up and the player wins the game. Fairly simple premise.

Death animation (and the best part of the game tbh)

Honestly, I ran out of time and energy on Sunday, and the second to second gameplay wasn’t fun. So early in the day, I decided to just stop working on this project. I think that was the right decision, there was very little to gain to push myself much harder.

What went well

  • I was able to use knowledge I’d learned in previous prototypes to make this game. Specifically Week 1’s collision system was simplified and updated for this game. Week 7’s bezier train system was also adapted for the dragon path.
  • I learned how to implement a lot of smaller features, such as having the Camera pan to the room that the player is in. Line of sight raycasting on a tilemap. A wipe effect for reloading the game scene. Hurtboxes and Hitboxes. Very common features in games that will let me prototype faster in the future!
  • The player character is fun to control. Even though mechanically it’s the most basic platformer controls possible, I think adding the squash and stretch, plus tweaking the physics values showed me how important ‘feel’ is to make a game enjoyable.

What could have gone better

  • The game structure ended up being a total mess. The combat wasn’t fun, and I didn’t have the time to redo it.
  • I made a mistake with the dragon implementation. Every segment is on the bezier track, and follows a set distance behind the next segment. It would have been better to have a “target” on the bezier curve, and have the dragon physically follow the target, with each segment following the next segment. This would have allowed me to dynamically remove and add segments like a linked list, so that the dragon’s total length gets smaller the more the segments are destroyed by the player.
  • I spent too much time on polishing certain features instead of getting the game to a very simple beatable state, and then polishing from there. For example, I spent a few hours polishing the death animation when really I should have been getting the core gameplay to a workable state.

What I learned

  • Getting the core gameplay working early is essential. It’s something I’ve messed up on with every game I’ve made so far. I think I spend too much time early in the week trying to figure out what I’m going to build, then I make a quick decision mid-week and rush to get something done over the weekend. It’s an unsustainable way of making these prototypes and I’m going to now force myself to have the game beatable by Wednesday, so I can polish and tweak it over Thursday and Friday. No more weekends.
  • I find it very difficult to implement something when I don’t have a clear design or goal in my head. When I knew I wanted to make the death animation, it was very easy for me to focus and get that working. I had a lot of fun with it too. But if I’m not entirely sure what the design is, I tend to procrastinate and get stressed. I think I need to spend less time doing up-front design on the larger systems, and just let myself build things as I code the prototype. The code will end up a mess, but that’s ok, since the code base for these games will only be worked on for a week anyway.

Summary

The game I made this week was just plain bad and unfinished. But I learned a lot of lessons from it. I’m going to change my approach to making games from now on, with a focus on getting the core gameplay loop working early in the week, and polish, tweaking and art on Thursday and Friday.

It wasn’t until I watched Mark Brown’s video on his own game development journey that I realised I haven’t been focused on making sure the game’s design is actually sound before trying to polish it. For my next game, that’s exactly what I’m going to do. I hope it turns out better than this one.

The Game Design needs to be good first, otherwise everything else is wasted effort.
Image by Mark Brown at Game Maker’s Toolkit.

As always, if you want to try out the game (I’m sorry in advance), the link is right here:

1GAW – Week 9

Unfinished platformer boss prototype

Available now to play on your browser

If you wanna play around with the code, I also have a link to the GitHub repo if you click here!