28 lines
2.8 KiB
Markdown
28 lines
2.8 KiB
Markdown
# Changelog
|
|
|
|
This log contains all the notable changes to the codebase as they are done. This is done for historical and reference purposes.
|
|
|
|
## Update
|
|
|
|
The Update has not been merged into `master` yet, but it will be. In the meantime, `old` will remain an untouched archive of DK as it was left by Jamin. These are the documented changes to DK for "The Update"!
|
|
|
|
### Added
|
|
|
|
- ~~New database wrapper! Allows easy access to the database, which itself has been changed (see changed notes). Can CRUD with a simple interface.~~ The wrapper has been dropped in favor of a leaner light debug-focused wrapper for PDO.
|
|
- New render method! Uses an output buffer and `extract()` to safely render templates and allows us to use pure PHP for templating... which we *were* doing before, but now it's even better!
|
|
- New background image; this one is small, but the old garrish yellow background has been replaced with a smooth white/gray background. The plan is to add a theme toggle later to use the retro look on demand.
|
|
- Status points; to give the player more build agency, status points will be given per level-up. The number of points can be changed in the overall game settings.
|
|
|
|
### Changed
|
|
|
|
- The directory structure has been updated; public-facing assets and pages are now in `public/`. Pages, like install, fight, help, etc, now use a form of file-based routing. CSS and images are also in this folder. All server code has been moved to `server/` where it is safe and unviewable on a properly configured web server.
|
|
- We're no longer using MySQL as the database! This was done for ease of install and operation; SQLite is plenty performant for Dragon Knight and makes it trivial to spin up new instances. The database is contained in `server/database/` as the file `dragon.db`. WAL mode is enabled, so you may see a couple extra files but this is expected.
|
|
- `lib.php` renamed to `server/library.php`
|
|
- The installer has been totally rewritten using the new database wrapper and a handful of new library functions.
|
|
- Classes have been totally reworked! Prior, they were hard-coded into the game's overall settings. This made them highly inflexible and allowed only three classes which all needed their own level rows to define. This sucked! Now, classes are their own rows in the `classes` table, with starting stats and stat growth per-level. They also now have a special syntax in the `spells` field to detail at what level what spells the player gets.
|
|
- The help pages have been moved to the new structure and have been renamed to "Guide".
|
|
- Items now use a new special syntax similar to class spells to have multiple attributes; no more limits!
|
|
|
|
### Removed
|
|
|
|
- Difficulty levels; as this is an always-online game with other players, differences in difficulty at a base game level didn't make sense. While a cool feature, I don't think it's truly necessary and would be better used in an instance-by-instance basis. |