finished package.
- Cut multi-games per server
- Cut ‘eco’ mode
- Extract and test vector/collision tools
- Scoring has little meaning: mostly negative scores since deaths > kills. Towerfall scoring might make more sense? Also more intense?
- Needs more choices, more actions
Towerfall has:
- adjustable jump
- dodge (mid-air or floor)
- super jump
- wall jump
- wall hug
- crouch
- fall / super fall
- fire arrow (360º)
- open chest
- interact with map-specific items
Sparkets has:
- power-adjustable bullets (in the direction the ship is facing)
- turn left/right
- thrust engine
- grab bonus
- use bonus
- crash on planet/satellite
- Instant death is tiring if you have to few choices (dodge, shield, run away …)
- The shield is too long?
- The mines are too easy to avoid (map too large?)
- Too easy to hide in a corner and let things play out (radar? smaller map?)
- Map scaling issues with number of players: too large (no encounters) or too small (chaos)
- More ways to interact with environment (Towerfall has: wall jump, wall hug, torches, map-specific behaviors; Sparkets has: bullet gravity from planets, crash on planet)
- When two ships are heading for one another, there is no way to avoid the crash. No mini-boost or side jet to feint the enemy, do a barrel roll and fill its tail with bullets.
- Tune the risk vs. reward. Going near a ship is riskier, but you should have more chances to take it down, thus score a kill. From a distance, you are safer, but it’s also harder to hit others.
- Find a mechanism to avoid stand stills. Street Fighter timeout? Bomberman “fill the screen with blocks”? Should make sense in a space setting.
- Modes: death matches, teams, rule variants
- Maps obstacles and scenery. We have planets, but no suns. Or black holes, comets, asteroid belts. A sun could cast shadows on planets and hide ships. A sun could throw up erupting matter when hit by a bullet …
- Try a camera that does not center on the ship but follows it when it leaves the center (with small inertia)
- Screen shake on death?
- Sound! Pew pew pew
- Needs more things on the screen, especially in the background or on planets.
- Planets lack volume.
Rapid-fire weapon but takes longer to kill ships. Go against the one shot/one kill principle of the current gameplay. Could be used for other bonuses like slowdown shots. The player launch burst of tiny projectiles and the more the enemy get shot, the slower he gets.
Gravity affects bullets and ships. Neat graphical effect required!
Easier to shoot at, harder to slip between planets but kills on contact.
Spray other ships with your colors! Rating 2 and up.
Copy of the ship that mirror the player, but turn in opposite directions. Fires phony bullets, disappear when colliding something (different explosion visual).
Shrink or enlarge the ship’s size.
- Reuse firing key to charge a shield and send push gravity force
Faster. Better. Stronger.
Explode when hit by a bullet or hitting a ship, with such an impact that it projects ships and bonuses around.
The gravity field of shields sometimes sends ships flying to the other side of the map. But, we need this field to be strong enough to repel nearby ships.
- Slow down the ship with additional little engines
- Or quick half-turn
We should feel stronger by getting kills. As it stands now, hiding in a hole is a viable game strategy. Let the others kill themselves, and you might just win.
We should reward kills, and not just penalize death. It should be much more satisfying to kill a ship than letting it crash into a planet. “I wanted that kill damnit!”.
Aside from tuning explosion effects (again), we could add a damage bonus whenever a kill is made, or something.
Also, I’d like to see a tally of kills made, by type, at the end of the match. If I killed 3 ships with bullets and 2 with mines, I will see 3 ship icons and two mines. Maybe even use color to signal who I killed.
Blob-like asteroids slowly drifting across the map. Breaks into smaller asteroids when hit.
Usable as a spawn area when playing with teams. Could take the form of a big planet riddled with tunnels or a more mechanical mothership.
Could be protected with sentries targetting invasive enemy players (this game lacks laser!). At the start of the round, bases are unprotected and players must earn sentries. We could use bonuses as a ressource : players bring them to a dedicated drop zone inside the base to progressively improve the base defense.
Highlight one area on the map, every second alive in the area gives one point. Change area after some time.
Pick item at A, bring at B, score. Capture the flag but without bases or carefully designed levels.
First player to grab the golden bonus is granted unique powers, others have to shoot him down to grab the bonus and rack up the kills.
Three teams, each one having a prey team and a hunter team. The team which kills the most preys wins. A ship can only be killed by a member of its hunter team.
All ships spawn at the start line, first to finish wins. The map is tailored for the race, with planets on either side (or asteroids fields), and some obstacles on it. Bullets are disabled, as are ship collisions (maybe bump into obstacles and ships). Boosts are mandatory.
- Kills
- Deaths
- Score = K - D, compel to avoid kamikazing.
- Total playtime.
- Favorite bonuses.
- Score progression tracking.
- National day : Explode X times.
- Rube Goldberg from outer space : Create a chain explosion of X mines.
- Anticipating the uprising : Kill X bots.
- Seasoned space explorer : Play for X hours.
- An apple a day : Kill every type of bot.
- Heavy drinker : Be drunk for X minutes.
- So Roswell : Crash on planets X times.
- Hope nobody saw that : Shot yourself.
- Rogue leader : Be at the top of the scoreboard X times.
…
- Unique game id.
- Out of range values.
- Max players allowed.
- Ping.
- Password-protected or not.
- Game mode.
- Password.
- Number of players allowed.
- Game mode.
- Shield push
- Ships under EMP effect
Ships and bullets splatters their colors. À la paintball.
Ships could emit ‘fire’, ‘death’, ‘explosion’ events, bonus can register them and act safely upon it instead of relying on polling the ship state.
Bonus too could benefit by emitting the ‘effect wears off’ event catched by ships instead of managing the bonusTimeouts explicitly.
While this is a nice pattern, we need to make sure calling listeners is synchronous. If that must be done, use our own synchronous EventEmitter.
Get rid of oldState = @state mumbo jumbo. Each transition should have one associated function. When going from ‘alive’ to ‘dead’, stuff that should be done only once will go into this transition function. Stuff that needs to be done at each game update when in the ‘alive’ or ‘dead’ state will stay into the the update function.
Find out why Core2 with puny graphic chipset can handle the client fullscreen when beefier hardware can’t.
Client should clean everything and start anew from this update.
Don’t send update position for an invisible ship.