Skip to content
This repository was archived by the owner on Jun 28, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5b13994
Update gml-go from current in-progress game
silbinarywolf Sep 9, 2018
727c293
test: add "go get github.com/golang/protobuf"
silbinarywolf Sep 9, 2018
5c0b602
various changes
silbinarywolf Nov 21, 2018
0e0ee1b
Expose WindowWidth() / WindowHeight() / WindowScale() functions, Fix …
silbinarywolf Nov 21, 2018
0b24bf7
example/spaceship: start spaceship example game
silbinarywolf Nov 23, 2018
7421df7
asset: Rename "assets" to "asset" and "sprites" to "sprite" for consi…
silbinarywolf Nov 24, 2018
d5944b4
example/spaceship: minor structural tweaks
silbinarywolf Nov 24, 2018
0df19e2
gmlgo: add WIP generator based on stringer
silbinarywolf Nov 24, 2018
e7ed58f
sprite: Start work on changing sprite functions to return SpriteIndex…
silbinarywolf Nov 24, 2018
8605c7c
sprite: change *Sprite to SpriteIndex (int)
silbinarywolf Nov 24, 2018
bc1dfc1
gmlgo: do more work on code generator, able to determine structs that…
silbinarywolf Nov 26, 2018
af92709
example/spaceship: add bullet sprite and small ttf font
silbinarywolf Nov 26, 2018
c3842aa
gmlgo: first working pass of the gmlgo code generator
silbinarywolf Nov 27, 2018
6f289f8
gmlgo: get code generator working for sprite assets
silbinarywolf Dec 1, 2018
a6c9893
collision: add CollisionRectList to check collisions against other in…
silbinarywolf Dec 1, 2018
9f3aac4
room: Change room instance layer structs to be unexported and add som…
silbinarywolf Dec 1, 2018
fcb52b3
room: remove Editor* functions, change opening room editor to be CTRL…
silbinarywolf Dec 1, 2018
eae05d7
example/spaceship: add alarm system, use it to spawn enemy spaceships…
silbinarywolf Dec 2, 2018
8bee4a5
gmlgo: allow gmlgo to take in a parameter with the directory for trav…
silbinarywolf Dec 3, 2018
06e4b75
gmlgo: remove old broken benchmarking tests, update minimum Go versio…
silbinarywolf Dec 3, 2018
aa87e0e
gmlgo: add basic test for generating object meta data
silbinarywolf Dec 3, 2018
31b3d33
gmlgo: remove "go vet" and focus tests on "cmd" folder only as no tes…
silbinarywolf Dec 3, 2018
c80788f
gmlgo: add missing dependencies to travis ci and maybe fix go install…
silbinarywolf Dec 3, 2018
0035523
gmlgo: add testing debug and headless builds of game examples
silbinarywolf Dec 4, 2018
e4e6eff
gmlgo: fix .gitignore and commit missing asset
silbinarywolf Dec 4, 2018
ed4cfaf
ci: add cache
silbinarywolf Dec 4, 2018
9807602
doc: update README.md
silbinarywolf Dec 4, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/cmd/**/*.exe
/cmd/gmlgo/gmlgo
30 changes: 24 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
language: go

go:
- "1.10"
- "1.11"

# https://restic.net/blog/2018-09-02/travis-build-cache
cache:
directories:
- $HOME/.cache/go-build
- $HOME/gopath/pkg/mod

addons:
apt:
Expand All @@ -19,18 +25,30 @@ addons:
- libxxf86vm-dev

install:
# Underlying framework used
- go get -t -v github.com/hajimehoshi/ebiten/...
# Used by some structures
- go get -t -v github.com/golang/protobuf/...
# Debug Mode: Live file reloading (watch files for changes)
- go get -t -v github.com/fsnotify/fsnotify/...
# Debug Mode: Used for generating UUID's for room objects, etc.
- go get -t -v github.com/rs/xid/...

before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
- sleep 3

script:
- go build -v ./...
- go install -tags debug -v ./gml/...
- go install -tags headless -v ./gml/...
- go install -v ./gml/...
- go install -v ./cmd/gmlgo
- gmlgo ./examples/spaceship
- go build -tags debug -v ./examples/...
- go build -tags headless -v ./examples/...
- go build -v ./examples/...
- go test -v ./cmd/...
# NOTE(Jake): 2018-06-20
#
# No tests exist yet
#
#- go test -v ./...
- go vet -v ./...
#- go test -v ./gml/...
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) Jake Bentvelzen

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# Game Maker Language Go

[![Build Status](https://travis-ci.org/silbinarywolf/gml-go.svg?branch=master)](https://travis-ci.org/silbinarywolf/gml-go)
[![Documentation](https://godoc.org/github.com/silbinarywolf/gml-go?status.svg)](https://github.com/silbinarywolf/gml-go)
[![Report Card](https://goreportcard.com/badge/github.com/silbinarywolf/gml-go)](https://godoc.org/github.com/silbinarywolf/gml-go)

**NOTE: This is currently a hobby project and not meant for any use other than my own. If you are interested in this or use this, please let me know so I can improve documentation, tagging, etc**
**NOTE: This project is currently undergoing a large refactoring effort to help ease workflow and serialization. I'm also aiming to improve the documentation, add examples and improve test coverage. This is still just a hobby project for now!**

This is a library / framework that aims to create workflow like Game Maker, but utilizing the Go programming language.

Expand All @@ -14,11 +16,11 @@ go get github.com/silbinarywolf/gml-go

## Requirements

* Golang 1.10+
* Golang 1.11+

## Documentation

* TODO when the library has progressed
* TODO when this library has been refactored
* [License](LICENSE.md)

# Rough Roadmap
Expand All @@ -33,10 +35,10 @@ This project is mostly for fun and I have no intentions to get anything done unl
- This should cover installing "gofmt" / "goimports"
- Transitioning from GML to Golang, major / minor differences
* Add build tools to help with:
- [x] Auto generating entity IDs and the like.
- Packing assets into texture atlases
- Converting Tiled maps into an internal engine format
- (maybe) Auto generating entity IDs and the like.

## Credits

* [Hajime Hoshi](https://github.com/hajimehoshi/ebiten) for his fantastically simple 2D game library, [https://github.com/hajimehoshi/ebiten](Ebiten).
* [Hajime Hoshi](https://github.com/hajimehoshi/ebiten) for their fantastically simple 2D game library, [https://github.com/hajimehoshi/ebiten](Ebiten).
* [Yann Le Coroller ](www.yannlecoroller.com) for their free to use Helvetica style font.
Loading