Skip to content

My fork of our CS 128 final project, Forest Forever: a 2D video game

Notifications You must be signed in to change notification settings

benevanoff/ForestForever

Repository files navigation


Logo

Forest Forever

Group: SegFaultCoreDumped
Release Binaries »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Features
  3. Getting Started
  4. Usage
  5. Roadmap
  6. Build Creation
  7. Unit Testing
  8. Contributors

About The Project

Screenshot

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.

(back to top)

Built With

(back to top)

Features

  • GUI
    • Save/load/pause game
    • Inventory
    • Crafting
  • Death and respawn mechanics
    • Combat w/enemies
  • Collision and lighting system
  • Health system w/regeneration

(back to top)

Getting Started

To locally develop and test the game, follow these steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

  1. Clone the repository.

    git clone https://github.com/cs128-2021c/final-project-segfaultcoredumped
  2. Add project on Unity Hub by clicking open and select the "final-project-segfaultcoredumped\unity-folder\project" folder.

    Product Name Screen Shot

(back to top)

Usage

  • Save Screen Save Menu

(back to top)

Roadmap

  • 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.

(back to top)

Build Creation Overview

Notice:

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!

Creation:

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".

(back to top)

Unit Testing Overview

Preface:

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.

EditMode - tests scripts outside of the game runtime environment

PlayMode - tests game functionality/scripts within the game runtime environment

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!

Note:

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.

Alternative:

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.

(back to top)

Contributors

  • Safeer Ahmed
  • Daniel Feng
  • Carter Smith
  • Ben Evanoff

(back to top)

About

My fork of our CS 128 final project, Forest Forever: a 2D video game

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •