devlog - 2022-06-11 - v0.2.6


Todo

โœ… โš ๐ŸŸก

Add

  • Casino

    • 60T
      • sound effects
        • UI for wager
        • victory
        • โœ…~~pull stop
        • roll button
        • ui hover
      • test controller support
      • implement key press / controller only ui functions
    • CASNO
      • implement mouse click events
      • ui sounds for mous clicks
    • Sweet Hand Jack
      • walking
        • control nodes
          • find nearest point
          • set goal as random non-nav control point
          • walk / nav point
            • when arrive, pathfind next point to goal
          • leaning point
          • sitting point
          • door point
      • interaction
        • dialogue
        • trigger for card game
    • The Prize Corner
      • โœ…~~granite counter top with little door
      • โœ…~~prize clerk npc
      • prizes
        • interactable over mesh of prize object
        • checks if chips are sufficient then instantiates item and adds it to player inventory.
    • Secret guy
      • trades chips for tips on how to beat jack at Road
    • Jack's office
      • door in the back that leads to a dark office
      • desk, chair, computer monitors, iconography of gymkhana
      • notes from Patches
      • only unlocks after you beat Jack at Road
    • Gambler NPCs
      • at least two horses sitting at the slot machines that complain about never winning
    • BlackJack table
      • at least one npc playing
      • Blackjack game
  • Settings

    • save settings to json
    • load settings from settings.json whenever game starts
    • slider for "Ambiance" volume
  • โœ…~~readable books -โœ… ~~item with option "read"

    • โœ…~~read creates book ui which grabs the "pages" array stored in the book item
    • โœ…~~reading ui presents pages ui
      • โœ…~~if pages is just text array, then present text on default pages texture
    • โš  \n does not work for exported strings. because strings representing each page are entered into the inspector for each book, this means its impossible to use special string formatting for text. its also a cumbersome way to enter strings in -โœ…~~recommend switching to a system that reads books from book database json instead
  • Fishing Minigames

    • โœ…~~pregame alert animation
    • โœ… ~~Move your mouse in a circle to reel in
    • Intense metaphorical interrogation scene
    • reCaptcha image selection
    • Galaga fisher
      1. its like galaga, but you play as the fish at first, and the enemies are hooks, bait, etc.
      2. the big hook has the tractor beam to "hook the fish" like the tractor beam capture in galaga
      3. if you get captured as the fish, then your fishing rod comes out, and you have to "reel in the fish" by shooting down the hook, but not the captured fish, like getting the double ship in galaga
      4. if you destroy all the hooks as fish, then the fish gets away
    • Pinball
      • the fish is the ball
        • fishLevel makes the ball heavier and increases point requirment
      • your rod level makes the paddles bigger and increases their velocity
      • if the fish falls through, you lose the ball and the fish escapes
      • once you meet the point requirment, your hooks extend beneath the paddles, and the fish will be caught if it falls through
    • ๐ŸŸก turn based JRPG battle between the fish and your tackle
      • Actions:
        • Defend (DEF)
          • immediately enters DEF state instead of queues, allowing that npc to take half damage, with a chance to block attacks for other. each blocked attack adds 1 SPX point.
        • Special (SPX) requires level 4 rod
          • special moves. consumes all special points to do a special move.
            • special moves
              • Hooksan : Tsunami of Snares
                • double damage hit with increased hit chance
              • Bobbler: Mickry Wave
                • reduces hit chance of enemy, moves escape meter 15% to the right and does a normal hit
              • Fish: Breach of Salmon
                • double damage hit with 10% chance to inflict rod power penalty
            • point cost is 11 reduced by level
        • โœ…~~Pass (PAS)
          • โœ…~~skip turn, but timer fills faster on next turn and gains 2 SPX points
      • sound effects
        • UI
          • selecting party highlight
          • open action panel
          • action highlight
          • action selection & panel close
        • animations
          • Bobbler
          • Hooksan
          • Fish
        • miss sfx
        • hit sfx
      • effects
        • dust particles when moving
        • hit particles
        • camera shake on hit
      • Fish
        • โœ…~~timer
        • โœ…~~actions
      • โœ…~~HP tracking
      • Success / Failure
        • if you kill the fish by reducing its HP to zero, you succeed
        • if the fish is able to kill all of your tackle, then the fish escapes
        • โœ…~~each missed hit, the fish escapes a little bit
        • โœ…~~each hit the fish lands it escapes a little bit, which doubles once one tackle is dead
        • progressive escape bar: all the way left, fish escapes, all the way right fish caught
      • Controller support
      • โœ…~~Actions work on queue
    • Tearful casa Blanca ending scene been two fish while the player completes a QTE commentated by the Wii sports announcer
    • โœ…~~guitar hero but it's all just wet fish slap noises
  • Journal / Questlog
    • โœ…~~journal can be accessed and read with [J]
    • โœ…~~journal data is persistent
    • โœ…~~talking to NPC emits signal to update questlog
    • โœ… questlog {questID : int (questState)}
    • finish writing questlogs for current quests
    • โœ… ~~build completed quest journal
    • make journal UI indicators
      • hover prompt for journal select sidebar
      • currently active journal display bar
  • charming

    • if pep is too low, it is impossible to charm a horse
    • so how do you get a horse that is really pissed off to calm down enough to talk to you?
      • give it
        • hay,
        • โœ…~~or an apple ,
        • or a carrot
  • Horses

    • Commands

      • โœ…~~the Command spell will give a command to the horses in your party
      • โœ…~~by default, left cast will give the command to the first horse in your party not currently parsing a command,
      • right cast will give the command to every horse in your party. you can use num / d-pad to select a specific horse in your party to command
      • โœ…~~the horse will move to the node after recieving a command. depending on the target, the horse will act in a number of different ways

        • โœ…~~items:

          • โœ…~~horse will pick up the item
        • โœ…~~interactable:

          • โœ…~~horse will interact if able (no item / mechanism / operant requirements)
        • NPC
          • โœ…~~horse will attack
            • โœ…~~there is a damageable node which keeps track of HP and interacts with hitboxes, and is used for managing entities which can recieve damage and be killed
            • โœ…~~ai needs to beeline towards a target, until its close enough
            • โœ… ~~then strafe in a circle around the target
              • โœ…~~avoiding obstacles and other npcs
            • โœ…~~and every once and a while, charge in for an attack
    • Bloodlust

      • timer ticks up, slowly increasing the weight of bloodlust as a charm
      • the bloodlust charm will set a horse wild, and it will attack the nearest NPC, assessing level, stats and aggro somewhat
    • Hunger / greed -
  • ~~Apple Trees

    • ~~spawns 1-3 apples every couple hourse. grows from sappling to maturity after like, 96 hours
  • Weather

    • weather controller
      • ~~snow
      • rain
    • ~~proximity reporting
  • Bestiary / Lexicon

    • Horse Breeds
    • Fish
    • ~~Paintings

Change / Update

  • Settings
    • settings menu should write to json whenever you make a change, then alert the group SettingsDependant to call their update_settings() method which grabs the json file, reads whatever relevant data that node needs

Fixes

  • Player Knockback does not run state
  • Audio Issues

    • ambiance and loops fade in and out weird
    • ambiance would make more sence if it were based on area, use 3d audio nodes instead of timers and global audio, it just makes things weird and uneccessarily complex and not work correctly
    • opening menus that lower volume (I.E. spell menu) resets audio level to full regardless of fade and audio settings. update menus and dialogic to reset to current fade amount instead of fixed value
      • or alternatevly, write method in manager that restores volume by considering settings and current fade amount and call that instead of resetting manually
    • โœ…~~Footsteps sound effects play infinitely fast when running up against a wall with a different sound profile than the ground beneath it
  • โœ…~~FishHero collisions not working when instanced in world

  • โœ…~~cannot use equipped item when retrieved from party member's inventory
  • quest journal has issues selecting menu items with controller
  • โœ…~~horse Trainer value is reference to node. needs to use ID system to be persistent across sessions
  • โœ…~~load game does not load items correctly
  • โœ…~~fixed queslog hover prompt ui not working
  • set chesterfield breed to be correct breed
  • Saving & Loading

    • โœ…~~Items saved in inventories will sometimes load into the scene without being removed. however, adding code to remove them when they're loaded can cause some things to break, like items being removed from npc inventories -โœ… ~~horse relationship manager
      • ~~horse relmanager stores relationships as dictionary with keys being references to node and an int representing the relationship
      • ~~likely, these do not get saved / loaded in a usable way

Refactors

  • โœ…~~Sun
    • ~~Change sun to only increment time, since global illumination is not used, its doing extra calculations that are not necessary or used at all by the game, visually.
  • Lighting Issues

    • lighting transitions set global lighting, which is the same as the natural lighting affected by day/night cycle.
      • instead, we need another layer of abstraction in the sky controller that keeps a buffer for transition and natural lighting
      • the transitions based on the sun should be stored in the naturalLighting buffer while transitions for entering specific areas such as building interiors should store their information in a transitionBuffer
      • the method can take in a value to determine which buffer we are setting with the method call, but this method just stores the relevant information into the specified buffer, it doesn't transition between the buffers for the actual lighting.
      • instead we can have a transition_lighting(buffer) that handles the apparent transition and updates which buffer is currently active
        • an example would like like this:
          • enter a building
          • update the transition buffer to the interior lighting
          • set the active buffer to transition
          • meanwhile, the day night cycle will continue to update the natural buffer, but wont transition to it. the skybox will however continue to update
          • exit the building
          • we don't update the lighting in any buffers when exiting the building. we just set the active buffer back to natural and the manager handles the transition.

Files

horse-game-2-demo-win.zip 1 GB
Version 7 Nov 07, 2022

Get Horse Game 2 - Early Access Demo

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.