Releases: Shoes01/ECS-Game
Release 11 -- Jobs
This release isn't quite feature complete, but there is enough of a foundation to release something, finally!
This release introduces playable classes, called Jobs. The player starts as a Soldier, and may switch to Warrior if they have stats, or Rogue if they have the skills. They may not switch to Berserker, as they aren't the correct race. Items are now tied to Jobs, as well.
Skills may also be mastered, which at the moment is only used for Job requirements.
Features
Jobs have been added to the game.
Jobs have requirements that must be met before the player may change to them.
Jobs may have a stat requirement.
Jobs may have a race requirement.
Jobs may have a skill requirement.
Items may only be equipped if the player is of the correct job.
Skills can be mastered.
Killing creatures grants Ability Points.
Known Bugs
Entities may have negative HP and still be alive.
Release 10 -- Tiles
This release will be a bit awkward, as part way through some combat and skill work I jumped into adding tiles to the game. So this contais a bit of both.
Features
Implement sprites
Support sprites being larger than font
Limited support for randomized floor and wall sprites
Experiment with some overlapping ('look' cursor)
Implement DiscoveryProcessor
This is used to control in what turn a discovery is declared
Implement camera
Support HSV colors
Using a skill consumes part of a stat
Implement CooldownProcessor
Update HUD with cooldown info
UI displays numbers to one decimal place
CombatProcessor now supports physical or magical damage types
Fixes
Fix circular import problem by improving RenderProcessor
Finagling
Improve SkillProcessor error reporting
Improve RenderProcessor readability
Improve color readability in JSON
Improve turn log readability by adding a whitespace before most recent turn
Break many features from debug mode
Release 9 -- Souls
This release sees the addition of Souls, and the rest of the player stats. When a monster is killed, they drop their soul (in a handy jar). The player may collect and consume the soul, giving a bonus or a penalty to certain stats. Typically, the net change will be additional stat points, but the player will have some control over where the trade offs happen. Souls are a 2x3 matrix and its values can be rolled left to right or flipped up and down before being consumed.
Because HP is one of the stats touched by the soul, the concept of maximum hp won't exist in this game. Having a huge amount of HP won't be helpful if you can't deal damage to any monsters. The next release should focus on combat and introduce some magic into the game (probably only through melee actions).
Features
StatsComponent now features HP, SPD, ATK, DEF, MAG and RES
These stats are displayed on the HUD
Actors now generate with a SoulComponent; a 2x3 matrix giving bonuses and penalties to the aforementioned stats
There is no max HP, as the player can choose to merge souls in a way that increases HP
Combat now uses the stats in the following way:
If the attacker's SPD is 5 more than the defender's, they will hit twice
ATK is reduced by DEF, MAG is reduced by RES
Combattans will now counter attack
More monsters are added to display SoulComponent varieties
Like-monsters are now all identical; equipment and souls don't affect stats for them
Fixes
Fixed a bug with viewing the log
Finagling
Create a CharacterSheet to view stats, accessed by 'c'
Better organize InputProcessor
ActionProcessor has been removed; all actions go directly to their processors
ModifierComponent removed; items will use the StatComponent to the same effect
Release 8 -- Queued Processors
This release should introduce nothing new, gameplay wise... except maybe bugs.
Features
Most processors use queues instead of looking for entities to process.
Release 7 -- Combat Update
This update introduces an active skill component for items.
Features
Active skills cost energy based on their JSON definition
Active skills use colors based on their JSON definition
Active skills use flags in their JSON definition
The following flags are supported: unblockable damage, blockable damage (cannot hit walls), movement, and "require space" (if a move skill uses this, the unit may be running; without it, they may be leaping)
Active skills use the message log to display information about the item and skill
Fixes
None
Finagling
CombatProcessor now supports hitting many units in one action
A few more items have been added to test the active skills
Release 6
This update mostly contains improvements to the engine.
Features
Mouse over information is provided
Movement can be done with the mouse left click (no pathfinding yet)
Implemented a GameWorld() object to hold what used to be the game entity
Events are filled and emptied, rather than added and removed
State is tracked as a stack
A look function has been added
Improve CustomWorld(): can now fetch entities containing arbitrary components from a specific location.
Bug Fixes
Entering the debug menu no longer opens the drop menu
Minor Updates
Update Readme
Release 5 -- Equipment Update
This update adds a rudimentary loot system.
Features
Create item slots
UI shows what items are equipped
Chests spawn, containing loot
Moved entity/component data to JSON
Give equipment to monsters based on: dungeon floor, item rarity, monster rarity
New messages: walking on an item, or a stack of items
Bug Fixes
Fixed bug related to dropping items
Fixed bug related to message log
Minor Updates
Updated readme
Release 4 -- Depth Update
This update added stairs that lead to additional floors.
- Added stairs
- Added a "final floor" that also spawns a boss monster. Currently that is floor 2
- Tiles containing more than one item, or an entity and an item, are highlighted
- Pressing 'm' shows the message log, and is scrollable
Other miscellaneous changes:
- Menus are now closed after loading a game
- HP is set to 500... made finding the boss monster a little easier!
Release 3 -- Beauty Update
This update focused on making things look a little better.
- Borders no longer use place holder glyphs
- Menu popup has an improved front-end and back-end
- Message log should now have a message for every action
- Colors are now managed from one file, and are using a theme