Skip to content

Commit

Permalink
Merge pull request #118 from jelster/release/v1.0
Browse files Browse the repository at this point in the history
Release/v1.0
  • Loading branch information
jelster authored Sep 4, 2022
2 parents f179b40 + d65c459 commit 150011b
Show file tree
Hide file tree
Showing 118 changed files with 180,092 additions and 3,593 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
Empty file added .eslintrc.json
Empty file.
38 changes: 38 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Bug report
about: File a description of a problem so we can improve
title: ''
labels: bug, in-triage
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement, in-triage
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/game-asset.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Game Asset
about: Track information about specific game asset(s) proposed or current
title: "[ASSETS]"
labels: game assets, in-triage
assignees: ''

---

## Asset Description
Description of the game asset. If referring to an existing game asset, include what part of the game and the asset name if possible.

### Where do you see this new asset being used in the game, and for what purpose?

## Asset Checklist

[ ] - This issue refers to an existing asset in the game that I'd like to see changed

[ ] - This issue refers to a proposed asset

[ ] - This asset has already been created

[ ] - I have cleared any potential IP, trademark, and/or copyright conflicts by verifying that the license and/or copyrights to the material allow their use in this project.

[ ] - Usage rights have not been secured but are available.

#### Licensing Terms and Costs
What would it cost to obtain the rights to use this asset, and what are the specific terms that the asset is made available to the project?
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Space-Truckers develop CI/CD to Azure Static WA

on:
push:
branches:
- develop
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- develop

jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_WONDERFUL_RIVER_0B8108510 }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/" # App source code path
api_location: "api" # Api source code path - optional
output_location: "dist" # Built app content directory - optional
###### End of Repository/Build Configurations ######

close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_WONDERFUL_RIVER_0B8108510 }}
action: "close"
22 changes: 22 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Edge",
"port": 9222,
"request": "attach",
"type": "pwa-msedge",
"webRoot": "${workspaceFolder}"
},
{
"type": "edge",
"request": "launch",
"name": "Launch Edge against localhost",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}
98 changes: 92 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,103 @@
# space-truckers

A game of getting stuff from Point A to Point B... IN SPAAAACCE!
# Space-Truckers: The Video Game

- [Space-Truckers: The Video Game](#space-truckers-the-video-game)
- [About the game](#about-the-game)
- [How to Play](#how-to-play)
- [Menus](#menus)
- [Route Planning](#route-planning)
- [Driving](#driving)
- [Building the Application from Source](#building-the-application-from-source)
- [Concepts](#concepts)
- [Getting Help and Providing Feedback](#getting-help-and-providing-feedback)
- [Conceptual sketches](#conceptual-sketches)

**A game of getting stuff from Point A to Point B... IN SPAAAACCE!**

Space-Truckers is an OSS project intended to demonstrate key concepts of integrating the [BabylonJS](https://babylonjs.com/) WebGL/WebGPU framework into a web-based interactive application.

![space trucker concept art](/design/Space_Trucker_Concept_Art.jpg)

## About the game

Gameplay in Space-Truckers is divided into three distinct phases: planning, driving, and scoring.

In the planning phase, your simulated cargo container (a.k.a. your trailer) starts in orbit around one of the system's planets.
The overall goal is to plan a course that will take the cargo pod to its' destination - or at least close enough to intersect the destination
planet's retrieval systems, but you won't have the benefit of being able to make course changes once you've launched on your journey - say a prayer to
Sir Isaac Newton, because it is the gravitational forces of the star and its' attendant planets that will bend and alter the ballistic path of your cargo post-launch!

Before launch though, you'll be able to specify the precise direction, force, and timing of your cargo so you can line up the perfect route. Better routes are ones that have a higher potential score. The potential score is determined by a number of factors, including the length of the route (longer routes have more opportunity to gain score, but risk losing even more points in time penalties), the amount of time in transit, average speed, and more.

During planning, the simulation can be reset as many times as needed - that's why it's a simulation, after all! When you've launched on a successful route, you'll have the option to either accept the route or reset and try again. Accepting the route takes you to the next game phase, where you'll ride along with your cargo in your Space-Tractor, helping to nudge and guide it through a series of challenges encountered along the route.

Once it's all said and done, your potential score will be displayed along with the actual score earned from the driving phase. Maybe you'll make the leaderboards someday!

## How to Play

### Menus

Key(s) | Action |
|-------|------ |
<kbd>↑,W</kbd> | Move selection up
<kbd>↓,S</kbd>| Move selection down
<kbd>Enter</kbd>/<kbd>Return</kbd> | Confirm/Invoke selection
<kbd>Backspace</kbd>/<kbd>Delete</kbd> | Cancel/Go back
<kbd>Spacebar</kbd> | Skip cut scene (where applicable)

### Route Planning

Key(s) | Action |
| ------| ---- |
<kbd>W</kbd><kbd>A</kbd><kbd>S</kbd><kbd>D</kbd> | Aim
<kbd>↑</kbd><kbd>↓</kbd><kbd>→</kbd><kbd>←</kbd> | Move camera
<kbd>Spacebar</kbd>, <kbd>Enter</kbd> | Launch
<kbd>Shift</kbd> | Increase launch velocity
<kbd>Ctrl</kbd> | Decrease launch velocity
<kbd>Spacebar</kbd>, <kbd>Enter</kbd> | Confirm route
<kbd>Backspace</kbd>, <kbd>Delete</kbd> | Retry
<kbd>P</kbd> | Pause

### Driving

| Key(s) | Action |
| ------ | ------ |
<kbd>W</kbd> | Apply forward accelleration (speed up)
<kbd>S</kbd> | Decelerate along forward axis (slow down)
<kbd>A</kbd> | Left Translate
<kbd>D</kbd> | Right Translate
<kbd>←</kbd> | Rotate Left
<kbd>→</kbd> | Rotate Right
<kbd>↑</kbd> | Translate Up
<kbd>↓</kbd> | Translate Down
<kbd>P</kbd> | Pause
<kbd>Del</kbd> | Reset

## Building the Application from Source

Although Space-Truckers is built to run in any browser capable of using WebGL and related JavaScript API's, there are a few more requirements involved if you want to build the application and game from source code. You'll need:

- NodeJS v14+
- NPM to match

Once you've cloned the source to your local machine, you should run an `npm install` to fetch and install needed dependencies. The `/dist` folder will contain the output of running `npm run build`, but for local development the `npm run start` command will run the webpack dev-server, which allows for module hot swapping and reloading, greatly speeding up the time between making a change and seeing it reflected in a browser!

## Concepts

Design docs and sketchs are located in the [/design/](/design) folder.

* [Game design doc](/design/game-design-specs.md)
* [Technical specs doc](/design/technical-specs.md)
- [Game design doc](/design/game-design-specs.md)
- [Technical specs doc](/design/technical-specs.md)

## Getting Help and Providing Feedback

There are a number of different ways to get assistance with an issue you may encounter. Have a question about the game? Head over to the [discussion boards](https://github.com/jelster/space-truckers/discussions) and post your question there among the various topics available, or create your own.

If you encounter a bug or issue with the game or application you can create an [Issue](https://github.com/jelster/space-truckers/issues) to help us track it, or add a comment to an existing issue that might help us understand the problem better.

Thanks for participating!

### Conceptual sketches
## Conceptual sketches

![mass-driver concept](/design/mass-driver-concept.png)

Expand All @@ -21,4 +107,4 @@ Design docs and sketchs are located in the [/design/](/design) folder.

---

![cabin chase concept](/design/cabin-ui-concept.jpg)
![cabin chase concept](/design/cabin-ui-concept.jpg)
Binary file added assets/Space-trucker-ui-asteroid-warning.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/babylonjs_identity_color.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/environment/crab-nebula-ibl.env
Binary file not shown.
Binary file added assets/environment/crab-nebula-pbr-hdr.env
Binary file not shown.
Binary file added assets/environment/milkyway-pbr-hdr.env
Binary file not shown.
Loading

0 comments on commit 150011b

Please sign in to comment.