Game development is a tricky business. When you start out, the goal is to plan out as much as possible before you really dive into a major effort, because the losses can be great when you really dig into asset building and coding something that turns out to be not what you eventually wanted anyway. As the game starts to form and you can actually play it, and as you get ideas from other places, you can start to question older visions of mechanics and design, so much that you reinvent how the game is going to play.
In a sense it’s inevitable. No vision is perfect on paper AND in practice. It’s important to keep sight of a more general, overall goal such as the feelings you want to drive home, the experience you want the player to have. Any time you are thinking of adding or changing the mechanics, first consider what you’re trying to accomplish with them, and what kind of gameplay and feel you’re likely to create with that addition. With a cohesive goal backing up every decision throughout the process, you’re much more likely to end up with a game that feels solid and well-planned, even though it’s changed greatly from what you had in mind from the beginning.
Uh, don’t let that scare you, because Hysteria Star is still a shoot-em-up. It’s still tough. And it’s coming along great. Lately I’ve had some inspiring thoughts about how to handle special attacks, money collecting for powerups, how the player earns points and what upgrades can and can’t be.
It’s gonna be a great game.
First off, the flow of the game as a whole is very important to me. There are currently 4 playable ships and I plan to have many more, most of them unlockables that you get by beating the game with other ships and on higher difficulty levels. I’ve chosen to make not only multiple separate level designs for higher and lower difficulty levels, but also entire unique campaigns for every playable ship. There will be some 10 or so level types (various backgrounds and walls, enemy types, obstacles, mechanics, etc) to make use of, and each campaign may go through them in a different order, with different layouts. Enemy and obstacle placement should be designed with that ship’s capabilities in mind. Higher difficulties could specifically target a ship’s deficiencies and force the player to adapt to new play styles. There are a lot of possibilities, and the fact that each ship has its own level set made specifically for it means that balancing all the ships against each other shouldn’t be such a big concern. (in single player, anyway. Multiplayer may run under a different set of rules.)
So, the ships themselves are very different, and that’s possibly going to change in a bigger way. The core mechanics are still the same – ships auto-fire their main weapon (in touch mode only: controller/keyboard controls have a normal shoot button) and you only control movement and the ship’s special attack. I’m opening up the possibilities for specials a bit, by making them recharge over time and making it possible to have single upgrades rather than multiple levels of upgrades for two separate factors. I still plan on having a ship or two which use specials as their main form of attack, with their main weapon being… less useful, for various reasons. Another fun factor I’m adding in is combos. I love a good combo system, and I think with the right design, I can make that fun here. You rack up combos by destroying enemy ships without letting too much time pass between kills. Getting hit or waiting too long naturally resets the combo, which as you can probably guess, multiplies the points you earn and gives you a few other benefits. You may have to let enemies stay on the screen longer to keep holding out on a combo, or even use a special to grab a quick kill when you know you won’t make it in time.
But I was thinking… what use are points, aside from something to gloat about in the leaderboards? That’s when a little inspiration struck: rather than collecting item drops from enemy ships to get money to spend on upgrades between levels… points ARE money. By racking up higher points, you give yourself more to work with in buying upgrades. You can become more powerful and perhaps earn more points because of it. This also adds an extra factor to high score-seekers, though. Since you directly spend your points on upgrades, and any upgrades you have at the end of the game are refunded for 1/2 their value, AND since you get point bonuses for certain accomplishments during a level (like 100% kills or not getting hit), anyone looking to get a good score may have some tough decisions to make. More spending might get you more points from bonuses, but if you are stingy with your spending, you could earn more in the long run for your trouble. Bonuses are also given at the very end, meaning you could get rewarded for a no upgrade run.
High scores are great and the added challenge and replay value if you’re trying to top the leaderboards is potentially through the roof… but there’s still more. As you play, you unlock stuff. New ships, crazier difficulty levels, cheats, etc. Pretty basic, right? But the unlockables need to be purchased with play points after they’re unlocked, so you can use them. And you earn play points for your achievements and how well you do overall. No, this is not a real money scheme thing, but here’s how I plan to monetize this game, if I can: The game itself is free. You can do everything that’s initially unlocked, meaning 3 or 4 ships and the standard difficulty levels, and multiplayer if available. There’s nothing stopping you from grabbing high scores and earning play points and unlockables. But, you can only use those play points when you pay to unlock the “full” game. (something like $5, I imagine) So, there is literally no difference between playing the full game and the free one, with the sole exception that unlockables are for the full game only.
Best money-making scheme ever? No, probably not. But I’m not here to make money. I’m here to make games, and the best thing I can ask for is to have people enjoy them. So if free means it gets in the hands of more people, I’m all over that. Maybe if it comes to it, I can have ads pop up in the menus and when you pause the game. But if I EVER even consider letting ads stick their noses into your gameplay like Angry Birds or something, I deserve all the hate mail I get…
So, I promised screenshots last entry, and I plan on sticking to that. A word of warning: the game really isn’t in a state I want to show. This is going to look pretty No Me Gusta. Lots of mechanics are still not added and it’s very much still in a prototype phase. It looks alright, but I’m still using a lot of prototype-y stuff, placeholder sprites and such. Lots of effects still aren’t fine-tuned to what I want them to be, and plenty more simply aren’t even there yet. But here’s Hysteria Star upscaled to 1080p:
(click for full res)
Probably the most obvious thing here (aside from the placeholder tiles that are nothing like what I plan to have in my maps) is the lighting system. For whatever reason, I decided to make all the wall objects here emit their own halo of light. You can easily see the red lighting on the player ship from the enemy fire. There isn’t much light emission from player shots with the Gatling Star here, but others shoot brighter. Explosions especially have a large effect, and tend to light up everything around them. One thing I plan on changing is the size of the light halos. It’s nothing advanced like a 2D bump/normal map sort of thing, so the key to making it more believable will be in how I handle the size and emission levels from each light source.
The background is still little more than just an upscale from my 480×800 version. It looked better at that size, but not so much at 1080p. I have plans for backgrounds and tiles, though.
(image is just a mockup, not screenshots)
Before, I planned to use more of a tileset system, just making tileable sprites and having the level generator look at which ones are on corners, top, bottom, sides, etc and place the right tiles. But tiles can get very boring and repetitive, especially considering how many 32×32 sprites would fit on a 480×800 screen. I tried doing a mixture of 32×32 and 64×64 tileable sprites, but coding that to work right would get messy in a hurry. What I chose to do instead was to go with a more “painterly” look for backgrounds and sprites. No more aliasing, no more pixel details, but a lot more depth and variety. I’m still kind of learning as I go and figuring out what works and what doesn’t, but I’m pretty happy with how it looks so far, and when I factor in lighting, I think it’s going to look great in motion.
Ship sprites have made a massive transformation with this new style, too. Shading and color depth as well as overall detail (of course) have been improved vastly. The “floating” effect on the shield was initially an accident, but I’m a big fan of how it outlines the ship better while still being disconnected from the sprite itself. It also doubles as your “health %” indicator, so it ups visibility and makes for a good, quick reference on how badly you’re dying. Color is an important factor in the overall design, but that’s something I’ll go into more later on.
Also, as a follow-up to my last update, LMMS turned out to suck also, crashing more and more often as I went until I couldn’t do anything with it. After re-remaking the Hysteria theme in some 4 separate programs, I finally finished it in an awesome program called MuLab. Unlike everything before it, MuLab has actually survived through two tunes and two WIP pieces without any glitches or problems. When I have the money to throw I’ll be getting the ultimate version of that, and I can continue with more music-making. I’ll be making a Bandcamp page for music hosting, so when I have some more solid stuff I might start putting things up there.
It’s been a short summer for me, but a lot has happened. I’m moving a lot slower than I want to in getting this from prototype to something more resembling the final game. I’ll still do my best to get more work done alongside school and work now that classes have started, so hopefully my next update WON’T be coming around in November or something.
Whatever does (or doesn’t) happen, I’ll keep you all posted! :>