Eat. Sleep. Indie. is a small game development team founded by myself (Al Ridley) and my daughter (Zoey). With more than a decade's worth of game development & testing experience, we recently combined our efforts as Lead Developer & Lead Play-tester to help bring Creative Storm's title Age of Gladiators II to Steam. We have both been holding controllers and sitting at keyboards since we were old enough to hold up our heads, and we bring that passion for gaming and a keen dedication to any project we work on.
I have over 2 decades worth of experience as a freelance programmer and almost 10 years experience with Unity and game development. I began my freelance career programming data-driven web applications using Coldfusion & PHP, and following over a decade of success, I decided to cash in all my chips and begin a life-long dream of developing video games for a living.
Work over the last several years has ranged from having a small part in games - setting up Steam SDK, building multiplayer frameworks, etc. - to Lead Developer for Creative Storm Entertainment's sequel Age of Gladiators II. The development team was small and so my responsibilities were numerous, ranging from rigging character models to programming AI for the arena.
The majority of my freelance work lately has been programming core mechanics for my client's game. Today was a day off that I had intended to spend entirely outside the confines of my home office, but I got inspired to put some improvements in place for a few particle effects in my zombie shooter, given that this work gave me the chance to play around in Blender and required no programming whatsoever.
Don't let her small frame or single-digit age fool you; Zoey is a pro at finding gameplay bugs. Possessing a knack for attempting to do things in ways that most others wouldn't, her contributions to the work at ESI have been paramount in ensuring a top-quality game is delivered.
Her love of video games began before the age of 2 when she would join me at my desk, grab the mouse and wander the world of Revery. Since then she has helped prepare several projects for release, including a children's book about the Forbidden City in China and receiving her first game development credit with the release of Age of Gladiators II.
For the first time since I added this devlog to my portfolio site, I have been given the green light by a client to share progress on their project. I was recently made lead developer for what will be the first release by Mind Shower Studios (social media links provided below) and I couldn't be more excited to be both working on and sharing this project.
As is the case with any new project, there were some growing pains during the early stages of development. This project started out as a 2D game, made a very brief turn towards voxel, and is now leaning towards a more traditional low-poly aesthetic. The screenshot below depicts the various versions we have play-tested along the way, but the good news is that these transitions didn't derail progress for very long at all, mostly due to the fact that they were made early and without the assumption that what existed was set in stone.
It's been a productive few weeks with regards to freelance work since my last devlog, but not so much with my zombie shooter. I just haven't had the ambition to work on it much, partly due to my schedule and partly due to the fact that I needed some downtime. I did, however, put a concept into place that I have had on my to-do list for quite some time, and now have a base/headquarters for my player to call home.
I decided to spend a bit of my lazy Sunday afternoon testing out the performance improvements I put in place back in December. I haven't had much time to work on this project, to the point that today is the first time I've even opened it in two weeks. Work has been steady and I believe in making hay while the sun is shining, and as always, my job takes precedence over my own projects.
I had planned on recording some new gameplay footage today to share with everyone, but I ended up getting lost in level design instead. I'm currently expanding the downtown area of my map and placing various props to fill things out a bit. I still have a long ways to go, but progress is progress, and after play-testing the level a few times, I think it's definitely going to be worth the effort to get this done before recording a new video.
As promised, here's some gameplay footage of preliminary work on the crafting system. This video also features a new lethal item, tentatively named 'Shrapnail' due to the fact it is essentially a soup can filled with nails and black powder. Slightly different than the standard frag grenade, this new explosive sends shrapnel out in all directions, severing the limbs and decapitating nearby zombies at random.
Finally managed to get some free time tonight and have begun work on a crafting system for my zombie shooter. Pretty basic stuff here: you loot items and then combine them into something useful like improvised nail grenades and Molotov cocktails.
If you've read my last few posts and are wondering why I have not done what I said I would - updating everyone on the work I did on my zombie shooter early last month - the answer is simple: freelance work always has, and always will, come first and foremost when it comes to my game development career. It is the means through which I provide for my daughter and I love my job; I enjoy meeting new clients, I enjoy turning GDDs into playable prototypes, and if I'm being honest, I enjoy just how hectic things can get. The act of constantly calculating where and when to put my time and balancing my work schedule is - in all honesty - a bit of a rush for me.
I implemented some performance improvements for my zombie shooter earlier tonight, and the end results were more significant than I had any right to hope for; in fact, they were so significant that at first I was convinced I had an error in the scripts I had written to display the exported test results using Google charts. After having run the test repeatedly and double-checking everything, I am happy to report that just a few hours of tedious work has resulted in a frame rate boost of 15-20%. The chart below displays the average frame rate recorded during a performance test scene at 4 different shadow quality levels (no shadows, low-quality, medium-quality, and high-quality).
I was able to get my WebGL MMO demo up and running again today, thanks in no small part to some IL2CPP bug fixes in recent Unity editor updates. The demo is now available to play for free and should run in most modern web browsers (disabled for mobile devices, at least for now). This process was as simple as updating the project to the latest 2020 editor version, and even though I still need to keep compression disabled in order to side-skirt some bugs that are still present, at least it is up and running again.
The first thing I want to share that was completed prior to my recent social media and devlog hiatus is an alternate firing mode for the rocket launcher; or, more accurately, an alternate type of ammo. This new rocket consists of five fireworks which, after a short distance, separate from one another and fly off on their own random trajectory. Any fireworks that collide with an obstacle or zombie cause an explosion similar to the original rocket, and any that reach a specific altitude explode into a burst of color mid-air.
For those of you who have visited this devlog in the past, you can likely see why it is I haven't posted any updates to my zombie shooter in a while. With my new portfolio site up and live, and everything I own that isn't used on a regular basis boxed and ready to go, I am very excited to be well on my way to moving back out West and continuing my freelance gamedev career through the 2020's.
Felt like trying out a new weapon this afternoon. I'm still back-and-forth on whether I will have melee weapons as an option in this game, but it's always fun to test things out since you never know where inspiration can come from.
The other night I had gone through the ridiculously-long list of asset store packages that I have purchased over the years to see if there were any I had forgotten about that could be leveraged in this project. That hunt is what led to my inclusion of the compass system, and I had forgotten that I'd also imported a dynamic bone package with the intention of using it for hairstyles. After work tonight I opted for some quick Blender work to wrap up my day, and I have now created two simple rigs for the above hairstyles. I will likely leverage this system more in the future, but this is the first time I have used this particular package since learning how to create simple rigs in Blender, so I am pretty happy that I got everything to come together without much fuss at all.
I set up an electric scooter using my vehicle system during my lunch break today and it turned out better than I thought it would given the short amount of time I had.
Today was a long day full of meetings and it's looking like my free time to work on this as much as I've been able to recently will soon be coming to a close in favor of freelance work. I managed to get a few things in place between bouncing from Discord to Zoom to Skype, and wanted to share before I close up the home office early; with contract work being very likely in the next day or two, I am going to take a break from game development before I end up burning myself out just before starting a new project.
This latest gameplay footage is a culmination of everything that's been done these past few weeks, which includes the new day/night cycle, character equipment and armor, weapon mods, and even the first in-game achievement.
It's the first chance I've had to work on my zombie shooter in a week, and I decided to create some simplified zombies to see to exactly how many of them my pathfinding setup can handle if I kept the basic concepts for killing them in place. I was able to spawn 600 capsule "zombies" and play the game with no issues while maintaining 60 FPS consistently, which gives me a lot of hope going forward since the largest performance hit by far is currently the number of skinned mesh renderers on screen at any given time. My current max while maintaining 60 FPS on my dev machine is around 200 if post-processing and real-time shadows are enabled using the standard render pipeline; in other words there are still numerous ways for me to make this project more performant as I progress.
I figured I'd share a longer gameplay video of the day/night cycle while I am waiting for my lunch to finish heating up. Nothing new here, just an extended version of what was posted after my dev session last night. I have a feeling that this feature is going to be in the final version, so I can at least progress forward with confidence that time spent on polishing it up won't be time that's wasted.
It was a quiet, rainy day here today, so I decided to maintain momentum from yesterday and began work on the day/night cycle I had been putting off since I first tested out the flashlight earlier this month. This is a modified version of the day/night cycle I had created for an RPG concept a while back, and although it needed some serious tweaking to get it in place and working for a third-person view (versus the original top-down view), I feel like it was worth the effort. This video features a short, 2-minute cycle so that I could record a quick a video before bed, but it's pretty close to how the final version would look if it does end up making the cut.