Hisami Valentine STG
Table of Contents
- 1. Technical details:
- 2. Story/lore
- 3. General info about the game and mechanics.
- 4. Checklist for art assets
- 4.1. In-game foreground assets
- 4.2. In-game background assets
- 4.3. UI - A lot of these I can probably do myself
- 4.4. Other assets (Many of these are optional) - Unless you want to do them, I'd strongly suggest getting a second artist to manage workload. I know reliable people to ask and the risk is low since many of these are optional.
- 4.4.1. Title screen logo/art - OPTIONAL BUT NICE. I CAN JUST USE GAME ASSETS AND SLAP SOMETHING TOGETHER
- 4.4.2. Intro scene(s)? To establish story - OPTIONAL BUT NICE
- 4.4.3. Outro scene? For what happens when player wins.- OPTIONAL BUT NICE
- 4.4.4. Game over screen art, for what happens when player losses. - VERY OPTIONAL A BLACK SCREEN IS FINE
- 4.4.5. High score screen art. - I CAN LIKELY DO THIS WITH STOCK ART OR REUSING THE TITLE SCREEN ART
- 4.5. MUSIC/SOUND
1 Technical details:
Game area size: 540x540 (will be integer scaled by 2 to 1080 height to fit a modern monitor)
Total window size: 960x540 (so there is 420 pixels of UI space next to the game area, 210 on each side.)
2 Story/lore
It's Valentine's Day and Hisami has made chocolate for Zanmu, like every year. And like every year, sinsacks are trying to steal lovely Hisami's lovely chocolate. Mow down sinsacks to protect your chocolate. Mow down Zanmu to force feed her your chocolate!
3 General info about the game and mechanics.
Game is a vertically scrolling caravan shmup (or shooting game or STG). You have 2-5 minutes to kill as many enemies as you can. Clearing a wave causes the next wave to spawn. At the end of the time limit you fight a boss. This is standard caravan. Game can be as long as 5 minutes: It depends on how many fun enemy waves we can manage to design. Quality over quantity. 2,3 or 5 minutes is all pretty standard. Let's aim for 2 or 3 imo.
3.1 Scoring system
You get score just by hitting enemies (and also killing enemies). Merely hitting an enemy causes 'hearts' to spawn from the hit enemy and fall down the screen. Grabbing the hearts gives score and fills up a 'lovely meter' that lets you enter a hyper state. Entering the hyper state clears bullets and gives you a more powerful / wider shoot that lets you collect more hearts. This fills up your 'lovely meter' again which lets you hyper again. Hypering lets you hit more enemies and thus spawn more hearts and thus get more meter for more hyper and bullet cancels.
The player gets frequent extra lives by hitting score thresholds, so dying while aggressively scoring is not punished too hard since you get more lives than if you didn't try to score. This encourages players of all skill levels to engage with the scoring system.
3.1.1 Skill expression
Figure 1: Knocked down enemy by default "falls" down the screen towards bottom (blue arrow) but can be juggled up if hit by the player shot (red arrow). If hit off-center, the enemy is knocked to the side like in this picture, allowing the player to control position of knocked down enemies. The knock effect should probably happen on a cooldown (not on every hit) and speed etc need to be tuned to play character speed. Eventually the knocked down enemy falls of the screen or EXPLODES if hit enough. They never become a threat again and the falling enemies are not dangerous.
Since getting more hearts means getting more hypers, a skilled player will want to hit enemies with more shot. If enemies just died when they are killed, there'd only be a finite number of shots to land for a given enemy, which doesn't let skilled players get more hearts by landing more hits. So instead of just dying, mid-sized enemies "fall down" the screen upon death, but the player can keep shooting them to give them upward momentum and keep them on the screen to milk them. Hitting these falling enemies gives bonus hearts, and they eventually explode for a bonus if juggled for long enough. The juggled enemies get momentum in different directions depending on if the shot hits them off-center. The player's shot pierces enemies, so it's good to bunch them up to be able to juggle many enemies at once.
(Note: technically they aren't really falling down since we aren't traveling upwards, it's more like they are staying in place and we are rushing towards them. We might still get away with using the visual language of "falling", but it's good to be aware that it's not really what is happening.)
Point blanking gives bonus hearts and juggles enemies further up, so the player can 'stream upwards' once they've bunched up enemies at the edge of the screen. This lets the player linger longer at the edges of the screen (where fallen enemies will tend to bunch up), at the risk of getting overwhelmed by the constant barrage of aimed bullets from the popcorn enemies. Parameters need to be tuned after playtesting.
Figure 2: Hyper mode makes it easy to hit more enemies for more hearts. They also clear bullets when you enter the hyper state. The key to good scoring is to get a lot of hypers.
Hypering lets the player hit most of the screen, but since they need to pick up the hearts generated by hitting enemies, they cannot easily get all the hearts they generate. Maybe hearts can be auto-collected upon entering hyper and for a short duration afterwards? This means the player wants to time their hypers when there are a lot of hearts and enemies on screen.
3.2 Enemies
Popcorn enemies: souls/wisps etc
These enemies spawn constantly and fire slow aimed bullets at a slow rate. This eventually fills up the screen if the player lingers for too long and promotes back-and-forth movement, but is not really scary on it's own. These enemies drop hearts when killed but cannot be juggled. They mostly exist to provide a background barrage of bullets without being too distracting. Might want to spawn them outside the normal caravan wave system so that they just constantly spawn (with some logic to not spawn during certain dangerous waves).
Sinsacks
These medium enemies are the bread and butter of the scoring system. They linger upon death and can be juggled for bonus hearts. The default variety is relatively harmless as an enemy so mostly exists to let the player engage with the scoring system. Non-default varieties spawn more complex bullet patterns that restrict player movement more severely and let the background aimed bullets become dangerous.
Default color (character: 罪)
The spawn in relatively constantly, maybe one or two at a time in relatively quick succession. The default version just fires a few aimed bullets, in a line at different speeds. The faster aimed bullet reaches the player quicker so forces more immediate action than the souls and the slower bullet lingers to provide background dodging when the player moves back and forth to kill enemies on all sides of the screen. Since they are just aimed bullets and not very dense, they still don't really force the player to adapt, and we can safely spawn many of them to let the player have fun with the scoring system.
Red (fire?)
Two steams of fire (from the left and right) starts from the side and moves sweeps forward, while still leaving a safe spot in front of him, but semi-trapping the player there. Makes aimed bullets more dangerous by preventing streaming.
Blue (water/ice)
Fires bullets in odd-even wave pattern, as if deploying a hexagonal grid of bullets in front of him (like an ice molecule).
Green (wind?)
Sanae's wind cutter pattern from TH10.
Yellow (lightning?)
Takes aim at player, then fires a steady stream of bullet towards the position it aimed at (does not track the player at this point). Can deny a large part of the screen if not misdirected properly.
- MORE?? I can just take my favorite big-enemy patterns from various games. This is probably enough for now.
3.3 Boss
- Zanmu
- patterns inspired by her EX attack and spell cards in TH19
- Just need like 2 or 3 patterns. Details TBD.
- Midboss (?) - Triangle sinsack
- Can maybe use patterns featuring triangles?
- Or patterns inspires by the wonder stones (pyramids) in TH20.
- Just need like 1 or 2 patterns
4 Checklist for art assets
4.1 In-game foreground assets
Player sprite (Hisami): About 54 pixels wide. Not strict, the hitbox is what matters and it will be smaller. Try to give the sprite an obvious center where the hitbox can be placed.
Might want animations for moving left/right. I have examples from pixel art. No real technical requirements, should just look nice.
Boss sprite (Zanmu): About 80 pixels wide. Wider than Hisami so she isn't that hard to hit.
Not exactly sure how many frames of animation. Might want animation for when she moves left/right, but no technical requirements. Should just look nice.
Sinsack: 80-108 pixels wide. Height can be anything. Do not make him wider than 108. Making him narrower than 80 is OK if it looks good.
Technical requirements: needs two animations. One state for 'alive' and one state for 'knocked down but can be juggled'. Should be very visually distinct. It is good if the 'knocked down' state has a left-right orientation (i.e. is not left-right symemtric) so that the player can tell which direction they are being knocked towards and juggle them more easily.
OPTIONAL but HANDY: Enemy death explosion/effect
this can be used to cover up the transition between the two animation states the sinsack has. Normal -> Explosion (covers sprite) -> 'Knocked down'. So we don't need transition animation between the two states.
Wisp/soul: 54 pixels wide.
Basically a small ball of light that looks a bit like fire.
Figure 3: Wisp/spirit example from the official games.
Bullets: about 22 pixels wide. Hitbox will be smaller.
Good constrast with background both in terms of hue and value. Can have a few different colors to separate different component of patterns. Good if they have some simple animation to make them pop-out a bit better from background I have examples.
Figure 4: Example of enemy bullet animations for 32x32 sprites, but note that the actually bullets are about 10 pixels wide. 'Wobbling', 'flashing', 'spinning'. (I cut the spritesheet to make the individual animations easier to separate.)
- Hisami shot bullet sprites : SIZE NOT YET SET
Non-hyper mode:
I'm thinking long bullets that kind of emulate the look of vines. Can like her shot in TH19. Greenish in color? Semi-transparent to not be distracting. No need for a lot or even any animation it's not meant to get attention. Pierces enemies so that juggling fallen enemies doesn't block your shot. Can fire entirely or mostly forward (but with a width) to force player to move around screen if they want to hit enemies, and give precision for juggling.
Hyper mode: MAYBE WAIT WITH THIS ONE
Probably pink since Valentine's day? Still semi-transparent. Should fan out more to cover a pretty large part of the screen so that the player hits a lot of things and spawns a lot of hearts.
We might want to figure out the angle the bulelts should spread out over before doing the sprite? Will depend on how large part of the screen we want it to cover. I can look up references.
Hearts: SIZE NOT YET SET
Dropped when hitting enemies and fall down the screen. There will be a lot of these on screen. Should be drawn behind enemies and bullets and enemies and bullets need to have good contrast over a large number of hearts. Do not need to be super visible since they aren't dangerous and there will be a lot of them on screen.
4.2 In-game background assets
Background 1 : does not need to be wider than 540 pixels, but should scroll vertically so could be significantly taller.
Something that
- looks like hell
- doesn't have too many details (should scroll relatively fast)
- has good contrast with dangerous foreground elements
- Background 2 (Optional) Maybe not needed. Just a slight variation that we can fade into before the boss to let the player know that something different is going to happen. A simple pallet swap and change in scroll speed will do.
4.3 UI - A lot of these I can probably do myself
Meter for hyper.
Might be good to let it fill above 'full' (like a second meter below it) to not force the player to use their Hyper as soon as they can or waste 'hearts'.
- Counter and icon for lives.
Font for numbers for score
I have good pixel font I can probably just reuse or we can just do normal fonts since not a pixel art game?
- Background for UI part of the screen: can just reuse 'other assets' art if available.