Table of Contents
Forest Forever is a top-down RPG style game which integrates an inventory/crafting system, mining, and enemies to provide a full game experience for users. Through a minimalistic UI, users can collect resources and craft them into tools to advance the game. The game also implements saving to allow for games to be saved and loaded at a later point in time.
- GUI
- Save/load/pause game
- Inventory
- Crafting
- Death and respawn mechanics
- Combat w/enemies
- Collision and lighting system
- Health system w/regeneration
To locally develop and test the game, follow these steps.
This is an example of how to list things you need to use the software and how to install them.
-
Clone the repository.
git clone https://github.com/cs128-2021c/final-project-segfaultcoredumped
-
Add project on Unity Hub by clicking open and select the "final-project-segfaultcoredumped\unity-folder\project" folder.
- Entity collision
- Inventory system
- Enemies
- Health and player stats
- User interface
- Saving
- [] Multiple levels
- [] Various types of attacks
See the closed issues for a full list of proposed features/issues.
Under releases on the right within this GitHub repository, there is a build which we compiled into an executable and uploaded as a .zip file. It is recommended to use this build. To use the build v0.11, download the .zip file, unzip the file, and the executable file and game directories are all setup, ready to play!
To create a custom build of the project, open the project in the Unity editor. Then, double click the GameScene1.unity scene located in Assets>Scenes. Finally, press Control+Shift+B and then select desired build settings. For our project, we used default build settings and pressed "Build and Run".
An install of the Unity Editor (VERSION 2020.3.22f1) is required to execute the unit testing for this project. However, it should be noted that all testing scripts are available in the project folder (in \final-project-segfaultcoredumped\unity-folder\project\Assets\Scripts) and all test results are provided (in \final-project-segfaultcoredumped\unity-folder\unit-testing).
We made comprehensive unit tests for the required gameplay functions outlined in our project proposal.
Our final project implements Unity's built-in "Test Runner" to build our unit testing. Basically, Unity utilizes two types of tests: "EditMode" and "PlayMode" testing.
Each individual folder contains test results generated by our unit test code which can be located at: \final-project-segfaultcoredumped\unity-folder\project\Assets\Tests
The unit tests can be ran outside of the Unity Editor through command lines such as Command Prompt on Windows and Terminal on MacOS.
Template Command Line (Windows): [CD to where Unity.exe is located]Unity.exe -runTests -batchmode -projectPath [Project Directory] -testResults [Save Directory] -testPlatform [EditMode/PlayMode]
Template Command Line (MacOS): /Applications/Unity/Unity.app/Contents/MacOS/Unity -runTests -batchmode -projectPath [Project Directory] -testResults [Save Directory] -testPlatform [EditMode/PlayMode]
Example Command Line Used Locally: Unity.exe -runTests -batchmode -projectPath C:\Users\safeer\cs128env\src\fp\final-project-segfaultcoredumped\unity-folder\project -testResults C:\Users\safeer\cs128env\src\fp\final-project-segfaultcoredumped\unity-folder\unit-testing\edit-mode-results\results.xml -testPlatform editmode
(C:\Program Files\Unity\Hub\Editor\2020.3.22f1\Editor) is the default Windows save path
(/Applications/Unity/Unity.app/Contents/MacOS/Unity) is the default MacOS save path
The Unity.exe editor cannot be open when batchmode commandlines are called!
Be patient as the tests run. Some tests require up to 20-30 seconds minimum to execute. When using the commandline method, the only indicator that the test is done executing is when the results.xml file is updated to the chosen save directory.
Rather than running the tests through batchmode command lines, tests can be directly ran within the Unity editor. Directions: Open the project in the Unity editor, click Window>General>Test Runner.
- Safeer Ahmed
- Daniel Feng
- Carter Smith
- Ben Evanoff