Engines Aether Legend of the Lunar Priest NIFE Roadmap
Shatterloop Game Projects Deprecated Starwright
Saepes Mundi Other Projects Blog  

Game Projects

CD Project Checklist

Posted October 16, 2021 by Xhin

remaining tasks on this project before launch:

HARD TASKS

  • 2. make it so you can't collect the same bonus item over and over on a stage (the gems are less important). Same deal with the time bonus item. Same deal with magic items.
  • 3. Bonus warps and bonus stages should be limited by the world, not the stage. Once you go through one no more will generate in that world.

    Misc UX

  • 9. Console locations should be sorted alphabetically. Sort numerically first then join.
  • 10. Make the completion th colspan 2 for added mysteriousness as to what the symbols do.
  • 11. If you don't place in the high scores table, put you in as infinityth place :P (with the sym)
  • 12. Temp level clears (10, 99) shouldn't cause you to clear the current nat level.
  • 13. You shouldn't be able to fall onto a level exit or jump into it, it should only accept input from the left or right
  • 14. Letter levels should have certain letters that are fake (maybe 25% of them). procgen syms via levelpack.
  • 15. Dash levels should have a high bperc.
  • 16. Pack levels with nothing should say alpha or the other cyrillic symbol has the info.
  • 17. The high scores area needs to have a "replay" button and a "back home" button.
  • 18. Down not creating a gem is entirely too broken. Maybe it should reduce the chances of it to 50% instead.

    Gravity / Jump Bugs

  • Holding space while under an obstacle seems to be the best way to replicate the infinite-jump bug.

  • 1. pressing space mid-air doesn't cancel jump effects, only gravity effects (or is it vice-versa?). The glide cape has the worst variation of this.
  • 2. similarly, there's some way of making it so you can't jump anymore because something gets fucked -- you end up endlessly quasi-jumping. hard glitch to find, much less fix. Decent means of replicating it is to hold down down so ~200 gems get created, then collect a bunch, jump to the ceiling and press space repeatedly.
  • 3. Dropping stops gravity completely -- it should still trigger if you move around / remove the block below you. Maybe just remove my interval fix here and rethink it. Replicateable (esp. when walking off ledges), but hard to replicate consistently.
  • 4. It's possible to get stuck on the bottom if the thing at the top of the screen is blocking you and maybe to its east as well. Easy fix is allowing you to jump from the bottom if you can't move through it. You should also be able to dig down more.

    Other Bugs

  • 1. I think the remaining gem bug is if a gem appears where the player is. Possibly happens on level load as well.
  • 2. play it a bit and fix any remaining console warnings
  • 3. it takes a few seconds for the clock to start
  • 4. idk if this is part of the bug issue, but downgems that replace normal gems should subtract their counts too.
  • 5. You can get stuck in the bottom-right or bottom-left corner -- easy to replicate if there's a block in the top-right corner of the airy area and you create holes.
  • 6. Gravity works while you're paused.
  • 7. Bonus levels aren't rendering the player @. player.render() is needed.
  • 8. they should really drop you in the center too.
  • 9. Rstru Mohow D-1 is generating gems on the right -- it's not supposed to do that anymore
  • 10. Black levels with dark level.wall should be weighted lower than the other type always
  • 11. Lheqe Wrgwl L-10 has an L bonus warp -- this is okay! but I need to make sure you can only enter bonus warps once per stage.
  • 12. The player is invisible in Hobsyr X -- this is actually impossible to play. In such cases make the player a few color bits off like how the UI changes. Aapod L is what it should be. dftqu6868 0 is probably an easier-to-access one.
  • 13. Blank names in the high scores table (or trimmed versions of them) should be rendered as Players Like You.
  • 14. Safeify high score names.
  • 15. lpack is making you start at the wrong door.
  • 16. Fixed sym ratios for lpack/rpack aren't working right
  • 17. pack levels are saying world 0 has info even though they should have info too
  • 18. lpack and rpack should always be on a stage 6-9.
  • 19. adding a gem to a completed set lets you skip to level 6 or 10 or whatever

    Final tasks

  • 4. Digdug level type should be an actual level type: {"block_perc":5,"shape":"square","shape_amt":2}. May also be relevant: { "width":34,"height":14 } and sym of █
  • 6. High scores table needs an upgrade again because of the new items / mechanics. I think I hit 60k last time -- best to check

  • 1. add instructions to homepage
  • 2. Test to make sure collecting all items + completing all levels (including lpack and rpack) looks reasonably good in both the table and fits in the database.
  • 3. hit all TODOs and commented code
  • Definitely import hsv so I can test for low-contrast areas the true way. Also this might make the color selection better, drill-wise. Could have like tricolor stuff to beef up the graphics. Need to do this last though because a lot of the bug reports are based on the existing generation.
  • Lore/story/end goal

  • There are 5 Replies


    Controls (definitely going to forget all these)

  • Space jumps

  • While midair, press space to drop to the bottom, collecting anything along the way apparently.

  • Pressing down while midair will create a block below you. This will also add a new gem.

  • While on a solid block, pressing down will erase the block below you. This will add a new gem.

  • Pressing down on the world border will let you fall through that hole and reappear at the top of the level. This adds a new gem.

  • Pressing up will switch you with a block to your left, right or up.

  • If there's nothing up, left or right of you and you press up, your x position gets mirrored.

  • Press Escape to pause and any other valid key to unpause.

    Magic Items

    Magic items are distributed between stages 2 through 9 so they're not ever immediately visible. The one that ups the number of stages you can complete is between stages 2-5 so you might need it first before collecting certain items.

  • 1.5x to all score bonuses. (x)

  • Timer goes by 0.75 as quick (:)

  • Down doesn't create a gem (▼)

  • Stages go to 9 instead of 5. (-)

  • Starting jump height + 2 (^)

  • Fall speed is 0.7, a glide effect kinda (v)

  • Infinity symbol recovers twice as much time (Ω)

  • Music symbols give 3x as much score (♪)

  • Up-swap prioritizes stuff above you (▲)

    Consoles

    Completing a level creates a console there. Interacting with it shows valuable information.

  • On world 0 you see a list of worlds for each item. These provide hints for it.

  • On worlds that have hints, you get hints as to where they are -- if you follow all four hints you know the location of the item.

  • Worlds that don't have hints will point you back to world 0.

    This is more for my personal reference -- they're easter eggs and won't ever be in the instruction set.

    Debug Keyboard Features

  • 1-9 will load that level

  • ` will clear the level and load the console for the current world.
  • Escape will add 10 minutes to the timer
  • = will advance a level.
  • . adds lpack and rpack and rerenders the level.

    Powers

  • c_ollect -- collects items up to range 3 away.
  • d_estroy -- destroys all blocks adjacent to you.
  • r_egenerate -- recreates the level in a different way.
  • s_kip -- advances to the next level without gaining the clear bonus.
  • f_lytoggle -- toggles fly-mode. while here there's no gravity and you can use up and down to move up and down. space does nothing.
  • i_nfo -- shows console information. Might make some stages unbeatable but that's okay. Might also make them *easier* if it's just replacing blocks for example.
  • t_radetoggle -- toggles trade-mode. Press left to turn 60 seconds of time into 500 score, press right to turn 1000 score into 30 seconds of time. Less efficient than the fixture, but usable anywhere.
  • w_arptoggle -- toggles warp-mode. Press left and right to jump worlds and up and down to jump 5 at a time. Up and down get into lpack and rpack pretty handily.
  • p_alette -- changes the stage palette colors randomly. Can make formerly unplayable levels more playable or uglier levels better. This item costs no score.

  • October 16, 2021
    Xhin
    Sky's the limit

    Potion system

    Instead of powers being granted in the form of items, they should instead be potion effects. Potion effects should affect every system in the game, with the exception of gamebreaking stuff like lpack/rpack and level skipping.

    Potions are brewed up somewhere, maybe in an antechamber that also aggregates information you've collected for easy access. Maybe a menu instead.

    Brewing them requires collecting herbs, which are distributed randomly across levels (with certain levels having different distributions of them). The actual herbs have 3-4 effects, a uniform amount depending on the amount of effects and distribution of them among herbs, though distributions should actually be random so seeds play out differently.

    You should also be occasionally (and rarely) collect potions themselves in a level.

    Both collecting herbs and brewing potions takes time in a figurative sense, knocking the clock down. Herbs and potions will have different spreads of this. These amounts can be decreased via potions that target those effects.

    Potions have a duration. This is fixed across all instances and potion types. Adding more ingredients that share an effect to a potion will double the duration for each ingredient added. Potions can have an effect that increases potion duration (and this is stackable), however that particular effect is pretty rare so ramping is less likely.

    Potion effects can be stacked. Ramping is therefore a pretty viable strategy, though it may be entirely too OP depending on the end goal. Durations don't stack, only the magnitude increases and the duration is set to whatever the highest is and the timer restarts on it. So one good strategy is ramping weak-duration potions to get a high magnitude and then once drank, drinking the one with a high duration but a low magnitude.

    Potion durations are displayed at the bottom row, and the amount you can have active should be based on the space available. Or I should find some other way of displaying them easily, like a timeline that moves and effects that expire. I like this idea more.

    List of all Potion effects

    Some potions have an active effect that requires that you press the magic key to toggle or activate the ability. I'm thinking maybe enter for this, unless that's where the menu is (if there is a menu). If so, I guess the menu could be escape, or wherever the pause key is (which should be escape)

    I'm guessing if you have multiple effects that use the same key you'll have to go into the menu and select between them, or maybe there's a way of cycling.

    Sanity Update

    For the sake of sanity, there's a single potion effects timer and everything just gets stacked. So if you want to really optimize things, you wait until you have a lot of potions and/or ingredients stacked up before using them, as the same timer is used everywhere.

    Magic effects obviously overlap, so there should be some way of selecting *which* active effect you want.

    There should be some way of channeling score and/or time into potion time to extend it further. This should obviously be a kind of bleed effect but upgradeable with additional potions, which are meant to utterly break the game anyway.

    Itemlike Class

  • Score multiplier (1.2x)
  • Clock slowing (0.9x)
  • Less chance of down creating a gem, 20% cumulative
  • Jump height +1
  • Fall speed += 0.1
  • Faster jumps
  • Slower jumps (these two cancel each other out)
  • Infinity symbol bonus 1.2
  • Music symbol bonus 1.5
  • Up-swap prioritizes stuff above you

    Level Class

    These effects all regenerate the level, and:

  • Decrease/Increase the amount of gems, though this can't drop below 1.
  • Decrease/Increase the amount of blocks
  • Increase the likelihood of infinity symbols
  • Increase the likelihood of music symbols
  • Increase the likelihood of herbs
  • Increase the likelihood of bonus level warps

    Yield class

    These grant 20% bonuses to yield (basically a 20% chance of getting another of that item when collected, with amounts >= 100% giving you a guaranteed other amount, 200% gives you an extra 2, etc).

  • Gem yield
  • Down gem yield
  • Infinity symbol yield
  • Music symbol yield
  • Herb yield

    Potions class

  • Cuts herb collection time in half rounded up, minns at zero.
  • Cuts potionmamking time in half rounded up, minns at zero.
  • +10% yield on potions so you can make more than one at once if sufficiently ramped.
  • +20% chance of adding an effect to each ingredient. Stackable, and leads to interesting effects. Might even here still be too OP.
  • Increases potion duration by 1.2x
  • Increases potion magnitude by 1 with a 20% chance (stackable).

    Regeneration class

    All of these regenerate the level and also reset your progress in it. Regeneration however does not affect herbs/items/potions that have already been collected, those are lost forever in that level.

  • Regenerates the level when you press the magic key
  • Swaps the palette randomly when you press the magic key
  • Alters the width/height ratio keeping the number of blocks the same (rounded up) when you press the magic key.
  • Alters the syms used when you press the magic key (particularly useful for lpack/rpack).
  • Moves gems and items and warps around but keeps the level the same. Seems like it could be pretty broken.

    Stickiness class

  • Stick to blocks to either side, stopping gravity. Allows you to wall climb.
  • Stick to blocks above you. Same deal here.
  • Pressing the magic key toggles grapple mode, and pressing up left or right will grapple to a block within range and stick you there. Starts at 2.
  • Pressing the magic key toggles phase mode, and pressing up left or right will phase you through blocks drillr-style within range. Starts at 2.
  • A potion effect that increases the range of both grappling and phasing. Your "sticky reach".

    Destruction class

  • When "breaker mode" is on, falling onto a block from a distance of more than 1 or jumping into a block will break it.
  • stairstep gapskip infoscans
  • anything in the p_ost above that I missed.

  • December 6, 2023
    Xhin
    Sky's the limit

    Noticed bugs (work back into main buglist)

  • "mazes" : clues are wrong (it's saying 7-7 and it's actually 7-2)
  • "mazes" x clue for B doesn't exist

  • Clues should be numeric/alphabetical order. The world 0 ones in "mazes" aren't right, though idk about the world-specific clues.

  • rpack starts off with you by the wrong door, possibly lpack too.

  • if you spawn on top of a gem when starting a level you can't complete it and have to exit/re-enter -- it should instead make you auto collect it or move it or something.

  • December 11, 2023
    Xhin
    Sky's the limit

    lpack/rpack stuff and game goal

    The overall game goal is getting some arbitrarily high game score (10,000,000? 1,000,000?) -- this requires unlocking rpack/lpack (for the higher scores) and using potions most likely. As well as having good control over the time so the clock doesn't stop.

  • Rpack and Lpack shouldn't have level limits. It doesn't make sense to actually do anything in these levels as that game mechanic has already been explored. Instead, the goal is very definitely mapping out the seed so you can control the clock most effectively from the outset and then maximizing your score -- which was the original point of this game anyway!

  • It makes the most sense to just set that score limit as a goal in the introductory text.

  • February 29, 2024
    Xhin
    Sky's the limit

    Potions Simpgrade

  • Potion effects are permanent, customizable in the menu, and stack. So for example the fall speed effect can be tweaked according to the amounts you have unlocked. This will definitely min and max somewhere.

  • Items no longer do anything, they now instead unlock "schools" of magic, which are required to brew up potions in those particular areas. The exception are lpack and rpack.

  • Effects that those items once did are now potion effects.

  • Regenerative abilities give you a fixed amount per level and the generation is also procgen fixed (though granted this changes as your abilities increase).

  • Anything else that's sufficiently broken will cost you time to use.

  • Potion brewing also costs time.

  • Herb transmutation should be a thing, and a fixed amount based on your upgrade, like maybe a red->blue effect would turn red herbs into blue herbs once per level.

    Like Caverlasting v3, the ultimate goal is to explore and map out a seed to enable the endgame.

  • June 5, 2024
    Xhin
    Sky's the limit

    Reply to: CD Project Checklist

    Username
    Password