The power up system has gone through a few iterations throughout development, so I thought I'd take a look back at how it's evolved.
It was initially a basic pick up that would appear after certain enemies were cleared, and would just level up the standard gun, then I thought about mixing it up a bit with a shield item and some bonus points.
This was all a bit boring though and I wanted to try making some proper powered up special weapons, so I started with some classic weapon types from Contra 3 as inspiration (apart from the laser, I hate that laser) and took on the homing missile first.
I wanted the special weapons to feel more... special, and have a bit more visual impact, so I thought a kind of film burn effect might work so it looks like the film is getting scorched by the powered up shots. I'm not sure that's really communicated, but I kinda like how they look now anyway.
Here's the spread shot...
And a heavy shot, which spawns three explosions on impact that take out enemies. It's a bit OP at the moment and I'm not really liking it so I'll probably end up scrapping it for something else.
I wasn't really sure at this point how to implement the new power ups though. The previous system spawned a predefined power up (gun, points or shield) after a chain of enemies was destroyed, and I initially had the gun power up version of that just cycle through the different new guns so the player could wait and choose what they wanted. But I kind of wanted to expand it a bit more with other power ups so it really needed a different approach.
After a Fantasy Zone session or two, I decided to steal it's shop mechanic! Enemies would now drop apples as currency (which start shrinking and losing their value after a second or so, so you need to grab em quick for max value) and instead of spawning power ups, the enemy chains would spawn the shop, where you can buy various upgrades...
The level structure has since changed again and in the current version, the shop only appears in between more clearly defined waves of enemies, but more on that later...
Cheers!
ZOE Dev Log 4
Having done a bunch of enemies and refined the theme of the game a bit, I decided to tackle the first boss fight!
I decided pretty quickly that I'd need to somehow pause the side scrolling and create some sort of arena in order to contain the fight, mainly because it seemed like it'd be a massive headache to deal with all of the scrolling and warping issues that would come up otherwise, but I also think it was the right call as it mixes up the gameplay style a bit, allowing the player to move more freely around the screen. To contextualise it, I came up with the 'Frame Trap'!
The camera pulls out to reveal the black frame boundaries which also act as walls to keep the player trapped. I was really happy with this as it solved the game design problem and added to and reinforced the context of the game world.
From here it was relatively easy - I came up with a few ideas for the kind of attacks the brush could do and set about implementing them with a spawning system that randomises the order they appear in. There's also a countdown to when the frame trap happens, so the player is able to get into a position where there are some health or energy resources to use during the fight. It's a fairly easy boss to defeat, but there's room to adapt the difficulty in the future when I get around to balancing the difficulty.
Around this time I was also playing with the idea of a mini map at the bottom of the screen which would indicate where health dots are and whether any of the dots had been popped or not (I was planning to make this scroll with the player, so that the green indicator (the player) would stay in the central position and the others move around that), but I ended up scrapping the idea as it was just too much info to be able to read while playing...
Scattering Fish
Take the fish out one by one and earn points, or dash through them to send them scattering and maybe get a better level clear time bonus?
ZOE Dev Log 3
Most of my time on the project had so far been focused on simply getting things to work and making things look decent, but the player really had no motivation or reason to shoot any of the enemies other than to just, you know, shoot all the enemies. I'm a big Shmup fan, and as such rarely enjoy or pay attention to the story in a Shmup(!), especially one that interrupts the shooting, but this forced me to acknowledge that of course all Shmups have a story or framing narrative of some sort. So it was time to try and figure out mine.
The concept that we were playing with a drawn on film animation had been established, so when the music was put in, I thought it'd be fun to play about with a slow down effect and a camera pull out to reveal the edges of the film when the game was paused.
[previewyoutube="_DVI7wEHiQE;full"]
This test reminded me of something that had always kind of been at the back of my mind, which was to have the 'animator' as the main antagonist, a hand drawing in all the annoying enemies and becoming the boss at the end of each level. I wanted to introduce this idea as soon as possible through the title screen and the context of the menus leading up to the first level, so for a couple of months I focused on the menu design and implementation.
If I wanted this 'animator' to be the baddie, it made sense that we should see the player character relaxing at first before being interrupted or bothered by them.
[previewyoutube="73LyY7eEGmA;full"]
[previewyoutube="3U7ozqcQxcw;full"]
I was happy that I was finally getting to grips with my camera system at least! The next task was to get the paint brush directly antagonising the character somehow - I'm definitely going to need to revisit this at some point, but I think it gets the idea across well enough for now.
[previewyoutube="oUE3DTqAtBs;full"]
Now that we had the brush vandalising our character's world, it gave the player some motivation to restore it back to it's original peace and tranquility, which helped me finally figure out one of the main mechanics in the game as well - the popping buttons.
When you ground pound the buttons, you see the background transform to it's original colour. The percentage of the background you manage to clean up is tied in to a score multiplier at the end of each level, so there's hopefully an interesting balance to strike between maximising your score and managing your finite energy and health resources (which also come from the buttons).
[previewyoutube="kZm3F_WlgSs;full"]
Thanks for reading! Next time I'll have a look at the first boss fight with the brush!
Thwomp Enemy
I've been getting some more enemies in the bag for level 2 - here's a Thwomp type thing that can take out other enemies if you time it right. Or just hurt you.
New Enemy!
Been working on some new enemies recently, this is the level 2 popcorn with slightly over elaborate spawning animation! Still a work in progress.
ZOE Dev Log 2
I was really happy with the new visual style I had developed over the previous few months of development, but what I had done up to this point was really just conceptual stuff and nothing that would really function properly as a game, so I had to start thinking about the kind of things I wanted to be in the game and how I would represent them in this new style.
First off, I simplified the design of the buttons that line the bottom of the screen to give them a bit more energy, and gave them some functionality so they spawn particles when they're popped which get sucked in by the player, refilling their energy or health bar depending on the colour, and also emit a laser type thing that will take out enemies.
At this point I was still interested in trying to implement the Zoetrope frames, but was starting to be a bit more open to just abandoning that altogether if I felt it wasn't working. I also changed the background colour so I could play around with the enemy colours a bit more.
I wanted to implement a simple multiplier system as well (the multiplier bar increases with every enemy kill and when full ticks up the multiplier, or ticks it down if you take too long and the bar empties), so I had a look at some other Norman McLaren films to get some ideas for how it might look, and ended up going with this design based on the visual representation of the sound track on a piece of film...
I'm still not 100% convinced on this design, but it's been there ever since so I'll probably end up sticking with it!
So most of the basic elements of the game were in place now and I was pretty happy with how it was looking, but the placeholder enemies felt like they were sucking some of the energy out of it, so the next period of development was focused on coming up with a few enemy types while trying to maintain the visual language I'd established...
[previewyoutube="a9s2Nxcn76U;full"]
ZOE Dev Log 1
Hello! I thought I'd start posting a few dev logs going back to the very first experiments and ideas that eventually lead to the ZOE you see before you now!
The very first thing I did that's related to ZOE was this little platformer, jetpacking prototype which was the result of a youtube tutorial series I was following.
It was just a project to learn and get into programming, so it was never really going anywhere as a game. I knew I wanted to make a shoot 'em up, but I was struggling to come up with an idea to put my own spin on it, so I started looking into my old animation work and thought there might be something in this Zoetrope technique I was playing around with a few years ago.
https://www.youtube.com/watch?v=p93FaJ91gcs&feature=emb_title I was imagining the player somehow activating the frames of the animation and having it play out as a background during a boss fight or something. I adapted the code and reworked the sprites from the tutorial project, and came up with this...
https://www.youtube.com/watch?v=2WIg9OvFB9E&feature=emb_title I think there was something interesting there, but the feel and theme and context of it all was a complete mess, I was just making it up as I went, so I took some time to try and develop the visuals and context for the mechanics a bit.
Hux the green alien made a comeback for a bit, and I cooked up some silly idea in my head that he was trying to stop an invasion of his planet or something by activating a defence system that happened to work very much like a Zoetrope. Which in turn led me to just stick in some frames of an actual Zoetrope I'd made, to see how it might look... (the dots in the image are from the video below it).
https://www.youtube.com/watch?v=WfjBmLzMvgk&feature=emb_title It was getting better, but still felt wrong and a bit forced to me. That frame from the Zoetrope animation was what eventually helped me make some sort of weird link in my head to think about the 1930's era drawn-on-film experimental animations of people like Len Lye and Norman McLaren.
https://www.youtube.com/watch?v=TgJ-yOhpYIM&feature=emb_title This got me excited! So I decided to use Boogie Doodle as a visual reference and started working properly on what would become ZOE (hopefully the name makes some sense now as well!).
This is the very first gif I made while I was trying to mimic the visual style of the Norman McLaren film, and the very first bit of gameplay I recorded with some basic enemies and the Zoetrope frame idea still intact.
[previewyoutube="iXE94xKLmBU;full"] Next up I'll talk a bit about how I developed the visuals to work as a game.
Cheers for now! Graeme
ZOE Demo Available Now!
We're happy to announce that the new ZOE demo is now available to download!
[previewyoutube="JC87j51CDlg;full"]
Updates from previous versions include -
- New power ups! - Power up shop - Dash and Pound charge mechanics - Apples! - Bananas! - New music! - Loads of game feel things and bug fixes!
We really hope you enjoy the demo and please keep an eye out for updates as we progress towards the full release.