It's been roughly 4 months since the last game diary, and I'm pleased with how things have progressed although it's not been completely smooth sailing as I've been learning Unity as I go. I've pretty much got most of the game elements done, including...
Playable wizard character with animation.
Fireball and plasma bomb effects.
Digging with edges auto-created (unfortunately no tile tinting but i'll get to that lower down).
5 layers of scrolling.
Nice pixel graphics (if I don't say so myself!
).
Rudimentary inventory and crafting system, with spell and object icons.
Various objects in the game such as plants, skulls, chests and boulders, some of these are real physical objects that can be manipulated.
Villagers which have a basic A.I, so they run away when they are scared.
5 Monster types, all animated with basic A.I.
Text speech system for the villagers and monsters enabling them to vocalise their reactions to events.
Presentation and game over screens.
Simple sound fx.
Something I'm pretty pleased with is more or less everything I mentioned in the previous game diary I've implemented and gone further with new ideas that I had along the way. Let's talk about the above in more detail.
The wizardThe wizard was the first character I designed and animated, the only thing that changed with him is he grew over the first month as I originally designed him way too small.
Fireball/Plasma bombsIt took a while for me to get the fireball looking how I wanted, in the end all it took is some particles rising up as the fireball was travelling along. The Plasma bomb was straightforward to implement, but unfortunately it meant that I had to drop the tile tinting. Still want to improve the explosion animation for the plasma bomb though.
DiggingThe digging worked well from early on, although I changed how I worked out the edge possibilities. Originally I manually created all the variations in Photoshop, but soon realised that if I want any kind of variation in the basic 2x2 blocks that make up the ground I'll have to find a way to automate the process or at least solve the variational issue in code, and that's what I did. In SpriteTile you can have a lot of layers for the scrolling, so what I did was lock a whole load of layers together and then use each layer as it's own edge layer, left/right/up/down edges, and then you can just put your edge tile into the right layer, and when there's corners etc they just lay on top of each and other combine perfectly
, no need to manually draw the variations! That was the good news, the bad news is tile tinting had to go, which was a shame because I had created this cool algorithm for tinting the tiles according to how far they were from the light (non tile), and it worked great when the wizard was blasting through 1 tile at a time, but when I introduced the plasma bombs which could destroy a bigger area (5x5) then the amount of processing it took to tint over that larger area just slowed the game down too much. So it had to go. I did try real time lighting as well, but again doing that with the amount of tiles there are on the screen slowed the game down too much. If I wanted to drop the whole digging concept in the game and lowered the amount of scroll layers I probably could of had real time lighting but that has been done many times already in other games, and I wanted to offer players the digging as a fundamental aspect of Wizardiers gameplay, so digging/particles stayed, tinting/lighting went.
Scrolling and Pixel graphicsI've always been a stickler for lots of parallax, so I knew right away I wanted to take advantage of the layers in SpriteTile and create some nice hills, middle distance trees and then finally the foreground. I've not regretted choosing pixel graphics for the style even though there's been various articles flying around denouncing pixel art. I like pixel art and hopefully the players will like it too. For this kind of game I think it fits perfectly. I've been sharing my time between coding and creating the pixel art for Wizardier for over 4 months now. The only issue with pixel art is animation, because it pretty much means you are stuck with keyframe animation, i.e drawing lots of frames, and can't get away with tweening everything (although I know of one game which tweens pixel art animation, but I prefer the keyframe approach). This takes time, a lot of time, there are ways to shortcut the process but either way it's a time consuming task. But I'm really pleased with all of the graphics, I'm always tweaking bits here and there but I think the pixel graphics are of a good standard.
Inventory and Crafting systemI had a pretty solid idea of what I wanted to do with the inventory system from the start, the only question was do I buy a plugin from the Unity asset store or do I roll my own. I spent a fair amount of time looking at the inventory assets available and eventually picked one only to decide soon after that it wasn't really what I needed (did more than I needed) and I was better off doing my own thing so that's what I did. It's still not done properly yet, I want to improve how it looks, but it allows the wizard to pick up items in the game, and then cast spells using combinations of those items.
Objects in the gameOne of the things I love about Unity is how you can make all your game objects use physics. This is still something I'm learning to take advantage of, but it makes for some cool gameplay/level designs as the player can use the physics of those objects to destroy his enemies! apart from that it just looks cool
VillagersThere's only 2 villager types in the game right now but I've designed a lot more and I'll implement them over time. Each of the villagers have a basic A.I which allows them to react to dangerous situations, i.e run away. It's all based upon a fear value which increases the closers the monsters are to them, and decreases when they are further away. If they are scared, they don't check their surroundings very well and stand a chance of running off the edges of platforms to their death!
Monsters!There's currently 5 monsters in the demo (and a "special" extra monster), from pixies to trolls to ogres!, I have to admit one of my favourite things is designing/creating the monsters, animating them takes time but it's all worth it when you see them come to life in the game. As with the villagers they have a basic A.I which allows them to react to what's going on around them.
Text SpeechSomething I wanted to implement from early on was the characters in the game saying little phrases, this was especially important for the villagers as I wanted to give them as much personality as possible to build empathy in the player for wanting to rescue them. I then also had the idea to extend this system to some of the monsters to make derogatory remarks to the wizard! and then that opens up the whole Terry pratchett type remarks you can have in a fantasy based game, that's certainly something I want to do more with as the project continues.
PresentationThis is real basic right now, just some scrolling tiles so that has to be improved, same for the game over screen.
SoundIt would be great to have a nice retro sounding fantasy soundtrack for the game, and that's something I'll be reaching out to a few contacts I have to see if that's something that can happen, also need to put more sound fx into the game, to bring the environment alive more.
Right so where are we now? Well I'm a few days away from having a 1st level demo finished. It's still very much a beta first level demo, and not what I would call public ready, but it will be complete in the sense that it shows most of the games elements in a nice pixel art package
players will be able play through the level and complete it, hopefully having fun along the way. At this stage I think it's time to start showing people, starting with some publishers, see what the feedback is and take things from there.