https://github.com/colinkiama/capsule
Retro Space Shooter for Indie Game Beginners Game
https://github.com/colinkiama/capsule
Last synced: 10 months ago
JSON representation
Retro Space Shooter for Indie Game Beginners Game
- Host: GitHub
- URL: https://github.com/colinkiama/capsule
- Owner: colinkiama
- Created: 2022-12-29T21:33:31.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-01-05T09:36:06.000Z (about 2 years ago)
- Last Synced: 2025-01-14T08:51:50.727Z (12 months ago)
- Language: TypeScript
- Size: 46.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Capsule
> Make Phaser 3 games with TypeScript and modern frontend tooling.

This is a TypeScript specific fork of [phaser3-vite-template](https://github.com/ourcade/phaser3-vite-template).
## Description
You're a ship in space trying to find a message for humanity from long ago.
However, an evil race of aliens are in the way. Use the weapons and special
abilities of your ship to defeat the aliens and overcome the major challenges
that await for you at the end of each of stage.
Can you make it through a trio of trials and tribulations to uncover the
message in the **capsule**?
## Prerequisites
You'll need [Node.js](https://nodejs.org/en/) and [npm](https://www.npmjs.com/) installed.
It is highly recommended to use [Node Version Manager](https://github.com/nvm-sh/nvm) (nvm) to install Node.js and npm.
For Windows users there is [Node Version Manager for Windows](https://github.com/coreybutler/nvm-windows).
Install Node.js and `npm` with `nvm`:
```bash
nvm install node
nvm use node
```
Replace 'node' with 'latest' for `nvm-windows`.
## Getting Started
You can clone this repository or use [degit](https://github.com/Rich-Harris/degit) to scaffold the project like this:
```bash
npx degit https://github.com/ourcade/phaser3-typescript-vite-template my-folder-name
cd my-folder-name
npm install
```
Start development server:
```
npm run start
```
To create a production build:
```
npm run build
```
Production files will be placed in the `dist` folder. Then upload those files to a web server. 🎉
## Project Structure
```
.
├── dist
├── node_modules
├── public
├── src
│ ├── HelloWorldScene.ts
│ ├── main.ts
├── index.html
├── package.json
```
TypeScript files are intended for the `src` folder. `main.ts` is the entry point referenced by `index.html`.
Other than that there is no opinion on how you should structure your project.
There is an example `HelloWorldScene.ts` file that can be placed inside a `scenes` folder to organize by type or elsewhere to organize by function. For example, you can keep all files specific to the HelloWorld scene in a `hello-world` folder.
It is all up to you!
## Static Assets
Any static assets like images or audio files should be placed in the `public` folder. It'll then be served from the root. For example: http://localhost:8000/images/my-image.png
Example `public` structure:
```
public
├── images
│ ├── my-image.png
├── music
│ ├── ...
├── sfx
│ ├── ...
```
They can then be loaded by Phaser with `this.image.load('my-image', 'images/my-image.png')`.
# TypeScript ESLint
This template uses a basic `typescript-eslint` set up for code linting.
It does not aim to be opinionated.
[See here for rules to turn on or off](https://eslint.org/docs/rules/).
## Dev Server Port
You can change the dev server's port number by modifying the `vite.config.ts` file. Look for the `server` section:
```js
{
// ...
server: { host: '0.0.0.0', port: 8000 },
}
```
Change 8000 to whatever you want.
## License
[MIT License](https://github.com/ourcade/phaser3-vite-template/blob/master/LICENSE)