jetpack-game

command module
v0.0.0-...-185e3b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 23 Imported by: 0

README

go-jetpack-game

jetpack game banner

A simple game to learn Go and Ebitengine (THIS APPLICATION IS IN AN EARLY STAGE OF DEVELOPMENT)

jetpack game screenshots

Build for web

Execute with ./build_web.sh It would generate jetpackgame.wasm and wasm_exec.js inside build_web folder

Play in web browser

After building for web, use a web server like XAMPP or Live Server extension in VSCode ./build_web/index.html

Notes for web browser
  • All resources are embedded into the wasm file. The browser must wait to load the entire wasm file. For that, the game can not have a preloading inside wasm.

Execute locally

Execute run.sh or go run . command

Execute the unit tests

Execute run_tests.sh or go test command

Next tasks
  • Make pillars to the platforms
  • When gameover/gamecomplete the player can press enter to restart
  • Create a starting menu. The player must press ENTER key to start the game
  • Make a preloading screen because now in web version it shows a blank screen
  • Make a progress bar class more flexible (for example to allow set the width property) to reuse it in oxygen bar and preload game
  • Rotate the planets
  • Make vulcan floor
  • Show a screen traveling to the planet of fire
  • Some Lava Floor drops lava
  • When Oxygen bar is low than 50 then blink to alert the player
  • Oxygen bar kills the player when is empty. Reinit oxygen bar when new game and starting next level
  • Burn animation of the player when touches fire (lava floor, lavadrop)
  • The rocket scales down when it is aproaching to the planet
  • Some fire floors are active and shows blinking light and then drops fireballs
  • When typewritting make sounds
  • Circle rotating and line below the typewritting text like a futuristic hud
  • Second scene before landing. Show the objectives in this screen while rocket is descending
  • Try to make a preloading system in html. It can not be done in game because the resouces are embedded in wasm file
  • Trees in foreground/background
  • Show a screen traveling to the planet of ice
  • Ice floors The player slips on the ground
  • Make procedural backgrounds (mountains, stars)
  • More Unit testing and error handling
  • In web version auto click the canvas to allow using keys without clicking first the canbas with mouse (view ebitengine web examples)
  • Parachute with live (core icon) The icon blinks and after a time the live is removed
  • When last level show congratulations game completed
  • Make the collision box smaller to not collision so early
  • Flip an image and use only one image instead two (left and right)
  • Platform with a lake of lava that drops lava
  • Other enemy that moves vertically an shots fire balls horizontally
  • Level editor

Customize keybindings.json in VSCode

You can use this settings into VSCode keybindings.json:

  {
    "key": "ctrl+t",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": "./run_tests.sh\u000D"
    },
  },
  {
    "key": "ctrl+r",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": "./run.sh\u000D"
    },
  },

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL