2014-12-27 16:26:33 +01:00
<!DOCTYPE html>
2017-08-18 16:26:17 +02:00
< meta charset = "utf-8" >
2017-08-18 16:50:08 +02:00
< meta property = "og:image" itemprop = "image primaryImageOfPage" content = "{{.URL}}images/logo.png" >
2017-04-18 03:27:32 +02:00
< meta name = "description" content = "Ebiten - A simple 2D game library in Go" >
2015-01-10 11:18:43 +01:00
< link rel = "shortcut icon" href = "./favicon.png" type = "image/png" >
< link rel = "icon" href = "./favicon.png" type = "image/png" >
2017-04-18 03:27:32 +02:00
< title > Ebiten - A simple 2D game library in Go< / title >
2017-08-18 16:26:17 +02:00
2016-08-27 17:48:15 +02:00
< link rel = "stylesheet" href = "./stylesheets/bootstrap.min.css" >
< link rel = "stylesheet" href = "./stylesheets/highlight-github.css" >
< link rel = "stylesheet" href = "./stylesheets/ebiten.css" >
2016-08-29 02:51:38 +02:00
< script src = "./scripts/googleanalytics.js" > < / script >
2014-12-27 22:18:23 +01:00
2017-08-17 20:00:05 +02:00
< nav class = "navbar" > < div class = "container" >
< div class = "d-flex flex-row" style = "width: 100%;" >
< div class = "nav" > < a class = "navbar-brand" href = "./" > < img src = "images/logo_white.svg" alt = "EBITEN" > < / a > < / div >
< ul class = "nav mr-auto align-middle" >
2017-08-17 18:22:19 +02:00
< li class = "nav-item" > < a class = "nav-link" href = "#platforms" > Platforms< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "#features" > Features< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "#examples" > Examples< / a > < / li >
2017-09-09 17:24:43 +02:00
< li class = "nav-item" > < a class = "nav-link" href = "#projects-with-ebiten" > Projects with Ebiten< / a > < / li >
2017-08-17 18:22:19 +02:00
< li class = "nav-item" > < a class = "nav-link" href = "#getting-started" > Getting Started< / a > < / li >
2016-08-26 19:37:08 +02:00
< / ul >
2017-08-17 18:22:19 +02:00
< ul class = "nav" >
< li class = "nav-item" > < a class = "nav-link" href = "https://github.com/hajimehoshi/ebiten" > GitHub< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "https://godoc.org/github.com/hajimehoshi/ebiten" > GoDoc< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "https://github.com/hajimehoshi/ebiten/wiki" > Wiki< / a >
2017-11-01 18:24:14 +01:00
< li class = "nav-item" > < a class = "nav-link" href = "https://ebiten-playground.github.io/" > Playground< / a >
2016-08-26 19:37:08 +02:00
< / ul >
2017-08-17 20:00:05 +02:00
< / div >
< / div > < / nav >
< header class = "jumbotron jumbotron-fluid" > < div class = "container text-center" >
< h1 > < img src = "images/logo.svg" alt = "EBITEN" style = "width: 220px; height: 242px;" > < / h1 >
< p class = "lead" > A simple 2D game library in Go< / p >
2016-08-26 19:28:57 +02:00
< / div > < / header >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< main > < div class = "container" >
< p > Stable version: v{{.StableVersion}} / Development version: v{{.DevVersion}}< / p >
2016-08-28 00:26:03 +02:00
< h2 id = "platforms" > Platforms< / h2 >
2017-08-17 18:22:19 +02:00
< dl class = "row" >
< dt class = "col-2 text-right" > Desktops< / dt >
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Windows" > Windows< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/macOS" > macOS< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/Linux" > Linux< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/FreeBSD" > FreeBSD< / a > < / dd >
< dt class = "col-2 text-right" > Mobiles< / dt >
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Android" > Android< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/iOS" > iOS< / a > < / dd >
< dt class = "col-2 text-right" > Web browsers< / dt >
2017-09-06 20:17:15 +02:00
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Web-Browsers" > Chrome, Firefox, Safari and Edge on desktops< / a > (powered by < a href = "https://github.com/gopherjs/gopherjs" > GopherJS< / a > )< / dd >
2016-08-28 00:26:03 +02:00
< / dl >
2017-10-27 04:07:05 +02:00
< p > < small > Note: Gamepads and keyboard are not available on Android/iOS.< / small > < / p >
2016-08-26 19:28:57 +02:00
< h2 id = "features" > Features< / h2 >
2017-08-17 18:22:19 +02:00
< dl class = "row" >
< dt class = "col-2 text-right" > 2D Graphics< / dt >
< dd class = "col-10" > Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering< / dd >
< dt class = "col-2 text-right" > Input< / dt >
< dd class = "col-10" > Mouse, Keyboard, Gamepads, Touches< / dd >
< dt class = "col-2 text-right" > Audio< / dt >
< dd class = "col-10" > MP3, Ogg/Vorbis, WAV, PCM, Syncing with game progress< / dd >
2016-08-28 00:20:34 +02:00
< / dl >
2016-08-26 19:28:57 +02:00
< h2 id = "examples" > Examples< / h2 >
2018-01-31 20:34:38 +01:00
< h3 > Games< / h3 >
2016-08-26 19:28:57 +02:00
< div class = "row" >
2018-01-31 20:34:38 +01:00
{{range .GamesExamples -}}
2017-08-17 18:22:19 +02:00
< div class = "col-3" >
2017-09-09 17:24:43 +02:00
< a href = "examples/{{.Name}}.html" > < img src = "images/examples/{{.Name}}.png" width = "{{.ThumbWidth}}" height = "{{.ThumbHeight}}" alt = "Ebiten example: {{.Name}}" class = "img-thumbnail" > < / a >
2016-08-26 19:28:57 +02:00
< / div >
2016-02-28 06:23:46 +01:00
{{- end}}
2016-08-26 19:28:57 +02:00
< / div >
2018-01-31 20:34:38 +01:00
< h3 > Graphics< / h3 >
2018-01-30 17:18:33 +01:00
< div class = "row" >
2018-01-31 20:34:38 +01:00
{{range .GraphicsExamples -}}
2018-01-30 17:18:33 +01:00
< div class = "col-3" >
< a href = "examples/{{.Name}}.html" > < img src = "images/examples/{{.Name}}.png" width = "{{.ThumbWidth}}" height = "{{.ThumbHeight}}" alt = "Ebiten example: {{.Name}}" class = "img-thumbnail" > < / a >
< / div >
{{- end}}
< / div >
2018-01-31 20:34:38 +01:00
< h3 > Input< / h3 >
2018-01-30 17:18:33 +01:00
< div class = "row" >
2018-01-31 20:34:38 +01:00
{{range .InputExamples -}}
2018-01-30 17:18:33 +01:00
< div class = "col-3" >
< a href = "examples/{{.Name}}.html" > < img src = "images/examples/{{.Name}}.png" width = "{{.ThumbWidth}}" height = "{{.ThumbHeight}}" alt = "Ebiten example: {{.Name}}" class = "img-thumbnail" > < / a >
< / div >
{{- end}}
< / div >
2018-01-31 20:34:38 +01:00
< h3 > Audio< / h3 >
2018-01-30 17:18:33 +01:00
< div class = "row" >
2018-01-31 20:34:38 +01:00
{{range .AudioExamples -}}
2018-01-30 17:18:33 +01:00
< div class = "col-3" >
< a href = "examples/{{.Name}}.html" > < img src = "images/examples/{{.Name}}.png" width = "{{.ThumbWidth}}" height = "{{.ThumbHeight}}" alt = "Ebiten example: {{.Name}}" class = "img-thumbnail" > < / a >
< / div >
{{- end}}
< / div >
2016-08-27 17:58:27 +02:00
< p > < a href = "https://blog.golang.org/go-programming-language-turns-two" > The Gopher photographs by Chris Nokleberg< / a > are licensed under < a href = "https://creativecommons.org/licenses/by/3.0/" > the Creative Commons 3.0 Attributions License< / a > .< / p >
2014-12-27 22:18:23 +01:00
2017-08-18 16:26:17 +02:00
< h3 > Execute the examples< / h3 >
< div class = "card" > < pre class = "card-body" > < code class = "language-bash" > go get github.com/hajimehoshi/ebiten/...
2017-08-17 18:22:19 +02:00
cd $GOPATH/src/github.com/hajimehoshi/ebiten/examples
2017-08-18 16:26:17 +02:00
go run -tags=example rotate/main.go< / code > < / pre > < / div >
2016-10-15 18:14:22 +02:00
< p > Note that you need to add < code > -tags=example< / code > to run examples.< / p >
2016-08-25 18:21:01 +02:00
2017-09-09 17:24:43 +02:00
< h2 id = "projects-with-ebiten" > Projects with Ebiten< / h2 >
< div class = "row" >
2018-01-23 19:36:51 +01:00
< div class = "col-3" >
< a href = "https://github.com/hajimehoshi/go-inovation" > < img src = "images/projects/inovation.png" width = "1024" height = "500" alt = "Inovation 2007" class = "img-thumbnail" > < / a >
< / div >
2017-09-09 17:24:43 +02:00
< div class = "col-3" >
< a href = "http://blockbros.net/tsugunai/" > < img src = "images/projects/clock_of_atonement.png" width = "400" height = "400" alt = "Clock of Atonement" class = "img-thumbnail" > < / a >
< / div >
< / div >
2018-01-06 14:09:04 +01:00
< p > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Works" > Find more nice works with Ebiten!< / a > < / p >
2017-09-09 17:24:43 +02:00
2016-08-26 19:28:57 +02:00
< h2 id = "getting-started" > Getting Started< / h2 >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< p > Let's build a simple "Hello world!" game to get started with Ebiten.
2016-06-23 05:15:34 +02:00
First create a new directory (< code > mkdir hello_world< / code > ), and change
into it (< code > cd hello_world< / code > ). Type the following code into
the < code > main.go< / code > file:< / p >
2017-08-18 16:26:17 +02:00
< div class = "card" > < pre class = "card-body" > < code class = "language-go" > package main
2016-06-23 05:15:34 +02:00
import (
2016-08-26 22:36:52 +02:00
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil"
2016-06-23 05:15:34 +02:00
)
func update(screen *ebiten.Image) error {
2017-03-04 04:04:19 +01:00
ebitenutil.DebugPrint(screen, "Hello world!")
2016-08-26 22:36:52 +02:00
return nil
2016-06-23 05:15:34 +02:00
}
func main() {
2016-08-26 22:36:52 +02:00
ebiten.Run(update, 320, 240, 2, "Hello world!")
2016-06-23 05:15:34 +02:00
}
2017-08-18 16:26:17 +02:00
< / code > < / pre > < / div >
2016-06-23 05:15:34 +02:00
2016-08-26 19:28:57 +02:00
< p > Run the < code > go run< / code > command to start the
2016-06-23 05:15:34 +02:00
game. There you have it, your first Ebiten game!< / p >
2016-08-26 19:28:57 +02:00
< / div > < / main >
2015-01-08 15:45:30 +01:00
2016-08-26 19:28:57 +02:00
< footer > < div class = "container" >
< p > {{.Copyright}}< / p >
2016-08-28 00:10:41 +02:00
< p > Code is licensed under < a href = "https://github.com/hajimehoshi/ebiten/blob/master/LICENSE" > the Apache License 2.0< / a > .< / p >
2016-08-26 19:28:57 +02:00
< p > The content of this page is licensed under < a href = "https://creativecommons.org/licenses/by/4.0/" > the Creative Commons Attribution 4.0 License< / a > .< / p >
< / div > < / footer >
2016-08-27 07:00:06 +02:00
2016-08-27 17:48:15 +02:00
< script src = "./scripts/highlight.pack.js" > < / script >
2016-08-27 07:00:06 +02:00
< script > hljs . initHighlightingOnLoad ( ) ; < / script >