WHOOPS! Back on target.

Oops, forgot about these for a while. My bad. Going to do these daily from now on. Even if it is just “I tweaked some numbers and now it feels better” or “Did a bunch of chores today and I will be doing X activity tomorrow.”

As for what I have been doing since my last update I have been working on the level 3 boss. This one is a bit different from the others in that it does not change its pattern based on its health. Instead it has three fire points with distinct fire types, a laser on the left that toggles off and on, a blaster on the right that fires a stream of bullets straight ahead, and a center fire point that launches two different bullet patterns directly at the player.

My next step is to construct the level for this boss.

Level 2 Redesign

Got most of the level working but a few things will need more extensive tweaks such as bullet travel distance and movement (primarily with the boss). Other tweaks include distancing the current stationary enemy clusters and adding a few moving ones in between, I am thinking either “Spin and goes” or “Asteroids”.

Redesigning the Levels

I have started going back and redesigning the levels starting with level one (start at the beginning). With the larger play area I have to change the values of various things to accommodate for changes such as the scrolling of the scene, enemy/player movement speed, and projectile travel distance. Lots of tinkering and changing numbers and positions of things. And I am going to get it wrong the first time, and likely the second and third times, that’s what play testing is for!

Next Project

My next project after I finish what I can work on for the bullet hell game will be an app for android devices. Specifically for android because it is easy to put the project on android and test it.

Some of the ideas for the app include: Magic the Gathering life counter, Random number generator, Dice roller, and Fate dice roller. Once I have made these individually I can likely combine most if not all of them in to a single app.

Scheduling

In light of all the changes I will have to make because of the change in the camera size I have had to reschedule what I am doing and when for the remainder of the project. For the remainder of this week I am going to be working on implementing the new enemies from my Enemy Diversity post. Once I have the enemies and obstacles to populate my levels I am going to go back over the levels I have made and re-balance them, then I finish up level 3, then I lay out the UI, and last but not least I start figuring out sound and art assets.

Camera Positioning and Sizing

I was adjusting the positioning of the camera to make room for a side bar for player data and decided to increase the viewing area and therefor the play area. This however had some consequences that I had not at first taken in to account. Enemies in my stages exist off screen until and activator is triggered but with the increased view area the triggers will have to be readjusted and the positioning of enemies re-balanced to take in to account the increased area. In addition movement felt sluggish so I will have to play with increasing the speed of the player and enemies.

Boss Design

Up until this point I have been making bosses that have three “stages.” When the boss reaches 2/3rd and 1/3rd of its HP it changes the attack pattern it uses. I am now trying out a new boss that randomly rotates between several smaller attack types.

The first two bosses are each represented by boxes and have no particular apparent fire points. This new boss will have more form and more clearly defined fire points. The first of these is a round protrusion in the front that fires in an arc sometimes targeting the player and sometimes at random. The second point is a long barrel on one side of the boss, this  point alternates between a small burst at low fire rate and a laser that remains on screen for several seconds. The third fire point is wider and shorter than the laser barrel and is on the other side of the boss, this barrel fires either a near constant stream of bullets or homing rockets.

This new boss will change pattern based on HP but instead rotate through its attacks in a slightly randomized pattern.

Enemy Diversity

So far in my game I have four kinds of enemies coded and working.

The Chaser: launches itself in a straight line at the player and after a few seconds reorients and launches itself again.

The Chaser Shooter: Similar to the chaser but always moves at an angle to the player and shoots at the player as it moves.

Pulser: Sits in one spot and fires pulses of shoots in all directions.

Scatter Shoot: Spins rapidly in place and shoots mildly randomized shoots at a regular interval.

(Have I mentioned that I am bad at naming things?)

 

So today I looked at some other shoot’em ups and came up with some other enemy/obstacle types.

“Spin and goes” Move X distance spins for a second then goes off at a predetermined direction, Usually appear in groups of 4-10 split on either side of the screen or all on one side.

“Asteroids” Like chasers but larger, faster, and don’t change direction. Lock on and go.

“Traps” Stationary collision type enemies that fire a spread shoot targeting the player on death.

“Twitchers” move erratically then hold still and fire at the player a few times before repeating.

“Shielded Turrets” Stationary, no player collision, only vulnerable for a few seconds before and after firing. Opens shields to fire shot.

“Tendrils” Multipart enemies that come in from the side. Killing the farther in ones kills the farther out ones.

(No really I need better names……)

Main Menu!

I have a main menu for the Bullet Hell game! Only took me long enough. linking the scenes together is not all that hard but does require setting up other scripts so that relevant data can be transferred forward from level to level. Data that needs to persist includes player stats (lives, weapon upgrades) and score. when I have a score system working I will start making score screens between levels and implement the lives system.

Cleaning up scripts

Wanted to put some death effects on my basic enemies and re-add the decay timer for the chasers today. The problem is that when I started putting it in I found that several of the scripts on the chaser would be contradicting each other if I made the changes.

The solution was simple: take what I needed from the three scripts and make one specialized script for my chasers. This does mean that I will have to go back in and remove the now redundant scripts from my folders, but I needed to better organize them anyway.