Releases: kimgoetzke/procedural-generation-1
Releases · kimgoetzke/procedural-generation-1
v0.4
Improved MVP web game loop:
- Improved error handling with error type (IN_GAME, GENERIC, UNHANDLED) and message
- Handle player death
- Remove ANSI escape characters from actions and interactions
- Added ability to resume an active game
- Filter out available dialogues (which are reset repeatable events) from quest log endpoint
Bugfixes:
- Fixed bug that left game in unrecoverable state when entering one-line dialogues with no actions
- Fixed bug where one-line dialogues would not reset once completed
v0.3
Added web game loop to MVP:
- Added basic Spring Security configuration
- Added a REST controller with endpoints
GET
/api/play
,POST
/api/play
, andGET
/api/play/{playerId}/quest-log
- Added
MemoryUtilisationTest
to test memory impact of loading hundreds of chunks/thousands of locations - Refactored all actions and events to make them compatible with web
- Refactored
Encounter
to storeEncounterSummaryDto
which web-calls can access and return to front-end
Bugfixes:
- Fixed bug that prevented event target NPCs to show up as a dialogue options (at least when at
MAIN_SQUARE
)
v0.2
Updated MVP (CLI game loop):
- Enabled unloading of
Chunk
incl. decoupling ofLocation
fromGraph
- Moved all game configuration from constants to a single Yaml file (
application-world.yml
) - Added
DefeatEvent
with two permutations:KILL_ALL_AT_POI
andKILL_TYPE_ANYWHERE
- Populate in-memory DB from CSV inputs on startup
- Refactored
World
(singleton) andChunk
(prototype) to be Spring beans - Set tier for every
Chunk
on generation usingTerrainGenerator
(e.g. allowing tier-appropriate content such as items atShop
s) - Added options menu and a quest log (showing
List<Event>
withEvent.State
ACTIVE
orREADY
) for player using newPrintAction
SeedBuilder
effectively now concatenates x & y coordinates when creating seed (fixing bug where seed for g(24,25) and g(25,24) and therefore generated content for chunk were the same)- Turn
FolderReader
into a singleton Spring bean to prevent scanning folders multiple times
v0.1
Created MVP with CLI game loop featuring:
World
grid with procedurally-generatedChunk
s containing playable area- Procedurally generated
Location
(Settlement
) andPointOfInterest
(Amenity
,Shop
, andDungeon
) - Procedurally generated
Inhabitant
andBasicEnemy
- Procedurally generated names (
BasicNameGenerator
) and events (BasicEventGenerator
) - Procedurally generated
EncounterSequences
in Dungeons, the difficultly of which is based on global coordinates - Various ways of ingesting content data (see
TxtReader
,YamlReader
and viaDataServices
) - Ability to gain experience, gold and purchase
Consumables
from relevant shop types (but no gain from doing the former yet)