When we got to working on the third level for the game, there was an obvious design flaw. In game development these are pretty common, and are a part of the process. You find something that becomes and obstacle and you start to come up with ideas to fix it. This particular issue came up because we wanted objects that were independent of the enemies to interact with you for the third level, but we still wanted to keep the basic character controls.
Originally the game was designed with the character and enemy separated to their respective sides of the screen. The actual position didn’t matter because it was more about the timing of your attacks, and the enemies attacks. As we were going to implement the new systems though, this presented a problem. Below is a screenshot of the old character position and the enemy position.
Having them spaced apart worked visually to balance the game and worked with our simple battle system. As the character would hit or block, it felt good. However, to keep this system with a larger enemy sending projectiles on screen, it would require creating a batting box of sorts to show where and when to do your attack or block to counteract the projectiles. That solution, while it would work, didn’t feel right. Here is a gif of the old system in action.
Instead, we opted for moving the character and the enemy closer together, and adding an extension sprite to the character’s attacks. In this way, the attacks and blocks are based on actual screen location and distance from the player. It also allowed us to get the timing better for the interactions between players and enemies.
Here is a screenshot of the new positioning. While it doesn’t seem like a big deal, it is making all the difference in the world to the feel of the game.
Below is a GIF showing the new positioning in action.
We look forward to sharing more as we continue to work on it.
Main Character Sprite Sheet
When I was first creating the content and started prototyping, I began with the main character. The idea was to look at art from games that I enjoyed in the past and try to reverse engineer their process. I tended towards looking at spritesheets from old Squaresoft games (now Square Enix). However, I was also looking at other games such as the Soul Blazer trilogy from Quintet, and Capcom’s early Breath of Fire games. The one that really kind of stuck out to me as I was looking at these were the sprites for Seiken Densetsu 3 (the first game I ever imported from Japan, as it was a Japan only release, and incidentally where I started to teach myself to read Japanese).
While I had done sprites before, I was rusty, and I wanted to get a fresh start with more of an inspiration from my favorite classics. Going through this process not only helped me to figure out an approach, but they also helped me figure out a scale to work at. Most of the characters from my favorite games were about 24 to 32 pixels tall. So, that is where I began. After playing around with a character design, I ended up extending the character’s length for the format I was wanting to create for Leaky Dimensions. Because of this, the main character’s base pose is 45 pixels tall, with an additional pixel row for the shadow underneath.
In, older games, they had limited sprite space. So, you will often see capped sprite sizes, and then little cheats to help extend things, such as having a character that is only 24 pixels tall, and then having a second sprite for a weapon that plays behind the character sprite, which also allows for weapon swapping on the same character sprite. As we don’t have similar limitations anymore, I extended the character’s working file to be 64x64 pixels. This allows me to get all of my animations done in a single shot.
I am doing all of my work in Photoshop. I simply limit my palette as I am creating, and then do each sprite in its own layer. I then output each sprite as a .png file, put it in Unity, give it a packing tag (which puts it on a sprite atlas, which is basically a larger texture with everything packed together), remove any filtering, and start creating my animations.
Here is an example of how some of the individual sprites would look if they were packed (this used to be more manual, but is now done automatically in Unity.
These are only a portion of the sprites for the main character, but they give an idea of what the process is. As I create each new set of sprites for a new animation, I will put it in the game engine, create the animation and make sure that it works (both individually, and overall with the entire character). I then move on to the next animation. In this way, I can make corrections quickly and keep the cohesiveness of the characters.
For this main character, the biggest issue I ran into was that I had to redo a lot of the animations by either removing or adding in extra sprites to get things to feel uniform as they animate. There was a learning curve with the initial character, but after the mistakes of this character the rest of the production speed and efficiency has increased.
By the way, as a historical note, that pink color in the background was used on old sprite sheets to help identify what the transparent or “off” pixels would be. While it could be any color, many artists chose this kind of a color (generally between a bright pink or bright purple) because it was easily identifiable and was rarely used as a color within the sprites themselves. I use it as a background while I work so that I don’t lose pixels or have holes, but I hide the pink layer when I export the .png files for the individual sprites.
This game has been a lot of fun to work on and I highly recommend creating your own sprites and trying to animate them.
What’s in a name?
Today I wanted to write about the name of the game. The old question “What’s in a name?”, and the regular reply of “Everything!” really ring true. This is especially true in game development. We are in an industry where the name of a product matters. Even though it may seem a silly or little thing, many studios spend a lot of time and money trying to get the right name. For mobile games, the general rule-of-thumb is “What it is. What it does.” If you can come up with a name that captures the game’s function and its essence, then you have something. Because of that, our first attempt at naming Leaky Dimensions actually led to a different title. It was first called Fight!, and was short, sweet, and to the point.
This name of course came after many, many explorations and iterations. Anything 16-bit, or 8-bit (even the punny, 2-bit variations) was off the table because of the numerous other titles that existed. Infinite Fighter wouldn’t work. Neither would most of the other explorations we did. Fight! was the winner. There was a small problem with getting the website URL because fight.com would be too expensive to procure. So, we went the route of fightthegame.com as a viable backup.
At least, we thought Fight! was the winner. When looking to define the trademark, and get the game name secured on Apple, we found that the legal battle to try and get a single word title like Fight! trademarked was not going to be worth the effort.
This led to another brainstorming session. There was an obvious next choice though. Since we already had the URL fightthegame.com, why not just use the extension. Thus the new title Fight! The Game was born.
This new title was much better. There was even a double meaning. It was Fight! The Game, but could also be “fight the game”.
We could use the same website, the art update in the game would only have minor changes, and it was easier to make the trademark argument since it was now more unique. The idea was that once it gained in popularity, we could drop the second line “The Game” and then be back to the original title and have a good case for trademark at that point. We also were able to lock in the name on the apple store, and so we were set.
A new winner!
…at least until we started going through the process of securing the social media names. Fightthegame, and multiple variants, were taking over everything.
Alright, back to the idea board. It could be about the character and so we could come up with some pun for a name. None of those variants felt right as we still hadn’t decided if we were going to name the character or not. It could be another variant of fighting. We tried smash, punch, attack, foe (FoeSmash was already taken on social media among many others), and etc. None of those did any better than fight. Then I looked to the narratives. In 90’s games the problems were rarely small. You would be instantly thrown into cases were you were tasked with saving the world or universe. This game was going to be similar. You were going to be fighting with a purpose. You have to save everything. So, I started with the idea of powers. Maybe we could go into talking about stones. Many 90’s games have a magical stone, or a crystal at the foundational base of the powers or the structure of the world. Ashen Crystal, crystalline, onyx, Topaz Gate, and all of the other variations weren’t working either.
The next step to trying to find a name was to move on to the narrative “call to action”. For those that are unfamiliar with it, in traditional storytelling the “call to action” is the point at the beginning of the story where something changes for the character that causes them to begin their journey. In this case, the main character has been getting dreams warning him of impending disaster. Multiple dimensions are opening around his hometown. Narratively, this gives us the excuse to have all of the different levels that will have graphically different encounters, and various different enemies that were part of the original concept of this spoofing and playing with many of the genres and games of the early 90’s (and possibly pulling from earlier and later as we choose).
This new direction led to exploring various names around portals, fractures, rips, and dimensions. You would be amazed at how many there are. Nothing felt right, and none of them fit what we were looking for. Most of them already existed in one form or another.
I went to bed thinking through these. Now, my shower had been slowly getting worse over the previous week. It had started with a drop or two coming out, but by the end of the week it was in constant drip mode. Part of my Saturday morning plans the next day were to get a new shower stem and install it to stop the flow. I went to sleep thinking about the work I needed to do the next morning, as well as the name that was still eluding us.
By the time I woke up, it had clicked. Leaky Dimensions. I started by checking the website URL. It was available. I checked for similar product names. Nothing. My wife started scouring social media. Nothing. Everything we checked showed that it was do-able. This also had the feeling we were going for. Leaky is a playful kind of word. It has an element of humor in it, and the title is silly enough to fit with our theming.
After getting my shower repaired, my next step was to create a logo mock-up. It went through some variations, but we found a good logo, tried various colors, and then added some details to bring it to life. Below is a sheet with some color variations, as well as the final in the bottom right corner.
With a logo that worked, we set about to secure the URL, the social media sites, and everything else necessary to have the title be ours. That is how the game came to be called what it is called. What’s in a name? Well, for us, it is the mood, the narrative, and the direction of our newest project.
Leaky Dimensions: The Backstory
This game started a little before Christmas 2018. I (Henry Bawden) came back, frustrated once more at being shot down by investors. Let me back up a bit to catch you up to that point though.
Until a few years ago, I was focusing on contract work for other people. In 2016, I changed the direction of the studio and stopped accepting contract work. This was to allow us to start developing our own intellectual properties.
My goal was to create games that had meaning. I wanted to make games that could be used as teaching tools. The problem is, games are generally not funded in the same ways they were 10 years ago. With the crash, and then the indie boom, things have changed. For various reasons, educational titles are even harder to convince investors to fund. My team and I spent a lot of time developing prototypes, pitches, and trying to get the larger projects funded, but we kept meeting with failure. That isn’t to say it was the end, because most failures eventually lead to success when you learn from them.
In this particular round of failures though, the final straw was a meeting where I was asked to create a very large, and detailed, business and financial plan (with the expectation that they would be interested if I followed their instructions and showed them what they wanted to see). I did the research, put together the documentation, and went in with a solid plan. I brought the presentation, the prototypes, and was prepared. The end outcome was that the games weren’t looked at, the business plan was lightly browsed and then pushed to the side, and the final comments were that they just didn’t do this kind of funding (games). After years of similar meetings where I was feeling led-on, I ended up coming home frustrated, tired, and angry.
That’s when something had to change. While I still believe in the educational games, I needed something to break out of my rut. I needed something that I could enjoy working on while I planned my next steps for the company, and for our educational direction. I started to think about minimum viable products. If you aren’t familiar with the term, it is basically the smallest and quickest thing you can do to show that the idea of your product will work.
I had a few different ideas that I explored, but the one that stuck was a 2D fighter. I tried to think of the simplest form that it could take and still be fun. I came up with the idea you see in the .gif above. Four buttons, plus a fifth for the occasional super-attack. The idea was that it would give a simple foundation for something that could grow. Here were the rest of the foundations.
- No player movement
- Four buttons +1 when your charge bar fills
- Themed levels broken into 10 battles each, including a mid-boss and an end-boss
- A custom song for each level
- All 2D sprites that are hand painted and animated
- It has to be funny and have humor
- It needs to be like a makeout session with the games of the early 90’s
I wanted this to be fast to develop, and fun for me to work on. I needed the break. So, I took two weeks around Christmas 2018 and focused on getting all the initial assets created (art, sound effects, and three new songs), which I turned over to my amazing programmer (Andrew) to start implementing.
I had a blast. It was exactly what I had been needing. The larger prototypes were put on the shelf for a while and I was able to play. Where a single 3D character model can take weeks, or longer, I could knock out a sprite character and 6 animations in a day. I could also sit around and write music once more with my newfound time (I’ll write about that process sometime soon).
I wanted to talk about the last three items that were listed above because they will help you understand the game’s direction a bit better. While I was thinking about my motivations for gaming, and creating games, I kept thinking back (as I often do) to the Golden Age of gaming. For me, that was during the early 90’s with the Super Nintendo. 2D sprite art was at its peak and the games were deep and immersive. So, I wanted to make something that would capture that. The idea with this game is to capture that feeling, while also poking fun at it a bit. As an example, here are a few of the ideas we are going to be pursuing.
- A level in the style of Mortal Kombat 3, where the enemies will look realistic, and as if they came out of that game (probably will get dressed up for a photo shoot, and have my kids do the same).
- An undead level, drawing inspiration from Zombies Ate My Neighbors, Castlevania, and many others.
- A level that gives a nod to the Final Fantasy series (particularly FF6). It will have a giant, highly rendered, enemy that you fight in stages. It won’t move (be animated moving), but will flash and shoot rays and things at you the way they did with bosses like the evolved form of Kefka.
There are many, many more ideas that we have brainstormed and are playing around with and will update you on. It is meant to be playful, fun, and bring back a lot of nostalgia for older players. The great part is that there is an opportunity to play around with the mechanics and the experience because of the simple foundation that it has and so I am looking forward to continued development.
There is a lot more that I would like to write about, and I probably will. However, as this first post has gone on for some time, I will leave it here.
Thank you for taking the time to check out our site, and I hope you return again soon.