Giter Site home page Giter Site logo

jrvisuals / ld46-keepalive Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.4 MB

A repo for my Ludum Dare 46 entry "Keep Ye Alive" game which I'm keeping as open-source for both code and artwork.

License: MIT License

JavaScript 2.03% TypeScript 95.40% HTML 1.22% CSS 0.72% SCSS 0.62%
ludum-dare-46 open-source game pixijs

ld46-keepalive's Introduction

Bootstrapped with DCollage (Digital Collage Boilerplate w/ PIXIJS)

The goal of DCollage is to facilitate the creation of multi-layered, interactive, collages similar to those I created back in the days of Flash. Surprise it works for simple games too!

Ludum Dare #46 - Theme: Keep it Alive

Keep Ye Alive is a game began as a Ludum Dare compo submission. It was created alone, and from scratch (boilerplate aside) in 24 hours. The first commit and tag are the state in which the game was submitted. Future commits are my efforts to flesh it out into the game I conceptualized.

Cover Image

Concept and Mechanics

The concept is simple. It's your classic warrior versus the world side-scroller except that it isn't. The Hero fights on his own earning coin for enemies slain and taking his lumps if he doesn't land the critical hit precisely. Your role is to manage The Heroes purchasing habits in order to keep ye alive. By clicking items in Ye Shoppe, for example a health potion, you purchase it and The Hero will quaf it immediately; replenishing their hitpoints and expending coin.

The initial build only had a single red potion which cost one coin and a single enemy which was placeholder art.

Roadmap

Given the opportunity I'll keep working on this on and off until the next LD in October of 2020. These are some things I would like to add:

  • Additional shop items: other potions, weapons, armor, etc

    • Potion ideas:
      • Invisibility - enemies do not attack the hero
      • Coin magnet - all couns are automatically gatherd for X seconds
  • Real enemy artwork and enemy variety

    • slime
    • skeleton
    • giant head (final boss 1)
  • End of level SHOP/CHEST: at the end of the level, before the boss there will be

    • a SHOP which allows The Hero to purchase ONE of TWO types of items

      • give a permanent DODGE abilities ( dash, roll, jump, back-step )
      • new WEAPON ( bow, pole axe, better swort)
    • a CHEST which spawns an item that permanently buffs The Hero

      • rezilience - reduce damage taken by 1% - stacks
      • strength - increase damage done by 1% - stacks
      • health - increase max health by 1% - stacks
      • metabolizm - increase potion duration by 1% - stacks
      • luck - increase chance for gem drop (gem is worth 10 coins) - stacks
  • End of level BOSS

  • Refactor enemy manamgement system to make it more dynamic

  • Refactor Component Type definitions to use a base type and extend as needed

  • A time survived clock

  • Title and instructions

  • [ ]More music and sound

    • main theme
    • menu theme
    • longer main theme w/ melody
    • fanfare for wave complete
  • Post effects like glows and sparks

  • Additional animation frames for all the things

  • Ground block variety

    • Fix up tiling
  • Background parallax layer variety

    • updated backgrounds with perfect tiling
    • first biome backgrounds
    • second biome backgrounds
    • third biome backgrounds
  • Finish a run (sorry the princes is in another castle), get bonus/buff, next level (?)

  • Custom bitmap fonts

    • Small font (for menus and tool tips)
    • Large font (big one for time and coins)
  • Finish the first iteration of the shop

    • Fix up shop panel graphics
    • Get haste potion working
    • Tooltips for potions
  • Add a proper preloader

  • Options Panel

    • Adjust Music Volume
    • Adjust SFX Volume
    • Pause button or keyboard command
    • Other game options...
  • Balance Audio - some sounds effects are much louder than others

  • High scores

    • Online leaderboard w/ database (later)
  • Tooltips for potions

Up Next : Round of Polish / Odds and Ends

  • ** Get haste potion working -> switch this to be a coin magnet potion **
  • Tint-friendly enemy sprites (can we use a single gray sprite set and tint it to make any color cubes?)
  • add gem drop (rarely, 0 to 1 times per wave based on luck attribute)
    • make gem sprite
    • add drop mechanic and luck chance (gem is worth 10 coin)

Completed!

General Polish / Odds and Ends

  • Get all "oldschool" sprite sheets into main sprite sheet

    • Hero
    • Others?
  • Make PIXI stop updating when window is unfocused

  • REFACTOR: Use enums for particle keys (heroParticles)

  • TEMPFIX: Reset wave counter when on final wave

  • TEMPFIX: When on final wave, reduce spawn time by 250 each time you clear the final wave

  • High scores

    • Store personal best
  • Tweak Hero attack animation

    • Add a glint/shine to the sword to indicate "kill frame"
  • Dynamic coin drops

    • Enemies drop different number of coins
    • Coin drop functionality
    • Coin drop animation
    • Spinning coin animation
    • Design and add SFX for coins
  • Fix up ground tiling (more subtle variation, perfect tiling)

  • Fix Background/Sky (perfect tiling)

  • Faded effect when hero is dead (now w/ godrays)

  • Potion effects on hero

    • Hand animated effect layer / tintable swirl animation
    • Particle effect layer
    • Filters or post effects
    • Bonus: Try something with PIXI particle container
    • Bonus: Magic sound for potion
    • Bonus 2X: Get particles working for potion effects

Getting Enemy Waves Working

  • A wave system and increasing difficulty over time
    • Wave manager
    • Wave display
    • Data structure to define waves
      • Allowing for variation in enemy speed
      • Allowing for multiple enemy types within a single wave
      • Wave enemies should be weighted
    • Refactor existing enemy manager to work with wave system

Getting the Shop Working

  • Get armor potion workin
  • Have the heart be mask based rather than frames based to show 0-100 HP
  • Tweak potions so they can't be purchased until they respawn
  • Get spritesheets working
  • Add cooldown to potions
  • Add cooldown visual
  • Further refactoring of shop inventory to make it more dynamic

Libraries Used

Tools Used

  • Visual Studio Code
  • Sublime Text
  • Aesprite
  • Audacity
  • Reason

Build Scripts

  • yarn start to go into development mode with live reload
  • yarn clean to clean the /dist directory
  • yarn build to create a distributable bundle in /dist
  • yarn docs to generate markdown documentation in /docs

The Stack

  • Pixi.JS
  • TypeScript
  • Prettier
  • Rollup
  • TSDoc / TypeDoc

ld46-keepalive's People

Contributors

dependabot[bot] avatar jrod-disco avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.