Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme unified and check project against 23.10 #3

Merged
merged 3 commits into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 29 additions & 165 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,188 +1,52 @@
# Protect-the-Moon
<u>Supported o3de versions</u> : **23.10**

Project Or Game Description:
Protect the Moon is a retro-style game that features classic arcade gameplay. As the defender of one of the most essential and precious
assets of our planet - the Moon, you must protect it at all costs against alien invaders who have taken control of it.

**This game is just one example of the many games included in the O3DE learning series
available at the following link: https://youtube.com/playlist?list=PLCQwFpnHSZQgyIu4JeOUDCsNCVgWOz3Mf**

![SplashScreen](https://user-images.githubusercontent.com/87207603/235951250-4684e278-e83d-462c-95ab-ce1d51d2026d.jpg)

## The Project Includes

- **Project Setup** Introduction to game development, setup of development environment and introduction to the game concept.
- **A Creating The Main Menu** Here we create a simple menu that launches the first level of the game.
- **Enemies & Spawning Assets Prefabs** Importing the player and enemy ships.
- **Player Movement** Implementing player movement.
- **Projectiles & Collision** Implementing enemy movement and Projectiles.
- **In Game HUD - Scoring and Lives** Setting Up the In Game HUD UI Canvas and Script Canvas.
- **Game Assets Prefabs** The of the Alien Enemies, Projectiles, and the Main Player Character.
# Protect the Moon

## Protect the Moon Tutorial Video Series![Protect_the_Moon_01](https://user-images.githubusercontent.com/87207603/235951941-332c2166-11d3-4b6b-acc0-ef62ec3e7912.png)
## In Editor Game Shots!
![in_editor_shot](https://user-images.githubusercontent.com/87207603/235952125-1ab1c72d-a571-4db4-b4b5-db523526af0e.gif)
## Full Screen Game Play!
![full_screen](https://user-images.githubusercontent.com/87207603/235952195-ed90adac-f32a-4226-aa6f-5bc1ebede266.gif)
## GAME PLAY VIDEO
https://user-images.githubusercontent.com/87207603/235952495-29eacd36-fbbf-4fcc-8e86-c816cafcad7c.mp4

## Game Levels

- **Level_01** is the main game play level for a full game loop.

## Requirements

### Platforms

The project supports the following platforms:
Protect the Moon is a retro-style game that features classic arcade gameplay. As the defender of one of the most essential and precious
assets of our planet - the Moon, you must protect it at all costs against alien invaders who have taken control of it.

- **Windows 10 version 1809 (10.0.17763)** or later is required.
**You can learn to make this project from scratch by [following this youtube playlist](https://www.youtube.com/playlist?list=PLCQwFpnHSZQgyIu4JeOUDCsNCVgWOz3Mf)**

## O3DE Installation
## Prerequisites

1. Refer to the [O3DE System Requirements](https://www.o3de.org/docs/welcome-guide/requirements/) documentation to make sure that the system/hardware requirements are met.
2. Please follow the instructions to [set up O3DE from GitHub](https://o3de.org/docs/welcome-guide/setup/setup-from-github/).
3. **Use the development branch**: git checkout development.
You need to build or [install O3DE engine](https://o3de.org/download/).

# Building the project
You need to [install git with lfs support](https://git-scm.com/downloads), and [setup a token on your github account](https://www.docs.o3de.org/docs/welcome-guide/setup/setup-from-github/#configure-credentials-for-git-lfs). Needed as the repository uses Git LFS, the "Download ZIP" button will not download assets.

## Build Steps
## How to run

1. Clone the **Protect-the-Moon** game project from the following repo:
2. git clone https://github.com/o3de/Protect-the-Moon
3. Within the Project manager locate and click on the **New Project** button. Then from the drop down menu select the **Open Existing Project** option.
4. Once Windows Explorer opens, navigate to and select the **Protect-the-Moon** folder. Once selected click on the **Select Folder** button.
5. This will load the **Protect-the-Moon** project into the **Project Manager**.
1. Clone the github repository (`git clone https://github.com/o3de/Protect-the-Moon.git`). When prompted to authenticate, use your github username and the token as password.
2. Launch O3DE. It will open the Project manager. Click on the **New Project** button then **Open Existing Project** option.
3. Navigate to the cloned repository. Open this folder. The project should now be registered.

<img width="162" alt="build" src="https://user-images.githubusercontent.com/87207603/235956071-9c1a20f0-052e-4e06-8fa1-afe8073d1c42.png">

4. Click on the **Build Project** button, located on the **Protect-the-Moon** image.
5. Once the project has been built successfully, use the **Open Editor** button.
6. The asset pre-processor will run for a bit. Once it is over you will be welcomed with the **Open a Level** window, simply pick the first one.

1. In order to build the project, locate and click on the **Build Project** button, located on the **Protect-the-Moon** icon.

## Launching the Project
## Controls

1. Once the project has been built successfully, the **Build Project** button will disappear and an **Open Editor** button should be the only option you can select.
2. Click on the **Open Editor** button this will open the **Protect-the-Moon** project.
The player can be moved around the level using the A and D commands and Left Mouse Clicks will fire your weapon.

## Opening the Game-play Level
## Project Highlights

1. Once the Asset Processor has completed importing and processing a significance portion of the assets the O3DE Editor will open.
2. In the **Welcome to O3DE** splash screen select the **Open** button to open a new level.
3. This will open the **Open a Level** window
4. Select the **Level_01** level and click the open level to launch the level.
5. Once the level opens, the menu splash screen will ask you to mouse click to start the game.
https://user-images.githubusercontent.com/87207603/235952495-29eacd36-fbbf-4fcc-8e86-c816cafcad7c.mp4

**Controlling the Main Player**
- **Project Setup** Introduction to game development, setup of development environment and introduction to the game concept.
- **Main Menu** Here we create a simple menu that launches the first level of the game.
- **Enemies & Spawning Assets Prefabs** Importing the player and enemy ships.
- **Player Movement** Implementing player movement.
- **Projectiles & Collision** Implementing enemy movement and Projectiles.
- **In Game HUD - Scoring and Lives** Setting Up the In Game HUD UI Canvas and Script Canvas.
- **Game Assets Prefabs** Alien Enemies, Projectiles, and the Main Player Character.

**Navigation**
### Screenshots

1. The Main Player model can be moved around the level using the A and D commands and Left Mouse Clicks will fire your weapon.
![SplashScreen](https://user-images.githubusercontent.com/87207603/235951250-4684e278-e83d-462c-95ab-ce1d51d2026d.jpg)

**License**
## License

For terms please see the LICENSE\*.TXT files at the root of this repository.

For the sake of clarification licensing information can be also be found below.

| OPEN 3D ENGINE LICENSING |
| ------------------------ |
| |

| The default license for Open 3D Engine is the Apache License, Version 2.0 |
| ------------------------------------------------------------------------- |
| |

| (see LICENSE_APACHE2.TXT); you may elect at your option to use the Open 3D |
| -------------------------------------------------------------------------- |
| |

| Engine under the MIT License (see LICENSE_MIT.TXT). Contributions must be |
| ------------------------------------------------------------------------- |
| |

| made under both licenses. |
| ------------------------- |
| |

| |
| --- |
| |

| THIRD PARTY COMPONENTS |
| ---------------------- |
| |

| Open 3D Engine requires the use of (and in some cases makes available to you) |
| ----------------------------------------------------------------------------- |
| |

| software and assets that have been developed by third parties and are subject |
| ----------------------------------------------------------------------------- |
| |

| to separate license terms (such as code licensed under other open source |
| ------------------------------------------------------------------------ |
| |

| licenses). It is your responsibility to comply with the applicable licenses. |
| ---------------------------------------------------------------------------- |
| |

| Information on third party materials, and the applicable license terms, are |
| --------------------------------------------------------------------------- |
| |

| referenced in or included with the materials, such as in separate LICENSE.txt |
| ----------------------------------------------------------------------------- |
| |

| files accompanying the materials. |
| --------------------------------- |
| |

| |
| --- |
| |

| Please note that certain materials are subject to "copyleft" licenses, which |
| ---------------------------------------------------------------------------- |
| |

| require distribution of source code, including: |
| ----------------------------------------------- |
| |

| |
| --- |
| |

| - Qt Toolkit https://github.com/qtproject/, which is subject to the GNU |
| ----------------------------------------------------------------------- |
| |

| Lesser General Public License version 3 (with certain exceptions). A copy of |
| ---------------------------------------------------------------------------- |
| |

| the source code for Qt Toolkit may be found at |
| ---------------------------------------------- |
| |

| https://s3-us-west-2.amazonaws.com/ly-legal/LicenseConformance/Qt/Src.zip |
| ------------------------------------------------------------------------- |
| |

| |
| --- |
| |

| - The AWS Python SDK uses Chardet https://chardet.github.io/, which is |
| ---------------------------------------------------------------------- |
| |

| subject to the GNU Lesser General Public License version 2.1. A copy of the |
| --------------------------------------------------------------------------- |
| |

source code may be found at https://github.com/chardet/chardet.
2 changes: 1 addition & 1 deletion project.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@
"WhiteBox",
"LyShineExamples"
],
"engine_version": "2.0.0"
"engine_version": "2.2.2"
}
48 changes: 48 additions & 0 deletions project.json.bak1
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"project_name": "Protect-the-Moon",
"version": "1.0.0",
"project_id": "{92A07177-CB9C-49C0-B7EB-3729B0154A48}",
"origin": "The primary repo for Protect-the-Moon goes here: i.e. http://www.mydomain.com",
"license": "What license Protect-the-Moon uses goes here: i.e. https://opensource.org/licenses/Apache-2.0 Or https://opensource.org/licenses/MIT etc.",
"display_name": "Protect-the-Moon",
"summary": "A short description of Protect-the-Moon.",
"canonical_tags": [
"Project"
],
"user_tags": [
"Protect-the-Moon"
],
"icon_path": "preview.png",
"engine": "o3de",
"external_subdirectories": [
"Gem"
],
"restricted": "Protect-the-Moon",
"gem_names": [
"Protect-the-Moon",
"Atom",
"AudioSystem",
"AWSCore",
"CameraFramework",
"Compression",
"DebugDraw",
"DiffuseProbeGrid",
"EditorPythonBindings",
"EMotionFX",
"GameState",
"ImGui",
"LandscapeCanvas",
"LyShine",
"PhysX",
"PrimitiveAssets",
"PrefabBuilder",
"SaveData",
"ScriptCanvasPhysics",
"ScriptEvents",
"StartingPointInput",
"TextureAtlas",
"WhiteBox",
"LyShineExamples"
],
"engine_version": "2.0.0"
}