Implementation details: Basically everything takes place on a 500x252 board. The top row is used for Lachesis stuff, the second row for Lancer stuff. The remaining 250 rows comprise the board. The top two rows of the screen will be consumed by the status bar. Variables: ox, oy: Offsets. These are simply added to the player, enemy and sprite coordinates before drawing, certain checks etc. This means that, while the player's coordinates will give the player's position relative to the whole game, adding ox,oy will normalise them into the 500x250 space that makes up the displayable area of the board. pl_x, pl_y: Player X and Y coords. lockx1, locky1, lockx2, locky2: The player and the player's viewport will be locked within the bounding box formed by these coordinates. The player will be able to go up to the edge of the screen but will be unable to cross it. Charset: 0-63 (64 chars): Player, UI, player attacks, enemy projectiles. 64-159 (96 chars): Enemies, font (for story, upgrade etc. when there are no enemies on the screen) 160-255 (96 chars): Level Lachesis Timeframe: - Brainstorm plot, theme ideas, world layout (15-30m) - Draw Player Graphics (20-30m) (depends on how many frames we want though, could take longer. 8 like last time? Want more since it's 2x2?) - Create first area (1-3h) - Write and debug dynamic area switching code (30m tops) (this will require updated code every time I make a new area but the time impact of adding more areas should be minimal) - Draw at least one enemy graphics set at some point (1h??) - Create areas (1-3h each) Possible progression: - Gameplay (for a few seconds, at least. No enemies yet) - Plot - Gameplay - Plot - Gameplay - Plot - Boss Fight #1 - Plot - Gameplay - Plot - Gameplay - Plot - Gameplay - Plot - Boss Fight #2 - Plot - Gameplay - Plot - Gameplay - Plot - Gameplay - Plot - Boss Fight #3 - Plot - Final Boss - Ending 12 plot screens (still fewer than those in Thanatos Insignia, and hopefully a lot more meaningful). If I can't manage to fill all of them I'll just discard some of the between-bosses ones. The plot scenes that come after the bosses will be the longest and most important. Player consumable stats: Health - player starts with 500 health, represented as 5 health bars (5 HP). Only a partially-filled health bar will regenerate- e.g. if the player has 350 health they will heal to 400, but healing beyond that requires picking up hearts (or killing a boss, after which the player will be autohealed). The player will gain a short period of invulnerability after being hurt. Soul energy - divided into two bars, L energy and S energy. L energy will have a constant maximum, while the maximum amount of S energy is L energy. There is also a minimum amount of L energy that the player will start off with and the player will not be able to go below that (through use of glyphs). L energy is used for powering glyphs while S energy is used for powering the player's guns. The amount of damage done by player attacks is increased through having more L energy. S energy automatically recharges, L energy doesn't. Player weapons (unnamed in-game) - Psi sabre: used when tapping/holding an attack button and the autotargeted enemy is within a certain range. draw out of solids/dither chars so it can be aimed at any angle without wasting a heap of chars, the psi sabre will swing a 75 degree (or thereabouts) arc when tapped, which can increase to a 360 degree arc when held. Powerful, but puts you at risk of enemy attack. I think it would also be cool to have this reflect enemy projectiles but maybe not worth it. Enemies killed with this will give double L energy and also give some S energy. Enemies hit are also pushed with a small amount of force, but not enough to keep large enemies away. - Pulse rifle: used on tapping an attack button when the autotargeted enemy is too far away for a sword attack or when there is no autotargeted enemy. Uses up a small amount of S energy. It fires over a small period of time so that, providing the player taps frequently enough (maybe once per second or so), the stream of fire will continue uninterrupted. Enemies hit with this are not subject to any force by default. - Plasma cannon: used on holding an attack button when the autotargeted enemy is too far away for a sword attack or when there is no autotargeted enemy. Visibly charges as you hold it down, using up S energy in the process (and stopping S energy from recharging while it is charging up). Unleashes an area-effect blast of variable damage and force based on the weapon's power. Force: Attacks, weapons etc. can deal 'force' to an enemy, which will propel them in the opposite direction to the source of the damage based on that enemy's 'weight' variable. Bosses will be too big to throw around much but small enemies are game. If an enemy hits another enemy through this propulsion, they will deal diminished force and damage to that enemy. The player will also be subject to this, but not as much because that would make the game quite annoying. Pickups: Pickups are available in small and large variants. Small ones will be dropped randomly by enemies. Large ones will be placed in the game in limited quantities to encourage checking side paths. That said, even the small pickups will not appear in huge quantities and the majority of enemies killed will yield no pickups. - Experience (gems): Small gems give a small amount of experience. Large gems give a lot of experience (perhaps a quarter of a level, so those should not appear really early on in the game) - Soul fragments: Small souls give a small amount of L energy and S energy. Large souls give a larger amount of L energy and fill your S energy. - Health (hearts): Small hearts heal 1 HP, large hearts heal all HP. Unlike other pickups, small hearts will be placed in the game world as well as large ones. The player is automatically healed after boss fights. - Bonus (not sure about graphic. floating orb?): Only available in one scale and never dropped randomly, a set number of these would exist in the game. On grabbing one, the player is given a unique bonus out of the following: - - Sword attack instakills small enemies by launching them. They will then explode and hurt other nearby enemies. - - Charged shot attack seeks enemies. - - Length of sword is increased (and maximum range at which the sword attack is used is increased) - - Normal shot attack gains power and force (pushes enemies) Experience: Killing enemies gives experience, which gradually fills the experience bar. When it is filled, an aura blast wipes out all enemies on the screen and the player is given a choice of one of 5 upgrades. The first 5 upgrades that the player meets the prereqs of on levelup are made available. A: PlayerDef = 85% B: PlayerDmg = 120% C: PlayerRegen = 130% D: Quick E: Reflect F: PlayerCost = 90%. PREREQ: D, E, H, K or O G: PlayerHP = 6 H: Flay I: Upgrade to Quick. PREREQ: D J: Upgrade to Reflect. PREREQ: E K: Time Distortion L: PlayerDef = 70%. PREREQ: A M: PlayerDmg = 140%. PREREQ: B N: PlayerRegen = 160%. PREREQ: C O: Comet P: PlayerCost = 80%. PREREQ: F Q: PlayerHP = 7. PREREQ: G R: Upgrade to Flay. PREREQ: H S: PlayerDef = 55%. PREREQ: L T: Upgrade to Time Distortion. PREREQ: K U: PlayerDmg = 160%. PREREQ: M V: Upgrade to Comet. PREREQ: O W: PlayerRegen = 190%. PREREQ: N X: Upgrade to Quick. PREREQ: I Y: PlayerCost = 70%. PREREQ: P Z: Upgrade to Reflect. PREREQ: J AA PlayerHP = 8. PREREQ: Q AB Upgrade to Flay. PREREQ: R AC PlayerDef = 40%. PREREQ: S AD Upgrade to Time Distortion. PREREQ: T AE PlayerDmg = 180%. PREREQ: U AF Upgrade to Comet. PREREQ: V AG PlayerRegen = 220%. PREREQ: W AH PlayerCost = 60%. PREREQ: Y AI PlayerHP = 9. PREREQ: AA AJ PlayerDef = 25%. PREREQ: AC AK PlayerDmg = 200%. PREREQ: AE AL PlayerRegen = 250%. PREREQ: AG AM PlayerCost = 50%. PREREQ: AH AN PlayerHP = 10. PREREQ: AI The player will probably only gain about 20 levels over the course of the game, but 40 available abilities should be pretty safe. Glyphs: Made available as levelup bonuses, glyphs are activated by keypress and drain L energy. Q: Quick Increases the player's speed, slightly reduces the speed of enemies and projectiles, causes the player to gain momentum through movement (which, upon hitting an enemy, will be transferred in the form of force and damage) and causes bullets that hit the player to make a % check and miss if that check fails. R: Reflect raises a shield that will reflect enemy projectiles (projectiles reflected directly at firer) for a duration or until a certain number of shots have been reflected F: Flay fires a large number of fast projectiles in all directions for a short duration. Probably of similar or slightly higher power than pulse rifle shots. T: Time Distortion slows down everything but the player for a duration C: Comet fires a single, powerful projectile that explodes with an area effect of much force and damage (OLD DETAILS, CONSIDER THESE DEPRECATED)---------------------------------------- Attributes - have fixed values that can be increased through upgrades: PlayerDef - % of damage taken by player - default: 100% PlayerDmg - % of damage done by player by all attacks - default: 100% PlayerRegen - % modifier to health regeneration - default: 100% PlayerHP - number of health points (hearts) - default: 5 PlayerCost - % of glyph cost (in soul energy) - default: 100% QuickCost, ReflectCost, FlayCost, TimeCost, CometCost: Cost (in soul energy) of these glyphs QuickSpeed - player speed % with Quick QuickEvade - player evade % with Quick TimeDuration - cycles of Time Distortion TimeSlow - enemies/projectiles speed % FlayDuration - cycles of Flay FlayShots - projectiles to launch per cycle FlayShotSpeed - speed of projectiles FlayShotDmg - damage of projectiles ReflectDuration - cycles of Reflect ReflectShots - number of shots to reflect before it runs out CometSpeed - speed of comet projectile CometDmg - damage done by comet projectile CometAreaDmg - area effect damage of comet -------------------------------------------------------------------------------- Player graphic: 16 2x2 frames.