mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-25 03:08:54 +01:00
221 lines
7.4 KiB
HTML
221 lines
7.4 KiB
HTML
<!DOCTYPE html>
|
|
{{comment .License}}
|
|
<meta name="description" content="Ebiten - A simple SNES-like 2D game library in Go">
|
|
<link rel="shortcut icon" href="./favicon.png" type="image/png">
|
|
<link rel="icon" href="./favicon.png" type="image/png">
|
|
<title>Ebiten - A simple SNES-like 2D game library in Go</title>
|
|
<style>
|
|
body {
|
|
font-family: sans-serif;
|
|
}
|
|
img.example {
|
|
background-color: #000;
|
|
border-color: #999;
|
|
border-style: solid;
|
|
border-width: 1px;
|
|
image-rendering: crisp-edges;
|
|
image-rendering: pixelated;
|
|
}
|
|
pre {
|
|
background: #eee;
|
|
padding: 1em;
|
|
}
|
|
</style>
|
|
<a href="https://github.com/hajimehoshi/ebiten"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a>
|
|
<h1>Ebiten (海老天)</h1>
|
|
<p>Stable version: v{{.StableVersion}} / Development version: v{{.DevVersion}}</p>
|
|
<ul>
|
|
<li>A simple SNES-like 2D game library in Go</li>
|
|
<li>Works on
|
|
<ul>
|
|
<li>Web browsers (powered by <a href="http://gopherjs.org/">GopherJS</a>)
|
|
<ul>
|
|
<li>Supported browsers: Chrome and Firefox on desktops</li>
|
|
</ul>
|
|
</li>
|
|
<li>Windows</li>
|
|
<li>Mac OS X</li>
|
|
<li>Linux</li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="http://godoc.org/github.com/hajimehoshi/ebiten"><img src="https://godoc.org/github.com/hajimehoshi/ebiten?status.svg" alt="GoDoc Reference"></a></li>
|
|
</ul>
|
|
|
|
<h2>Features</h2>
|
|
<ul>
|
|
<li>2D Graphics</li>
|
|
<li>Input (Mouse, Keyboard, Gamepad)</li>
|
|
<li>Audio (Ogg/Vorbis, WAV, and PCM)</li>
|
|
</ul>
|
|
|
|
<h2>Example</h2>
|
|
<p>
|
|
{{range .Examples -}}
|
|
<a href="examples/{{.Name}}.html"><img src="images/examples/{{.Name}}.png" width="{{.ThumbWidth}}" height="{{.ThumbHeight}}" alt="Ebiten example: {{.Name}}" class="example"></a>
|
|
{{- end}}
|
|
</p>
|
|
|
|
<h2>Install on Mac OS X or Windows</h2>
|
|
<p>Compilation requires a C compiler like GCC to compile third party libaries used by Ebiten. You would need <a href="http://www.mingw.org/">MinGW</a> on Windows, and would need Xcode on Mac OS X.</p>
|
|
<p>Let's get the Ebiten source code and compile it.</p>
|
|
<pre><code>:; go get github.com/hajimehoshi/ebiten</code></pre>
|
|
<p>If you want to run your game on a web browser, execute this:</p>
|
|
<pre><code>:; go get github.com/gopherjs/gopherjs
|
|
:; go get github.com/gopherjs/webgl</code></pre>
|
|
|
|
<h2>Install on Linux</h2>
|
|
<p>Before installing Ebiten, you might need these libraries:</p>
|
|
<ul>
|
|
<li>libglu1-mesa-dev</li>
|
|
<li>libgles2-mesa-dev</li>
|
|
<li>libxrandr-dev</li>
|
|
<li>libxcursor-dev</li>
|
|
<li>libxinerama-dev</li>
|
|
<li>libxi-dev</li>
|
|
</ul>
|
|
<p>Ebiten is tested on Ubuntu Linux x64.</p>
|
|
|
|
<h2>Execute the example</h2>
|
|
<pre><code>:; cd $GOPATH/src/github.com/hajimehoshi/ebiten/examples
|
|
:; go run rotate/main.go</code></pre>
|
|
|
|
<h2>Run your game on a desktop</h2>
|
|
<p>Just execute your Go program. That's it!</p>
|
|
|
|
<h2>Run your game on a web browser</h2>
|
|
<p>Compile your game with <a href="http://gopherjs.org/">GopherJS</a>:</p>
|
|
<pre><code>:; gopherjs build -o yourgame.js path/to/yourgame</code></pre>
|
|
<p>Then, open the below HTML on your HTTP server:</p>
|
|
<pre><code><!DOCTYPE html>
|
|
<script src="yourgame.js"></script></code></pre>
|
|
<p>NOTE: <code>file://</code> URL may not work with Ebiten. Execute your game on a HTTP server.</p>
|
|
|
|
<h2>Apps created with Ebiten</h2>
|
|
<ul>
|
|
<li><a href="https://github.com/peterhellberg/plasma">Plasma</a> by Peter Hellberg</li>
|
|
<li><a href="https://github.com/hajimehoshi/go-inovation">go-inovation</a> by Hajime Hoshi</li>
|
|
<li><a href="https://github.com/martinkirsche/wired-logic">Wired Logic</a> by Martin Kirsche</li>
|
|
<li><a href="https://github.com/DrJosh9000/awakengine">AwakEngine</a> by Josh Deprez</li>
|
|
</ul>
|
|
|
|
<h2>Change Log</h2>
|
|
<h3>2016-04-23</h3>
|
|
<ul>
|
|
<li>v1.3.0-rc1 released.
|
|
<ul>
|
|
<li>Added new platforms
|
|
<ul>
|
|
<li>Windows</li>
|
|
<li>Linux</li>
|
|
</ul>
|
|
</li>
|
|
<li>Graphics
|
|
<ul>
|
|
<li>Added CompositeMode to change composite mode (e.g. masking or additive drawing)</li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio">Audio</a>
|
|
<ul>
|
|
<li>Moved from exp/audio to audio: No more experimental package!</li>
|
|
<li>Changed APIs (almost fixed)</li>
|
|
<li>Added <a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio/vorbis">exp/audio/vorbis</a> to decode Ogg/Vorbis stream</li>
|
|
<li>Added <a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio/wav">exp/audio/wav</a> to decode Wav stream</li>
|
|
</ul>
|
|
</li>
|
|
<li>Others
|
|
<ul>
|
|
<li>Made most of functions concurrent-safe</li>
|
|
<li>Bug fix</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2016-02-28</h3>
|
|
<ul>
|
|
<li>v1.2.0 released.
|
|
<ul>
|
|
<li>Fixed some bugs.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2016-02-17</h3>
|
|
<ul>
|
|
<li>v1.2.0-rc1 released.
|
|
<ul>
|
|
<li>Added support for gamepads on desktops and browsers</li>
|
|
<li>Added support for touch events on browsers</li>
|
|
<li>Added new functions for image rendering:
|
|
<ul>
|
|
<li>Image.ReplacePixels</li>
|
|
<li>GeoM.Rotate</li>
|
|
<li>ColorM.RotateHue</li>
|
|
</ul>
|
|
</li>
|
|
<li>Added some experimental packages:
|
|
<ul>
|
|
<li>exp/audio: Play music and sound</li>
|
|
<li>exp/gamepad: Useful functions to configure gamepads</li>
|
|
<li>These packages are experimental and we don't guarantee backward compatibility.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Deprecated some APIs:
|
|
<ul>
|
|
<li>TranslateGeo (Use GeoM's Translate instead)</li>
|
|
<li>ScaleGeo (Use GoeM's Scale instead)</li>
|
|
<li>RotateGeo (Use GoeM's Rotate instead)</li>
|
|
<li>TranslateColor (Use ColorM's Translate instead)</li>
|
|
<li>ScaleColor (Use ColorM's Scale instead)</li>
|
|
<li>RotateHue (Use ColorM's RotateHue instead)</li>
|
|
</ul>
|
|
</li>
|
|
<li>Fixed some bugs</li>
|
|
<li>Performance optimization</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2015-01-25</h3>
|
|
<ul>
|
|
<li>v1.1.0 released.
|
|
<ul>
|
|
<li>Fixed some bugs.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2015-01-10</h3>
|
|
<ul>
|
|
<li>v1.1.0-rc1 released.
|
|
<ul>
|
|
<li>Support for web browsers: Ebiten now includes support for web browsers with GopherJS.</li>
|
|
<li>Some API has changed:
|
|
<ul>
|
|
<li>ImagePart is deprecated. Use ImageParts interface instead.</li>
|
|
<li>ColorM.Element and GeoM.Element's recievers changed from structs to pointers.</li>
|
|
<li>A lot of keyboard keys have been added. KeyMax and MouseButtonMax were removed.</li>
|
|
</ul>
|
|
</li>
|
|
<li>The game is stopped when the window is not active.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2015-01-04</h3>
|
|
<ul>
|
|
<li>v1.0.0 released.
|
|
<ul>
|
|
<li>Nothing has changed from v1.0.0-rc1.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<h3>2014-12-29</h3>
|
|
<ul>
|
|
<li>v1.0.0-rc1 released.</li>
|
|
</ul>
|
|
|
|
<h2>License</h2>
|
|
<h3>Ebiten</h3>
|
|
<pre>{{.License}}</pre>
|
|
<h3>Go Gopher photograph</h3>
|
|
<p><a href="http://blog.golang.org/go-programming-language-turns-two">The original photograph of Go gophers by Chris Nokleberg</a> is licensed under the Creative Commons 3.0 Attributions license.</p>
|
|
|
|
<footer>{{.Copyright}}</footer>
|