From e34a7f92615e29bdb84f6f4c5cba6618b3b0ae0d Mon Sep 17 00:00:00 2001 From: Srikavin Ramkumar Date: Fri, 10 Jan 2020 02:16:10 -0500 Subject: [PATCH] Add README html files --- README.html | 4872 +++++++++++++++++++++++++++++++++++++++++ technical_readme.html | 4781 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 9653 insertions(+) create mode 100644 README.html create mode 100644 technical_readme.html diff --git a/README.html b/README.html new file mode 100644 index 0000000..70fecc1 --- /dev/null +++ b/README.html @@ -0,0 +1,4872 @@ + + + + + The Quest for Success.md + + + +

The Quest for Success

+

Gameplay

+

The Quest for Success was designed from the + ground up to be an intuitive and fun experience.

+

Topic Correlation

+

This game is based around the adventure of an FBLA + member on his journey to complete all the requirements of the business
+ achievement award. Splitting education, progress, and service into each of their own mini-games for each tier of the + award.
+ This allows the player to understand the basic requirements of each tier by interacting directly with the + objectives.

+

A scoreboard is available, and the score is visible at + all times during the game. Interactive hotkeys will be shown on
+ the screen when needed. The game can be played multiple times to discover multiple endings.

+

Features

+ +

Controls

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeKey
Move LeftLeft Arrow
Move UpUp Arrow
Move DownDown Arrow
Move RightRight Arrow
UseE
Quit GameEscape
+

Run Instructions

+

Launch quest.exe in the game directory.

+

Development + Instructions

+

For more technical information, read technical_readme.html. + Also view javadocs (kDocs) in the
+ javadoc folder. Code is commented and should be fairly easy to understand. Advanced game rules are also + featured
+ within the source code.

+

Running a + Development Copy

+
    +
  1. Open the src directory with an editor + of your choice +
  2. +
  3. Make changes
  4. +
  5. Run gradle desktop:run to compile and + run the updated game +
  6. +
  7. View the license
  8. +
+

Editing Maps

+
    +
  1. Install Tiled
  2. +
  3. Open a map in core/assets/assets/maps + with Tiled +
  4. +
  5. Make changes to the map
  6. +
  7. Save the map
  8. +
  9. Run it following the instructions above
  10. +
+

Technologies Used

+ +

Dependencies Used

+ +

Screenshots

+


+
+
+
+
+
+

+ + + \ No newline at end of file diff --git a/technical_readme.html b/technical_readme.html new file mode 100644 index 0000000..1c45041 --- /dev/null +++ b/technical_readme.html @@ -0,0 +1,4781 @@ + + + + + The Quest for Success.md + + + +

The + Quest for Success - Technical Description

+

Architecture

+

The game uses libgdx with Artemis-ODB to facilitate a entity-component-system + architecture.
+ This type of game architecture avoids object-oriented composition within entities–rather, it uses a + composition-oriented
+ approach to add behavior to entities. This avoids illogical composition hierarchies while keeping entity + behavior
+ separated from entity data.

+

Entities only contain references to components. + Components are solely “bags” of data such as position or sprites.
+ Systems operate on groups of entities with specific components. For example, PhysicsSystem only acts on
+ entities with both PhysicsBody and Transform components.

+

By using libgdx, this game can be easily ported to + other platforms including iOS, Android, and the web–it’s only a
+ matter of reconfiguring the control scheme.

+

Map System

+

Maps are stored in the layered TILE format. The maps + and their associated assets are loaded. Tiled Maps may contain any
+ of the following layers:

+ +

UI System

+

The user interface of the game utilizes Scene2D. All + interfaces are defined in code. Styling (called skins) are loaded
+ from the assets folder during start up.

+

Animations

+

Animations are made within Asesprite, and are exported + into a JSON format, which is then parsed to load animations from
+ a spritesheet. This along with Asesprite automation allowed for faster prototyping.

+

Minigame System

+

The minigame system was designed to be extensible. New + minigames are just a matter of extending the Minigame abstract
+ class and implementing the required methods.

+

Dialogue minigames are entirely scripted. They were + implemented entirely separate of the game before being included. This
+ was possible due to the use of Kotlin blocking coroutines to create an seamless API surface to use. Dialogue + coroutines
+ are run in a coroutine and communicate through a series of Packets with the main thread.

+ + + \ No newline at end of file