goactionadventure

command module
v0.0.0-...-a5f8f6a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2019 License: MIT Imports: 5 Imported by: 0

README

hardLizard0 Engine

The hardLizard0 engine is a tile based game engine written in golang using hajimehoshi/ebiten as a backend and an Entity-Components-Systems (ECS) framework.

This is a hardLizard Studios project. To run, execute go run *.go in the source directory.

Todo

  • Entities

    • Player - Being user controllable mob
    • Mob - Being damageable and damaging NPC.
    • NPC - Being movable, interactable sprite.
    • Cursor - For use in menus.
    • Obj (No AI) - Boxes, Chests, Question Blocks, etc.
    • Items - Usable items that are held in inventory and selected for use.
    • Map - World Map, Dungeon, etc Maps.
    • Health
    • Death
  • Components

    • Player Singleton - The player singleton will contain one off information for the player entity.
    • PVA
      • Position
      • Velocity
      • Acceleration
    • Z Position - Game world height, used to determine render order and collision information
    • Hitbox - Circular Hitboxes.
    • Health - Player/Mob/NPC health. Allows negative.
    • Collision Flag - Ture if collidable object.
    • Physics Flag - True if object is movable.
    • Projectile Flag - Moves using AI, damages on collision, despawns on collision.
    • Inventory - Flags and counters for items. Limit to player or allow NPCs to have inventory depending on game type.
    • Currency - Player only, for now. Possibly all entities depending on game type.
    • VRAM
      • Tileset
      • Sprite Sheet
  • Systems

    • Player Input
      • Movement
      • Action
      • Pause Menu
    • Update Position
    • Update Velocity
    • Update Acceleration
    • Update Z Position
    • Circle Collision Detection
      • Detection
      • Push
      • Knockback
    • Tile Floor Collision
    • Tile Wall Collision
    • Damage
    • Heal
    • Death
    • Render Loop
      • Render Map (On Grid Single Entity)
      • Render Sprites (Off Grid Entities)
    • Update Inventory
    • AI
      • A*
      • Dijkstra Map
    • Animation
      • Tiles
      • Sprites
      • Items
    • Camera
      • Follow Player
      • Scroll on Screen Boundary
      • Scroll to New Room
  • Utility

    • JSON Map Loader
    • JSON Sprite Loader
    • Randomizer
    • Timer

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL