Besides the graphical changes, I've changed the fire button as the previous arrangement seems to have prevented diagonal movement on some keyboards.
You can download it either from Yo Yo Games or Game Jolt. Game Jolt gives me a small royalty-- by small, I mean, a fraction of a penny per download-- so I'll link there.
Spriting for the final boss. I have to keep him in tune with the game's over-all aesthetic (blocky, symmetrical, very "sprite-y") and make him big enough to fill the entire width of the screen. Given the dimensions of the screen, this makes him very rectangular. The other characters, both enemies and bosses alike, are very square or circle, very compact, and the art style is fairly simple and uncluttered to reflect this. This boss, being so rectangular, needs some other shapes to break up that dominant shape, to make him more-- well, organic isn't quite the right word, what with the armour and everything, but less like a long ugly box.
Making a change to the third boss that cuts down the time required. I am, however, making the margin for error less forgiving-- i.e., taking damage will restore a lot more of the boss's hp.
Having some trouble with the sprites for the last boss-- I want the sprite and its various states of disrepair/blow-up-i-ness to be really spectacular and satisfying and I'm not feeling particularly inspired as of yet.
However, I do know exactly what I want to do for the boss's attacks and how I want the fight to "feel", and I've actually created the objects I need to do that-- just without sprites.
This last fight should depend more on skill and reflexes, and so there isn't an overriding strategy or trick this time around other than, "hit him with your bullets" and "don't get hit by his bullets". Elegant, simple, shmuppy.
Hopefully I'll wrap my head around the spriting during this next week.
Changing the bosses from "gods" to "memories", with each memory given a somewhat obtuse title.
When they were gods, each of them went through a number of names-- first, nonsense names, intended to ape the sort of eldritch abominations you'll find in Lovecraft, then poorly-translated Esperanto versions of nonsense phrases, then joke names. The latter included Death Crab for Cutie.
With this current naming convention, the words on the screen have some kind of meaning without detracting from the mysterious atmosphere that Mr. Crane's wonderful music evokes so well. Puns and gibberish get in the way of the experience.
There's a danger, of course, with people investing too much meaning into these "memories"-- this isn't a story game, or one with any kind of deep philosophical theme. And then there's the danger of people being turned off by this naming convention, who would think it a bit pretentious or arty-farty.
Which isn't my intention. I'm just trying to make a neat shooter. Here's hoping I'm able to strike the balance.
Going to bed now. Tomorrow I'll see if I'm happy with these names and that third boss. If so, it's on to the final boss.
Happy accident: an unintended result of the collision code for a certain part of the second boss allows the canny player to hit it with several spread-shots at once, skipping over an entire attack pattern. It is now possible to defeat that second boss in about the same amount of time as the first.
I was so pleased to stumble upon this "mistake", as it's exactly the kind of thing I've been trying to build into the game from the start. And I don't think it'll be very hard for others to stumble upon it as well.
In other news, I think I've finished the third boss. He's very different than the others: instead of firing bullets, he uses his body; he has a small weak-point, surrounded by armor that deflects the player's shots; he requires the sort of careful timing that makes for fun boss fights but doesn't lend itself particularly well to the "I-just-beat-the-boss-in-10-seconds" feeling that you might get with the first two.
To compensate for this-- after all, I can't expect a player to beat the whole game in three minutes if there's a boss that deliberately gums up the works-- this boss takes more damage-per-hit than the others. And to compensate for that-- because, after all, I don't want it to be easy-- the player takes more "damage" from coming into contact with the boss and so there's less of a margin for error.
A mistake in this game, especially in the boss battles, can cost the player dearly, and that goes double for the last two bosses.
Some screen-shots from level three. As you can see, these enemies have a trail effect, which helps to emphasize their speed. These enemies are in constant motion, whereas earlier enemies come to frequent stops.
I briefly tried adding a trail effect to the third boss, but because the sprite is much larger, it didn't have the same effect-- instead looking rather ugly and clunky.
I'm trying to iron out a couple of technical crinkles in the third boss. Assuming I can overcome them this week, and that the fourth and final boss is going to come together as quickly as I think it will, the game should be done by the 20th at the latest-- ten days before the deadline.
Level three has one enemy type, with one hit point, and a constant attack aimed at the player, creating a sea of bullets. Player must strike a balance between safety (i.e., blowing them away) and abusing the bonus system to fill up the bar (i.e., putting that bar at greater and greater risk). Not a mental decision but a twitch decision.
Going to sleep on it, and if I still feel good about it, I'm going to get started on those last two bosses.
As stated before, levels one and two each feature two enemy types, a popcorn unit (low-defense, relatively low-offense) and a tank/sponge (high-defense, lots and lots of bullets).
Because I want level three to ratchet up the intensity, to be slightly more spastic, I'm not going to go the same route. Instead, I'm going to create two or tree units that combine popcorn-unit style defense (that is, units that can be destroyed with one or two shots) and tank-unit style offense (that is, a helluva lot of bullets).
While the same basic mechanic from the first two levels can and should be used (and abused) by the player, the third level should manifest itself in a less strategic, more reflexive manner.
One thing that the first two levels have in common is that each stage has two enemies: a powerhouse unit/damage sponge paired with several weaker, popcorn-type unit. The mechanic that the player can exploit to breeze through the first level and that the player must exploit to breeze through the second is dependent upon these two units. It makes sense, then, that the third level will also feature two units that react in a similar way.
It being the last non-boss level, it's important that it also be the most hectic-- especially since the second level is really more of a puzzle level. I want to reinforce that this is a shmup and that reflexes count.
The second boss is complete. As I mentioned in a previous entry, part of the second boss can only be defeated by using a trick that speeds up the first boss. My thinking, again, is that if a player does slowly eke his way past the first boss, when he gets to the second and figures out how to damage him, the player will put two and two together and apply this new knowledge to the first boss the next time he plays the game.
My composer for Side Saddle 2, the immensely talented Nathanael Crane, is hard at work composing the three minute theme for Ultrageist. The music acts a sort of progress indicator in its own right, an auditory supplement to the time bar: the player will hear a specific musical phrase and know roughly how much time they have left, as in "Hey, this is that really kickin' part, so I'm about half-way through my time" or "oh, crap, here comes those notes, I'm down to the last minute, I'm never going to make it!"
More than indicating progress, it's also intended to instill a feeling of progress from play-through to play-through-- "last time I was only on level 2 when the music started speeding up, now I'm on level 3, I'm doing better at this". That's the feeling I want the player to have-- the feeling that they're getting the hang of it, that they're improving, becoming cleverer, that they're rapidly approaching mastery.
Decided to redesign the second boss from scratch. If the second level, as I stated previously, is intended to make sure that the player has grasped the concept under the surface of the first level-- that is, what makes progress quicker in the first level is necessary for progress in the second-- then the second boss should serve the same function: the "trick" or strategy that will allow you to blow past the first boss in a matter of seconds is out-and-out required to beat the second boss.
This poses a couple of problems with the game's visual language and rules, and I'm in the process of trying to balance all these concerns in a cohesive, non-rule-breaking way.
Play-testing is an important part of game design, not because it allows you to make sure the game is bug-free-- though all games should be bug-free, I'm looking squarely at you, Elder Scrolls IV, rassum-frassum no reversing-vampirism on the PS3 Game of the Year Edition-- but because it makes sure that the game just plain works: that puzzles can be solved, that goals are clearly stated, that the HUD is easy to understand, and that all the various systems and rules can be grasped in the blink of an eye. In some of my making-of videos for Side Saddle 2, I explained the vital role play-testing played in making sure the game was playable.Play-testing for Ultrageist, however, is a trifle bit trickier. Part of the whole point of the game is that very little of how the game works is explained; it's up to the player to suss out how the various elements of the HUD work together, to stumble upon "flaws" in the system that can be exploited for maximum benefit. It's possible to basically skip over the second and third levels straight to their boss encounters, and in all likelihood it'll be necessary for most players to do just that in order to get to the final boss.
It's the very opposite of intuitive and accessible, on purpose, though not, I must add, in that annoying I Wanna Be The Guy way. This game isn't about frustrating the player, but about the player overcoming frustration: the game plays fair; the rules are consistent and make sense, it just takes a little more time to figure out what those rules are and a little bit of strategy to get 'em to bend in the direction you want.
If the whole point of play-testing is to see if most players can grasp A and B, then a game in which the player has to slowly come to realize A and B is a hard game to play-test. Is the player confused because I did it wrong, or because I did it right? When they get the first of their big "A-ha!" moments, is it because it was well-designed or is it because it was badly designed-- for even in a badly designed game a player will eventually be able to put the pieces together if they play it long enough.
It's a tricky question, and my first round of play-testing didn't get me any closer to an answer. Though it did influence my decision to make the second level more of an overt puzzle level; the optional "trick" that lets you breeze past the first level more quickly is no longer optional in the second level but rather necessary to your progress. The puzzle format allows the game to hint at this particular system more overtly. My hope is that a player who slogged and fought his way through the first level will get stuck on the second level, figure it out, and then breeze through the first the next time around now that they're armed with additional intel. I'm starting to figure this out, I'm getting better at this: that's the feeling I want the player to have as they unlock the mysteries, such as they are, of Ultrageist.
I've got the first boss to where I want it and I've made some changes to the HUD. The orangey-red blocks under the time meter act as a progress meter, with one slot for each stage and each boss. This is meant to give the player a better sense of where they are in the game, and to up the tension (i.e., I've got three slots left but I'm down to my last minute!).
You'll also note some numbers on the bottom of the screen; this is how much you've scored from destroying a given enemy. The game doesn't actually keep track of a numerical score; killing enemies really just fills up the XP bar in the upper right. But I want to cement the idea that killing certain enemies fill up that bar faster than others, and that doing so when the multiplier (between the two bars at the top of the screen) is higher will do so even faster. Just looking at the bar might not do the trick; a higher number is easier for players to grasp.
Onto the game's first boss, or "god": I'm not going to say much about the above, other than the obvious: as the player depletes the boss's health bar (which doubles for the XP bar) and blows off chunks of its armor, it starts doing different sorts of attacks. It's possible, I've found, to beat the first boss in roughly ten seconds, and indeed the secret to doing so is revealed in one of the above screen-shots.
It's also possible, however, for this battle to last the better part of two minutes-- not the best turn of events for the player, given the game's over-all three minute time limit. This is due to the system that's been put in place of death in this game; taking damage in the multiple enemy stages will deplete your XP meter, while taking damage in a boss fight will increase the boss's health meter. I think this actually ups the stakes more than the traditional "get hit and you die" or extra lives system.
I scrapped my previous plans for boss (sprite) design and went with something a little cleaner. The first boss's sprites are done-- there are fourteen sprites for this first of the four projected bosses.
Enemies and bosses alike in this game are squishy pink tentacle things with armor, and when you kill an enemy, the armor falls off into multiple pieces-- the bigger the enemy, the more pieces. With the bosses, the armor falls off during the course of the battle-- a chunk here, another couple when you reach this threshold, etc., giving the player a greater sense of accomplishment. At least in theory.
Will post more, including pictures, when I have more to post.
Spent most of the day slowly trying to put together a large (400 pixels wide) boss sprite. Large sprites always give me a hard time-- I always end up getting overwhelmed by the canvas and am almost never happy with the results. One reason why the bosses in Side Saddle 2 were orb-based is that it made it that much easier to create a boss one 24x24 sprite at a time.
What I'm doing in this case is going for a deliberately ugly look. The creatures in Ultrageist are squishy pink tentacled things that wear armor, and so the bosses are squishy pink tentacled things entangled with various pieces of armor, hardware, and weaponry.
When I have that first boss sprite finished, I'll share it in another blog post.
First screen-shots. Haven't put in background yet. Sprites are appealingly blocky/symmetrical-- well, appealing to me, anyway. I'm using the explosion sprite that's packed in with Game Maker 8, because I like it very, very much-- otherwise, it's all me, baby.
The HUD: time meter on left, score/experience meter on right, w/ score modifier in the middle, tied to the number of enemies onscreen at a time. This, I think, will be one of the dominant mechanics for the player to exploit-- being smart about how you approach this modifier in the first stage, for example, can shave thirty seconds off your time-- thirty seconds being awfully precious in a three minute shmup.
Discarded the power-up system I was thinking of to keep the game more focused; I think I need to add some kind of progress indicator, though, so that you know which stage you're on and how many stages you have left to go. Would like to do this in a visual, bar-based or intuitive way as opposed to a "level one/two/three" text.
As you can see, there are two weapons in the game. In keeping with Yo Yo's contest rules, both weapons use the same action button. I'm actually going to try to squeeze in a third if I can get the button timing right and if it doesn't complicate things too much.
It's important that as I create my enemy types, I don't lose sight of the simple, fast, satisfying, destructive charm of the shmup genre in the first place. I'm dropping my idea for a reverse popcorn unit because I don't want the player to have to scratch their head as to how they're going to beat this particular enemy. I want the player to be able to kill things with ease.
The puzzle aspect, such as it is, is not about figuring out how to play the game, but figuring out how to play the game better.