https://github.com/aviks/gamezero.jl
Zero overhead game development library for the Julia programming language
https://github.com/aviks/gamezero.jl
creating-games games hacktoberfest julialang
Last synced: over 1 year ago
JSON representation
Zero overhead game development library for the Julia programming language
- Host: GitHub
- URL: https://github.com/aviks/gamezero.jl
- Owner: aviks
- License: other
- Created: 2020-04-26T00:20:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-08T23:29:04.000Z (over 2 years ago)
- Last Synced: 2024-10-13T23:23:09.723Z (over 1 year ago)
- Topics: creating-games, games, hacktoberfest, julialang
- Language: Julia
- Homepage:
- Size: 8.3 MB
- Stars: 184
- Watchers: 7
- Forks: 23
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GameZero
[](https://github.com/aviks/GameZero.jl/actions?query=workflow%3ACI)
[](https://juliahub.com/ui/Packages/GameZero/tTDGf)
[](https://juliahub.com/docs/GameZero/tTDGf/)
[](https://travis-ci.com/aviks/GameZero.jl)
A zero overhead game development framework for beginners.
## Overview
The aim of this package is to remove accidental complexity from the game development process. We therefore always choose simplicity and consistency over features. The users of this package will include young programmers learning their first language, maybe moving on from Scratch. While we aim to support reasonably sophisticated 2D games, our first priority will remain learners, and their teachers.
## Running Games
Games created using GameZero are `.jl` files that live in any directory.
To play the games, start the Julia REPL and:
```
pkg> add GameZero
pkg> add Colors
julia> using GameZero
julia> rungame("C:\\path\\to\\game\\Spaceship\\Spaceship.jl")
```
## Creating Games
[Read the documentation](https://juliahub.com/docs/GameZero/tTDGf/) to get started. The best way to learn how to use this package is by looking at existing games created with it. There are some simple examples in the [example subdirectory](https://github.com/aviks/GameZero.jl/tree/master/example/BasicGame). More comprehensive examples are listed in the [GZExamples](https://github.com/SquidSinker/GZExamples) repository. The documentation will also display the example sources.
## Status
This is an early release. Please try to make new games, and [report](https://github.com/aviks/GameZero.jl/issues) any bugs, usability issues or missing features. We particularly welcome more games in the [GZExamples](https://github.com/SquidSinker/GZExamples) repository.
## Acknowledgement
The design of this library is inspired by the python package [PyGameZero](https://pygame-zero.readthedocs.io) by [Daniel Pope](https://github.com/lordmauve). Much of the design however has been changed to make things more Julian, and the implementation is independent.
GameZero uses [SDL2](https://www.libsdl.org/) via the [Julia wrapper](https://github.com/jonathanBieler/SimpleDirectMediaLayer.jl).