1536 x (object.x -= (object.speed * DELTA)) every game tick = super fast! Yay machine code.
1536 x drawImage() every game tick = bad
1536 x only draw, rotate and animate the tiles that the player can see = super fast!
Object rotation on a big scale is a real joy. Mode 7 heaven!
Load all tiles in one go (to canvasWidth + 14400px) or spawn them in at canvasWidth dynamically as the game ticks along? Incredibly loading around 500 tile objects at setGame has no noticeable performance issues. Thus avoids potential 'tearing' of tiles. #IndieGameDev#javascript
Quick run through the space stage of Neogun. Handy for testing movement and patterns as there’s no tile sets to consider. Later levels are built with my tile editor. Loving the 16bit vibe of this development.
I'm far too relaxed about the attack patterns in Neogun. A single life could last for minutes. In Darius Force it's seconds. Look at those bullets. Each one is targeting the player's ship.
What I like about this layered approach is the dependency that each goal has on its parent goal. I gotta write this stuff down into a book or something. :)
With Neogun I have multiple goals but the main one is still destroy the bad guys. I created a powerup system that demands collection of power items that act as currency. Armed with currency you can then fly through the portal that corresponds with the powerup you require. [more]
I'm a fan of creating primary and secondary goals in an arcade game. eg. Primary = blast everything to hell, Secondary = rescue people. The game is completed by successfully achieving the primary goal but you're measured on how well you complete the secondary goal. [more]
A slower ground speed works better on the iPhone as for a right handed player there's always the chance that alien threats emerging from the right are masked by the hand. Player movement is done by registering first touch so any contact with the screen will move the player.
With the parallax effect the distant layer scrolled around groundspeed - 8. The obstacle layer scrolls at groundspeed + 2.
But the aliens and other objects move proportionately and this has produced some nice balance to the action. [more]
There's merit in balancing the groundspeed in a scrolling shmup.
I took the decision to set every object's speed relative to the base groundspeed. This is hugely beneficial. The initial groundspeed was set to 10. That is, every game tick the background scrolls at 10px [more]
Balancing a shmup. Desire to attack vs desire to collect vs necessity to attack. Attacking & collecting are best placed far apart forcing the player into a decision. Obstacles add to the challenge and force a decision. #gamedesign#indiegamedev#shmup
@RichardNobel@photonstorm Thanks Richard. It's slowly getting there. I'm fighting the urge to write a level editor right now. I'm trying to intelligently create each stage with random elements. There's some staging going on but not as much as I'd normally use.
Some basic movement and obstacle testing. I'm attempting to keep the bullet / laser count up so alien HP adapts fairly relative to the player's gun power. The lower background in the parallax is not yet defined. #indiegamedev