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.