Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gsteixeira/opesvengine
A 2d game plataform shooter boiler plate.
https://github.com/gsteixeira/opesvengine
Last synced: about 5 hours ago
JSON representation
A 2d game plataform shooter boiler plate.
- Host: GitHub
- URL: https://github.com/gsteixeira/opesvengine
- Owner: gsteixeira
- License: gpl-3.0
- Created: 2021-09-18T04:37:51.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-01-06T18:54:26.000Z (almost 3 years ago)
- Last Synced: 2024-06-19T18:03:43.792Z (5 months ago)
- Language: Go
- Size: 32.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
OPESV Engine
=============Orthogonal Perspective Elevation Side View Game Engine.
A simplistic 2d game plataform shooter boiler plate.
OpesV-Engine aims to provide a simplistic platform for 2d games.
This is **not** production ready and probably never will. This is *Work in Progress*, plus it's done only for enterteinment purposes, so probably it wont be useful to you... yet.
It uses [ebiten](https://ebiten.org/) game library. The images in the demo game belongs to that project, it is their default image samples.
What can be done with it for now:
- create a tile based map.
- control a player that jumps and shoot his gun.
- control enemies that fiercely tries to kill our hero.
- collision detection.
- guns can be changed, and can be parametrized (damage, rate of fire, range, etc)To be done:
- looking for a performant way to flip images when player changes direction.
- allow maps larger than screen.
- make usage of different tile sizes easier.
- better AI for npcs.
- different actions for NPCs (now they just care about one thing: Kill you).
- a score panel.
- (SOLVED) still get stuck on the walls sometimes...
- documentation.Running the example:
```bash
git clone https://github.com/gsteixeira/opesvengine
cd opesvengine/
# get dependencies
go mod tidy
go run sample/demo.go
```Create a sprite (static object):
```go
// you can specify an image or use the images described in ebiten
img := opesvengine.Get_img_from_file("some_image.png")
// create the sprite
foo := opesvengine.NewSprite(10, 10, img, false)
```Create a Character (a live, movable object):
```go
// specify an image
img := opesvengine.Get_img_from_file("some_image.png")
// set initial parameters
pos_x := 0
pos_y := 0
width := 16
height := 32
// create the character
player := opesvengine.NewCharacter(pos_x, pos_y, width, height, img)
```