Hello everyone; long time no see! It’s been a little while since I’ve written a blog, and this blog is going to be a little different. It’s not going to have any new features about AotSS, nor will it have a timetable or cool screenshots. We’ll have those shortly. No, I wanted to take a bit of soapbox time to talk about where I’ve been and why.
So, the first thing people need to remember about programming: it’s hard. Even for people who have degrees in this sort of thing, it’s hard. And I don’t have any kind of programming certificate, degree, or even a course. Everything I’ve learned has come from teaching myself, except for one computer science class in high school. I was very, very good at programming – was nationally ranked, in fact (yes, they have contests for programming in high school!) – but I didn’t think I could pursue it as a career since I didn’t much care for the math part of things. So I went to college, and put aside my programming.
Throughout the years, I kept coming back to programming for fun. I taught myself C++ with an Ivor Horton book that must have weighed 10 pounds. But I loved to learn, and slowly I put myself through pointers, address memory, OOP, classes, structures, and advanced topics like recursion and data structures. I had some knowledge at this point, but no game. So I started to imagine a world where humanity was hanging on by a thread, having been invaded by aliens that came through a stargate that humans built themselves – the ultimate Trojan horse. You were the supreme human commander, responsible for fighting the aliens (even then, called the Xyl) on Earth and holding them off long enough to accomplish your other objective: to assist the surgical team that went through the stargate using coordinates discovered during recovery of the plans to build the gate, only to discover that they were part of a galactic competition to determine the next master race of the universe for the next 100,000 years. That game design was called Perihelion, and I designed it almost 20 years ago. It seems quaint now, but back then I was roaring with excitement to program it and show it to the world.
Only one problem: I had no idea how to start a project of this magnitude! I was 22, and the Build engine was still being used. Programming games was still something of a black box process – there was no Unity, no DarkBASIC, no YouTube tutorials to walk you through creating levels, and certainly no iPads to download manuals and upload code – no, you had paper books and phones to call friends for help. So after a few false starts, I gave up on that for the time being.
Years passed – I grew my management career, got married, settled down, and looked at what life would be past 35, then 40, and wondered if I had truly given things a fair shot with game design. So I went back to the drawing board about 6 years ago, taught myself Visual Basic, and designed a strategic space combat program based on the Honorverse. You could command ships of different sizes and in the prototype, you had to detect and engage the enemy using gravity signatures generated from impeller wedges. It was surprisingly fun, and I did end up posting it in a few places, but obviously I couldn’t do anything real with it because a) Honorverse and licensed properties and stuff and b) it was still very rough, and I wasn’t comfortable with showing it off. However, for the purposes of this blog, for the first time in almost half a decade, I’m showing off screenshots of my first ‘real’ game project:
As you can see, even though it was Visual Basic and the graphics were basically one step above spreadsheets, it was a really fun game. The ships had very intelligent AI – they had numerous tactics that they could use, and their captains had a fear/bravery rating as well as an intelligence rating that would determine which tactics they would use, what range they would fire at, etc. Not bad for a first project, but I wasn’t happy with it, so I stopped working on it, and another few years went by.
About 5 years ago, I designed a solo board game called Star Requiem: Humanity’s Last Stand (https://www.boardgamegeek.com/boardgame/122248/star-requiem-humanitys-last-stand) that was based on a continuation of the history that I had started with the Perihelion design. I actually finished that game, and was working on a computer version when I had the idea to design a new game around what happened after humanity fought the Xyl to a standstill. What would their culture look like? How would the remnants of the human race spread? How far would society slide backwards? What would happen to technology? What would losing 70% of your entire species in another war do to a species? That’s what I set out to answer, and I knew from the very beginning that the game would be based on the last emperor – a child, with very little power, destined to bring humanity back from the brink of the final Xyl assault to destroy humans once and for all. And I knew at the core of the game would be the Action Point system: as Emperor, you would only be able to do certain things depending on where you were, and only so many actions per month – you were not omniscient and not a being with unlimited time and energy. I was so excited about the premise that I couldn’t wait to start! I taught myself yet another engine (Windows XNA) and set to work on what was to become Imperia.
So about 6 months into that project, I started posting pictures and almost immediately, people were interested in the concept. Very interested. I got offers to help and eventually took one from an artist named Pavlos who helped me refine the ‘hard’ science and the look and feel of the game. We reached a point where I had enough of a game and there was enough interest that there was one question: did I want to create a studio and actually sell this thing?
Well, the old self-doubt crept in, and I hemmed and hawed for months, until finally I decided to take the plunge. I made the agonizing decision to basically scrap what was complete with Imperia (basically it was about 60% done) and convert to a totally new engine and language. After some research, I settled on C# and Unity. After learning yet ANOTHER new language and engine, I was ready to work (Note to prospective indie programmers: Pick a popular language and stick with it. I wish I had!).
So it’s been a little over a year since that decision was made. I took out a loan, hired another artist (Ogi Schneider), and partnered with an amazingly intelligent and creative man named Oliver Milne who really helped flesh out the backstory and universe of Imperia, eventually to become Alliance of the Sacred Suns. And even working part-time, even having a baby and all that brings, even with challenges from my primary job, we kept chugging along. We were slow to milestones, but we were learning, and understanding what we could do and how much we could do in a given month.
And then January 2017 hit, and that old feeling came back that I’ve fought for almost 20 years:
Fear that my best wasn’t going to be good enough, that this project was an immense undertaking for one person to program, that the concept of AotSS was so ludicrous because it’s not quite a 4X, not quite a TBS, not quite a political game, but parts of all 3. It’s certainly unique, but would people actually like it? I started to doubt my abilities to finish this game, doubt the premise, doubt the 4+ years I have spent getting to this point, doubt all the time and energy invested in programming, testing, designing, fixing, bug-chasing, and still feeling like there was so far to go. It was like that dream you have where you’re trapped in a room, and the door keeps moving farther and farther away from you, no matter how fast you run towards it. and you can’t go backward. What do you do?
I stopped. I was paralyzed, feeling despondent that I couldn’t reach that door, like it was taunting me. It was depressing me, literally. I couldn’t face programming. I’d code for about 20 minutes, then it felt like the screen was laughing at me, daring me to attempt to add a new feature, whispering ‘What’s the point? Nobody’s going to play your stupid game anyway…’ and I would give in to the voices and break off. It felt like an overwhelming task – like eating the elephant, except my elephant regenerated every morning, even bigger than before, but all I had was the same damn spoon to work with.
And that fear started affecting other parts of my life – it affected my confidence, my focus, and it impacted almost every part of my life. I could almost hear the little voice inside me every day: ‘So you’re going to give up on this one too, just like you’ve always done. All. Your. Life.’
The line in the sand will be drawn here. And now.
I’ve decided that I don’t give a damn what the voices say, or what other people think, or how crazy our game design is. I’m very proud of what we’re trying to do, the design we’ve worked on for years, and the story we have written (well, Oliver mainly) for AotSS is amazing, and it deserves to come out. And I can’t let my doubts and fears override that need. It’s hard sometimes, especially when it’s not your main source of income, but I have made a vow to myself and the team that I WILL finish this game. I WILL see it through to the end, and I’ve written this very long post because I need to share this vow with the public and put out there my feelings and emotions to how I got to this point.
It’s been hard to type this blog, and it’s pretty personal for a game diary, but that’s the most honest explanation for why there hasn’t been a lot of progress over the last several weeks. I promise there will be a new video up in the next day or two. I keep putting it off because honestly, I never feel like what we have so far is good enough to show – the old self-doubt creeps in and I think ‘just one more feature and I can show it’ or ‘let’s stomp one more bug and then people won’t laugh’.
Enough. Enough. It is what it is, a work in progress by a small indie studio, not EA’s latest AAA title. I know I’m not as talented as some other developers, but I was once the 17th best programmer in the United States in high school, and by God I can finish this game.
And that’s just what I intend to do. I love all of your support and those who read these blogs and follow along and have done so for the last 3 years. Your patience will pay off. I swear it.
Now back to work on 4.7.0a!