Engines NIFE Roadmap Shatterloop Game Projects
Deprecated Saepes Mundi Other Projects Blog

Game Projects

Caverlasting v2

Posted February 21, 2024 by Xhin



There are 3 Replies


Basic Stuff

  • Similar to the other project, but very very simplified, loses the mmo aspects and also gains some fairly strict roguelike aspects. Imports aspects from Wanderer as well.

  • The engine generates a series of procgen cave-themed mazes. These are always solvable with keys/switches/whatever and lead eventually to the next cave network. Along the way there are additional branches which contain treasure and/or danger.

  • Dangers and enemies do damage, which Food recovers. If you run out of health you die completely, much like other roguelikes.

  • All items are consumable or have durability and eventually break with the exception of Artifacts. Items are craftable or can also be found.

  • You have a Magic Backpack, which starting out lets you carry more items than would normally be possible (but with limits). Over time you can upgrade it into more of a portable house with the rare item category Gems.

  • Artifacts do various small magic-like things. You find them after beating a cave section, and get to choose between several of them. You get to see what they do before choosing. Artifacts can also be broken, which releases their gems for use on the magic backpack. This may however also release a curse, which is a negative enchantment that lasts for a while.

  • Your two main sources of resources are rock outcrops and pools. The first you use mattocks on if they match or exceed the outcrop's hardness, revealing the minerals within. Pools require fishing -- fishing rods have durability. Given this, no bait is required.

  • Resources follow a shatterloopian terco/property system, indicated by flavor text. The differences here vary by seed/playthrough, maintaining the roguelike aspect.

  • February 21, 2024
    Xhin
    Sky's the limit

    Resource Collection

    Resource collection comes in 3 main forms:

  • Outcrops -- Each "node" of a maze has a rock outcrop from which metal and rocks can be pulled.

  • Fishing -- Fishing can be done at streams and pools.

  • Combat -- creatures defeated in combat can drop resources.

  • February 25, 2024
    Xhin
    Sky's the limit

    Maze Lock Checklist

  • Make the object.

  • Have an internal .doors[]

  • A function .choose(index) will return an index in the paths, appending the other indexes to .doors[]. If there are no paths, it'll instead return 'room'.

  • maze_lock.gen() should start at '', and then recursively comb the tree via .choose(), until it achieves 'room'.

  • At this point, assign key: X to that particular node.

  • Pick a door from .doors, and pop the index off. Assign the key designation to that index. Then increment the key designation.

  • Run the tree/key/door function again, starting from the door that was picked.

  • While this whole thing should exist in a while function, the limiter should be the number of nodes to prevent errors -- this isn't precise either, but it's a decent upper bound.

    Testing

  • Implement keys and doors into the tester, just their display first.

  • Keys are stored internally and there's a way of picking them up and you can only pick them up once.

  • Doors require the appropriate key.

  • A room that doesn't have a key should say "YOU WIN".

  • February 25, 2024
    Xhin
    Sky's the limit

    Reply to: Caverlasting v2

    Username
    Password