A game library for Go, inspired by Love 2D
Go Objective-C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
audio
cmd/amore
event
file
font
gfx
joystick
keyboard
mouse
system
timer
touch
window
.gitignore
Gopkg.lock
Gopkg.toml
LICENSE
README.md
engine.go

README.md

Amore

GoDoc

A game library for Go, inspired by Love 2D.

No longer being maintained This was largley a learning project and now that Apple says they will no longer be supporting OpenGL, I do not see a point in maintainig it.

Objectives

  • Enable making games easy, fast and fun
  • Making games portable
  • Single executable deployment strategy.

Aimed Platform Support:

  • OS X
  • Linux
  • Windows
  • iOS
  • Android

Installation

It is recommended that you use glide for working with this project so that it is certain which dependancies you are vendoring.

You can get this project with glide by running

glide get github.com/tanema/amore

Or install the amore package by running the go get command

go get -u github.com/tanema/amore/...

Requirements

Amore requires SDL2 to operate on PC. You can install it by doing the following.

Ubuntu 14.04 and above, type: apt-get install libsdl2-dev

Fedora 20 and above, type: yum install SDL2-devel

Arch Linux, type: pacman -S sdl2

openSUSE, type: zypper in libSDL2-devel

Mac OS X, via Homebrew: brew install sdl2

Windows, via Msys2: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2

Amore Command

Install the command line helper with the go install tool

go install github.com/tanema/amore/cmd
  • amore new will generate initial files for a game in the current folder
  • amore bundle will generate a file called asset_bundle.go with all the assets and config in ziped byte array to be included in the binary

Example

// Basic hello world program
package main

import (
  "github.com/tanema/amore"
  "github.com/tanema/amore/gfx"
)

func main() {
  amore.Start(update, draw)
}

func update(deltaTime float32) {
}

func draw() {
  gfx.Print("Hello World",50, 50)
}

Resources