Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aerth/rpg
OpenGL cross platform topdown 2d magic action rpg game single player arpg
https://github.com/aerth/rpg
2d 2d-game arpg game game2d hack-and-slash opengl pixel rpg top-down
Last synced: 3 months ago
JSON representation
OpenGL cross platform topdown 2d magic action rpg game single player arpg
- Host: GitHub
- URL: https://github.com/aerth/rpg
- Owner: aerth
- License: mit
- Created: 2017-06-13T04:27:47.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-07-09T16:48:09.000Z (over 2 years ago)
- Last Synced: 2024-06-28T20:54:38.131Z (4 months ago)
- Topics: 2d, 2d-game, arpg, game, game2d, hack-and-slash, opengl, pixel, rpg, top-down
- Language: Go
- Homepage: https://aerth.itch.io/aerpg
- Size: 4.07 MB
- Stars: 26
- Watchers: 6
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
lets make a game
2D, top-down, pixelized magic action RPG
contributions very welcome (see roadmap)
# [AERPG](https://github.com/aerth/rpg)
**demo**
[![Build Status](https://travis-ci.org/aerth/rpg.svg?branch=master)](https://travis-ci.org/aerth/rpg)
![screenshot](https://raw.githubusercontent.com/aerth/rpg/master/doc/screenshot.png)
## INCLUDED TOOLS
* aerpg - play the demo rpg: explore map, kill skeletons, pick up loot, gain xp, collect magic items
* mapmaker - create/edit a map: read source code for keymap
* mapgen - generate a map: run `mapgen ______` to use specific seed such as `mapgen mycoolseed`
## FETCHING DEPENDENCIES
* install Go: [go](https://golang.org)
* install C dependencies: `apt-get install xorg-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libopenal-dev libasound2-dev`
* fetch this source code and dependencies: `go get -v -d -u github.com/aerth/rpg/cmd/...`
## INSTALLING AERPG GAME
### Requirements
If you're using Windows and having trouble building Pixel, please check [this
guide](https://github.com/faiface/pixel/wiki/Building-Pixel-on-Windows) on the
[wiki](https://github.com/faiface/pixel/wiki).[PixelGL](https://godoc.org/github.com/faiface/pixel/pixelgl) backend uses OpenGL to render
graphics. Because of that, OpenGL development libraries are needed for compilation. The dependencies
are same as for [GLFW](https://github.com/go-gl/glfw).The OpenGL version used is **OpenGL 3.3**.
- On macOS, you need Xcode or Command Line Tools for Xcode (`xcode-select --install`) for required
headers and libraries.
- On Ubuntu/Debian-like Linux distributions, you need `libgl1-mesa-dev` and `xorg-dev` packages.
- On CentOS/Fedora-like Linux distributions, you need `libX11-devel libXcursor-devel libXrandr-devel
libXinerama-devel mesa-libGL-devel libXi-devel` packages.
- See [here](http://www.glfw.org/docs/latest/compile.html#compile_deps) for full details.**The combination of Go 1.8, macOS and latest XCode seems to be problematic** as mentioned in issue
[#7](https://github.com/faiface/pixel/issues/7). This issue is probably not related to Pixel.
**Upgrading to Go 1.8.1 fixes the issue.**### Compiling
```go get -v -d github.com/aerth/rpg```
```GOBIN=$PWD go install github.com/aerth/rpg/cmd/...```## keymap:
* Pause, Inventory, Char Stats: `i`
* Movement: `arrows`, `asdw`, `hjkl`, `hold right mouse`* Zoom: `mouse wheel`
* Identify tile: `left click`
* Pick up loot: `left click`
* Attack (manastorm): `space` `middle click`
* Attack (magic bullet): `B` `left click (point/shoot)`
* Quit: ctrl+Q
## CHEATS
* Toggle show enemy paths: `=`
* Toggle fly mode: `caps lock`
* Mana potion: `1`
* Health potion: `2`
* XP potion: `3`
* Speed up time: `LSHIFT`
* Slow motion: `TAB`
* Random Loot: `ctrl+L` (random location), `ctrl+K` (under mouse)
* Spawn fresh mob: `M` (watch FPS go down)
## ROADMAP
* [ ] Regions (separated by doors)
* [ ] Doors/Portals connect regions
* [ ] Spawn tiles (instead of random tile) (should be Rectangle)
* [ ] Map editor improvements (toolbar, pallet, fix offsets)
* [ ] Text boxes (space to speed past conversations, pgup pgdown scroll)
* [ ] Text Input (cheat codes, debug, chat, user input)* [x] Pick up loot
* [ ] Drop item
* [ ] proper Inventory and Wearing
* [ ] Optimization
* [ ] Replace spritesheets, allow texturepacks, skins
* [ ] "Stage 1" map and missions, villages with markets, npcs, enemies, and a generated dungeon with bad guys and a boss
* [ ] D2 style multiplayer co-operative and chat (no p2p)
### questions / support / donations
donations support the author and will make more frequent updates
BTC: ![https://blockchain.info/address/1ANjiTNvdEM6Me3yc4EBFSkDb4db4XW6pr](https://blockchain.info/qr?data=1ANjiTNvdEM6Me3yc4EBFSkDb4db4XW6pr&size=200)
PayPal Me: https://www.paypal.me/aerth
questions and comments can be directed to the email address published at https://github.com/aerth
### credits
* font 'Admtas' by [adem taş](http://www.dafont.com/profile.php?user=980017)
* font '[Terminus TTF Font](http://files.ax86.net/terminus-ttf/)' (SIL Open Font License, version 1.1)
* [sprite generator](http://gaurav.munjal.us/Universal-LPC-Spritesheet-Character-Generator/)
* [main character sprite](http://mmorpgmakerxb.com/p/characters-sprites-generator)
* big thanks to the [pixel](https://github.com/faiface/pixel) library
* additional credits in `assets/sprites/credits.txt` file