Saturday, September 11, 2010

Aimed and Semi-Track

I'm working on perfecting the Semi-Track which constantly follows the player until it is within a certain range.  The two things I wanted Semi-Track to have, unlike its counterpart Aimed, is constant speed regardless of distance or the bullet and a non-impulsive behavior (the bullet would have to gradually change its course rather than perfectly track the player).  My original plan involved using Trig functions and the good ol' Pythagoras Theorem to maintain the constant bullet speed as I can only direct the vertical and horizontal movements (or, the legs of a triangle, the components) of objects.

The original plan involved finding the angle between the bullet and the player, dblNewAngle, and comparing it to the previous angle found in the last cycle, dblOldAngle.  Find an intermediate point between the two angles and use that angle to find the components of the velocity.  It doesn't work and I will assume it is VB's own use of Trig and dooms me to finding an alternative method.

So, I visited my VB teacher from HS (thank god I'm only 10-15 minutes away at college, lol) and through talking with him I've come up with another solution: Perpetual Aiming.

It's impulsive but trig-less and I don't know quite yet how to maintain a constant speed (as noted, Aimed bullets' speed is determined by distance from the player and, if I felt inclined, if I ran the current Aimed speed determining code constantly, it would theoretically never reach you as each time it recalculates, it gets that much slower).

So that's the next puzzle... -_-'

Tuesday, September 7, 2010

Gameplay To-Do List

These are my current objectives before moving on to astetics:

- Implement the time based supplement attack: "Bullet Rain".

- Add an additional Circlet Pattern. 

- Make Heavy Drop completely supplementary.

- Implement a "continuous grazing aura" which grants power automatically so long as one bullet is within Aura's general range.  (Another way to slowly gain power.)

- Implement and perfect "primary attack augmentations"; edits to improve attacks mid-battle:

Cascade → Torrent (Increased Speed)
Aimed → Semi-Track (Actual Tracking)
Wave → Deluge (Increased Wave Count, 2 to 4) [Already implemented.]
Ray → Meteor (Increased Wave Count, 2 to 4)

(Note, certain edits might be progressive rather than immediate changes during gameplay.  The edit names would be the hardest extreme of the attack.)

- Perfect power obtainment rates.

- Make any changes to score calculation to balance the effects of DPS (Time) and Power.

Danzoku! (written for v0.58)

Danzoku, as I incorrectly named it back at the start of 2010, is a simple danmaku (bullet hell, curtain fire, "girl shooter") game I began making as a project in a Visual Basic class back in high school. With a focus on gameplay over aesthetics, it has since evolved into something that has that "oh my god why isn't this as simple as it looks and still kills me left and right on EASY mode" feeling series like Touhou or Suguri keep forcing upon me and continues to get even more so as I continue to finalize the gameplay.

So, put simply, it isn't pretty (yet) and only incorporates a single "boss fight". You are a pink block with a circle in it trying to send egg shapes bullets into the body of a bigger blue block who fires more interesting round bullets at you. If you're one of those people who need graphics out the foot to get into a game, you might be put off at the most current version (v0.57). For the rest of you who value gameplay over visual, I'm hoping it incorporates the feeling and difficulty of other such danmakus to keep you playing again and again and again.

I did remove the one handicap of other danmakus though: complete predictability. I personally hate it when someone can spend a few hours learning the repeatable details of each individual level to the point of mastery, so, while there are patterns to be realized, the game is based mostly in the realms of randomly generated enemy movement and attack choices requiring skill and quick-thinking, not a decent ability to memorize complex patterns and movements.

Unfortunately, due to the limits of Visual Basic and my own knowledge, the attack patterns I can implement are fairly basic (for instance, "Bullet Circlet" can slow down the game when all of the possible 64 bullets are on the screen; or, I don't want to figure out the math to make a spiraling attack) but are compensated by the aforementioned lack of predictability and the current implementation of "supplementary attacks" in an attempt to further complicate gameplay.

And, I should note, that it is by no means complete. Most of the gameplay ideas I wish to implement are almost in there and still require some adjusting, but it is still a completely functional game. If you have any creative suggestions, I am open to considering them and, if applicable, adding them.