From ee6938d9a5f2b7e1f2ffbed1d182efdc39472b41 Mon Sep 17 00:00:00 2001 From: Sky Johnson Date: Tue, 2 Jul 2024 12:40:18 -0500 Subject: [PATCH] Move help pages, change to guides --- .gitignore | 3 +- CHANGELOG.md | 7 + public/css/dragon.css | 5 + public/guide/index.php | 22 ++ server/database/dragon.db-shm | Bin 32768 -> 0 bytes server/database/dragon.db-wal | Bin 185432 -> 0 bytes .../templates/guide/classes.php | 0 .../templates/guide/items.php | 83 +------- server/templates/guide/layout.php | 25 +++ server/templates/guide/main.php | 194 ++++++++++++++++++ .../templates/guide/monsters.php | 0 .../templates/guide/spells.php | 0 12 files changed, 262 insertions(+), 77 deletions(-) create mode 100644 public/guide/index.php delete mode 100644 server/database/dragon.db-shm delete mode 100644 server/database/dragon.db-wal rename help_levels.php => server/templates/guide/classes.php (100%) rename help_items.php => server/templates/guide/items.php (77%) create mode 100644 server/templates/guide/layout.php create mode 100644 server/templates/guide/main.php rename help_monsters.php => server/templates/guide/monsters.php (100%) rename help_spells.php => server/templates/guide/spells.php (100%) diff --git a/.gitignore b/.gitignore index d273e27..24cee78 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -server/database/dragon.db \ No newline at end of file +server/database/dragon.db +server/.installed \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index f9dbcc1..435c2d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ The Update has not been merged into `master` yet, but it will be. In the meantim - New database wrapper! Allows easy access to the database, which itself has been changed (see changed notes). Can CRUD with a simple interface. - 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 @@ -18,3 +19,9 @@ The Update has not been merged into `master` yet, but it will be. In the meantim - 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". + +### 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. \ No newline at end of file diff --git a/public/css/dragon.css b/public/css/dragon.css index 892c043..fe19365 100644 --- a/public/css/dragon.css +++ b/public/css/dragon.css @@ -36,4 +36,9 @@ body { .mb-2 { margin-bottom: 2rem; +} + +.my-2 { + margin-top: 2rem; + margin-bottom: 2rem; } \ No newline at end of file diff --git a/public/guide/index.php b/public/guide/index.php new file mode 100644 index 0000000..9ef6082 --- /dev/null +++ b/public/guide/index.php @@ -0,0 +1,22 @@ +table('control')->select(); + +const GUIDES = ['main', 'items', 'monsters', 'spells', 'classes']; +$guide = isset($_GET['guide']) ? $_GET['guide'] : 'main'; + +const TITLES = [ + 'main' => 'Main', + 'items' => 'Items & Drops', + 'monsters' => 'Monsters', + 'spells' => 'Spells', + 'classes' => 'Classes' +]; + +echo render('/guide/layout', ['guide' => $guide, 'db' => $db, 'control' => $control, 'title' => TITLES[$guide]]); \ No newline at end of file diff --git a/server/database/dragon.db-shm b/server/database/dragon.db-shm deleted file mode 100644 index a9352cbc4a7d6e25b7418d072ceef09178baa9dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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 diff --git a/help_levels.php b/server/templates/guide/classes.php similarity index 100% rename from help_levels.php rename to server/templates/guide/classes.php diff --git a/help_items.php b/server/templates/guide/items.php similarity index 77% rename from help_items.php rename to server/templates/guide/items.php index 1dac7eb..029a777 100644 --- a/help_items.php +++ b/server/templates/guide/items.php @@ -1,79 +1,10 @@ - - - - - -<? echo $controlrow["gamename"]; ?> Help - - - - -

Help: Items & Drops

-[ Return to Help | Return to the game ] - -


+ + + + + + +
Type Name Cost Attribute Special
diff --git a/server/templates/guide/layout.php b/server/templates/guide/layout.php new file mode 100644 index 0000000..449f611 --- /dev/null +++ b/server/templates/guide/layout.php @@ -0,0 +1,25 @@ + + + + + + <?= $title ?> | Guide + + + + +
+

Guide

+ +

+ [ Return to Help | Return to the game ] + + [ Return to the game ] + + +
+ + +
+ + \ No newline at end of file diff --git a/server/templates/guide/main.php b/server/templates/guide/main.php new file mode 100644 index 0000000..ee3fae3 --- /dev/null +++ b/server/templates/guide/main.php @@ -0,0 +1,194 @@ +

+

Table of Contents

+ +

+ +
+ + +

Introduction

+ +

+ Firstly, I'd like to say thank you for playing my game. The Dragon Knight game engine is the result of several months of + planning, coding and testing. The original idea was to create a web-based tribute to the NES game, Dragon + Warrior. In its current iteration, only the underlying fighting system really resembles that game, as almost + everything else in DK has been made bigger and better. But you should still recognize bits and pieces as stemming + from Dragon Warrior and other RPGs of old. +

+ +

+ This is the first game I've ever written, and it has definitely been a positive experience. It got difficult at + times, admittedly, but it was still a lot of fun to write, and even more fun to play. And I hope to use this + experience so that if I ever want to create another game it will be even better than this one. +

+ +

+ If you are a site administrator, and would like to install a copy of DK on your own server, you may visit the + development site for Dragon Knight. This page + includes the downloadable game souce code, as well as some other resources that developers and administrators may + find valuable. +

+ +

+ Once again, thanks for playing!

+ Jamin Seven
+ Dragon Knight creator
+ My Homepage
+ Dragon Knight Homepage

+

+ +[ Top ] + +
+ +

Playing The Game: In Town

+When you begin a new game, the first thing you see is the Town screen. Towns serve four primary functions: healing, buying items, +buying maps, and displaying game information.

+To heal yourself, click the "Rest at the Inn" link at the top of the town screen. Each town's Inn has a different price - some towns +are cheap, others are expensive. No matter what town you're in, the Inns always serve the same function: they restore your current +hit points, magic points, and travel points to their maximum amounts. Out in the field, you are free to use healing spells to restore +your hit points, but when you run low on magic points, the only way to restore them is at an Inn.

+Buying weapons and armor is accomplished through the appropriately-named "Buy Weapons/Armor" link. Not every item is available in +every town, so in order to get the most powerful items, you'll need to explore some of the outer towns. Once you've clicked the link, +you are presented with a list of items available in this town's store. To the left of each item is an icon that represents its type: +weapon, armor or shield. The amount of attack/defense power, as well as the item's price, are displayed to the right of the item name. +You'll notice that some items have a red asterisk (*) next to their names. These are items that come +with special attributes that modify other parts of your character profile. See the Items & Drops table at the bottom of this page for +more information about special items.

+Maps are the third function in towns. Buying a map to a town places the town in your Travel To box in the left status panel. Once +you've purchased a town's map, you can click its name from your Travel To box and you will jump to that town. Travelling this way +costs travel points, though, and you'll only be able to visit towns if you have enough travel points.

+The final function in towns is displaying game information and statistics. This includes the latest news post made by the game +administrator, a list of players who have been online recently, and the Babble Box.

+[ Top ] + +
+ +

Playing The Game: Exploring & Fighting

+Once you're done in town, you are free to start exploring the world. Use the compass buttons on the left status panel to move around. +The game world is basically a big square, divided into four quadrants. Each quadrant is spaces +square. The first town is usually located at (0N,0E). Click the North button from the first town, and now you'll be at (1N,0E). +Likewise, if you now click the West button, you'll be at (1N,1W). Monster levels increase with every 5 spaces you move outward +from (0N,0E).

+While you're exploring, you will occasionally run into monsters. As in pretty much any other RPG game, you and the monster take turns +hitting each other in an attempt to reduce each other's hit points to zero. Once you run into a monster, the Exploring screen changes +to the Fighting screen.

+When a fight begins, you'll see the monster's name and hit points, and the game will ask you for your first command. You then get to +pick whether you want to fight, use a spell, or run away. Note, though, that sometimes the monster has the chance to hit you +first.

+The Fight button is pretty straightforward: you attack the monster, and the amount of damage dealt is based on your attack power and +the monster's armor. On top of that, there are two other things that can happen: an Excellent Hit, which doubles your total attack +damage; and a monster dodge, which results in you doing no damage to the monster.

+The Spell button allows you to pick an available spell and cast it. See the Spells list at the bottom of this page for more information +about spells.

+Finally, there is the Run button, which lets you run away from a fight if the monster is too powerful. Be warned, though: it is +possible for the monster to block you from running and attack you. So if your hit points are low, you may fare better by staying +around monsters that you know can't do much damage to you.

+Once you've had your turn, the monster also gets his turn. It is also possible for you to dodge the monster's attack and take no +damage.

+The end result of a fight is either you or the monster being knocked down to zero hit points. If you win, the monster dies and will +give you a certain amount of experience and gold. There is also a chance that the monster will drop an item, which you can put into +one of the three inventory slots to give you extra points in your character profile. If you lose and die, half of your gold is taken +away - however, you are given back a few hit points to help you make it back to town (for example, if you don't have enough gold to +pay for an Inn, and need to kill a couple low-level monsters to get the money).

+When the fight is over, you can continue exploring until you find another monster to beat into submission.

+[ Top ] + +
+ +

Playing The Game: Status Panels

+There are two status panels on the game screen: left and right.

+The left panel inclues your current location and play status (In Town, Exploring, Fighting), compass buttons for movement, and the +Travel To list for jumping between towns. At the bottom of the left panel is also a list of game functions.

+The right panel displays some character statistics, your inventory, and quick spells.

+The Character section shows the most important character statistics. It also displays the status bars for your current hit points, +magic points and travel points. These status bars are colored either green, yellow or red depending on your current amount of each +stat. There is also a link to pop up your list of extended statistics, which shows more detailed character information.

+The Fast Spells section lists any Heal spells you've learned. You may use these links any time you are in town or exploring to cast +the heal spell. These may not be used during fights, however - you have to use the Spells box on the fight screen for that. +[ Top ] + +
+ +

Spoilers: Items & Drops

+Click here for the Items & Drops spoiler page.

+[ Top ] + +
+ +

Spoilers: Monsters

+Click here for the Monsters spoiler page.

+[ Top ] + +
+ +

Spoilers: Spells

+Click here for the Spells spoiler page.

+[ Top ] + +
+ +

Spoilers: Levels

+Click here for the Levels spoiler page.

+[ Top ] + +
+ +

Credits

+
    +
  • All program code and stock graphics for the game were created by Jamin Seven.

    +
  • Major props go to a few people on the PHP manual site, for help with various chunks of code. The specific people are listed in the source code.

    +
  • Super monkey love goes to Enix and the developers of Dragon Warrior. If it weren't for you guys, my game never would have been made.

    +
  • Mega props go to Dalez from GameFAQs for his DW3 experience chart, which was where I got my experience levels from.

    +
  • Mad crazy ninja love goes to the following people for help and support throughout the development process:

    +Ideas: (whether they got used or not) +
      +
    • kushet +
    • lghtning +
    • Ebolamonkey3000 +
    • Crimson Scythe +
    • SilDeath +

    +Beta Testing: (forums name if applicable, character name otherwise) +
      +
    • Ebolamonkey3000 +
    • lisi +
    • Junglist +
    • Crimson Scythe +
    • Sk8erpunk69 +
    • lghtning +
    • kushet +
    • SilDeath +
    • lowrider4life +
    • dubiin +
    • Sam Wise The Great +

    +
  • Apologies and lots of happy naked love to anyone I forgot.

    +
  • And of course, thanks to you for playing my game!

    +
  • NINJA! +
+[ Top ] + +
+ +Please visit the following sites for more information:
+Se7enet (Jamin's homepage)
+Dragon Knight (official DK homepage)
+Forums (official DK forums)

+All original coding and graphics for the Dragon Knight game engine are © 2003-2005 by Jamin Seven.

+[ Top ] +

+ +
+
+ \ No newline at end of file diff --git a/help_monsters.php b/server/templates/guide/monsters.php similarity index 100% rename from help_monsters.php rename to server/templates/guide/monsters.php diff --git a/help_spells.php b/server/templates/guide/spells.php similarity index 100% rename from help_spells.php rename to server/templates/guide/spells.php
Items
Powered by Dragon Knight© 2003-2006 by renderse7en