Ebiten in 2020
2020 年の Ebiten
It's been 7 years since I started to develop Ebiten. This article is a retrospective of Ebiten in 2020.
自分が Ebiten を開発し始めてから 7 年になりました。この記事は、 2020 年の Ebiten の回顧録です。
Sponsors
スポンサー
These people sponsored me in between December 2019 and November 2020. I can't thank you enough!
2019 年 12 月から 2020 年 11 月の間、以下の方々にスポンサーしていただきました。心より感謝いたします。
(In the order of total sponsoring amounts)
(スポンサー総額の大きい順、敬称略)
- Brandon Chung
- zucenko
- Samuel Mortenson
- Sergio Rubio
- Jithin Raj
- Alex Bykov
- Jeremiah
- Shintaro Abe
- And some private sponsorsその他、何名かのプライベートスポンサー
Contributors
コントリビューター
These people contributed to Ebiten in between December 2019 and November 2020. I appreciate all the contributions!
2019 年 12 月から 2020 年 11 月の間、以下の方々にコントリビュートしていただきました。心より感謝いたします。
(In the order of total commits)
(コミット数順、敬称略)
and many more contributors have contributed to Ebiten.
その他多数のコントリビューターからコントリビュートしていただきました。
Events
出来事
Summary
まとめ
- The most significant change in Ebiten is introducing a Go-flavored shading language. I hope this would be used more in actual applications.
- Ebiten 自体の一番大きい変化は、 Go 風味シェーディング言語の導入です。今後もっと実アプリケーションで使われるように慣ればと思います。
- The second most significant change in Ebiten is updating the major version to v2. This was the first trial, but apparently worked well. v3 will be released in about 5 years.
- 次に大きい変化は、メジャーバージョンが v2 にアップデートされたことです。初の試みでしたが、うまく行ったように思われます。 v3 が出るのはおおよそ 5 年後くらいでしょう。
- I have been working on supporting consoles. An actual output will be shown in 2021.
- 家庭用ゲーム機の対応を行っていました。実際に成果物が出るのは 2021 年でしょう。
- Compared with the last year, the number of applications with Ebiten has been increased. I am very grateful with that. I picked up some of them in this article.
- 去年と比べて、 Ebiten を使ったアプリケーションが徐々に増えてきました。大変ありがたいことです。この記事でもいくつかピックアップして紹介しています。
December, 2019
2019 年 12 月
- Google Developer Group Shikoku held a workshop about Ebiten "香川 Go 言語 わいわい会 (GAME を作ろう)" in Kagawa, Japan.
- Google Developer Group Shikoku 主催で、「香川 Go 言語 わいわい会 (GAME を作ろう)」という Ebiten の勉強会が香川県で開かれました。
- Jae Bentvelzen (SilbinaryWolf) released Give Up The Dupe". This is the very first Steam game with Ebiten, as far as I know.
- 「Give Up The Dupe」が Jae Bentvelzen (SilbinaryWolf) 氏によってリリースされました。これは自分の知る限り、一番最初の Ebiten 製 Steam ゲームです。
January
1 月
- I've finished supporting Go modules for Gomobile. Gomobile is a very essential product for Ebiten, and supporting Go modules is necessary for Ebiten v2.
- Gomobile の Go modules 対応が完了しました。 Gomobile は Ebiten にとって極めて重要なプロダクトであり、 Go modules の対応は Ebiten v2 のために必要でした。
February
2 月
- I was doing an experiment to run the Go toolchains as WebAssembly. The output is in the project Asobiba.
- Go ツールチェーンを WebAssembly として動かす実験を行っていました。成果物は Asobiba リポジトリにあります。
March
3 月
- Started to develop go2dotnet. This is a tool to convert from Go to C# so that an Ebiten game work on MonoGame. With this, I planned to make Ebiten games work on consoles. Actually I've succeeded to make an Ebiten game work on MonoGame, but the output C# was too big to convert into C++ for consoles, then I abandoned this project. Instead, I started to develop go2cpp based on my experience of go2dotnet later.
- go2dotnet の開発を開始。これは、 Go を C# に変換するツールで、 Ebiten のゲームを MonoGame で動かすことができ、家庭用ゲーム機で動かすことを目論んだものでした。実際 Ebiten のゲームを MonoGame 上で動かすことは出来たのですが、生成される C# が巨大すぎて家庭用ゲーム機への C++ 変換がうまくいかなかったので断念しました。その代わり、 go2dotnet は後に開発する go2cpp の礎となりました。
April
4 月
- Released Ebiten 1.11. The main feature is
Game
interface andRunGame
function. In addition, you can develop a desktop mascot application. - Ebiten 1.11 をリリース。主な機能は
Game
インターフェイスとRunGame
関数です。また、デスクトップマスコットが作れるようになりました。
May
5 月
- Started to develop go2cpp. This tool converts Go to C++. The purpose is to make Ebiten games works on consoles.
- go2cpp の開発を開始。このツールは Go を C++ に変換します。目的は Ebiten のゲームを家庭用ゲーム機で動かすことです。
June
6 月
- Introduced a breaking change to make Ebiten faster.
- Ebiten の高速化のために、破壊的変更を導入しました。
July
7 月
- Snowman Story, which is made with Ebiten by Odencat, received Top10 award at Google Play Indie Games Festival 2020. Congratulations!
- Odencat is a game company established by Daigo and has released several mobile games in Ebiten.
- Odencat の Ebiten 製ゲーム「スノーマンストーリー」が、Google Play Indie Games Festival 2020 にてトップ 10 を受賞しました。おめでとうございます!
- Odencat は Daigo によって設立されたゲーム会社で、 Ebiten 製モバイルゲームをいくつかリリースしています。
「スノーマン・ストーリー」TOP10に選んでいただけたようです。ありがとうございます🥲
— Ryota (@ryo4071) July 24, 2020
他の受賞者と特別賞の方もおめでとうございます!!#IndieGamesFestival https://t.co/mNfP3M27xW
August
8 月
- Several interesting games with Ebiten were released in this month.
- Nadim Kobeissi released Piccolo. This is an Othello game with a beautiful user interface, and has the WebAssembly version. This AI is astonishingly strong for me and I could not beat the default level.
- corfe83 released Idle Armada. Probably this is the very first paid Android application with Ebiten.
- いくつか興味深いゲームがリリースされました。
- Nadim Kobeissi 氏の Piccolo がリリースされました。美しい UI を持つオセロゲームで、 WebAssembly 版があります。 AI がめちゃくちゃ強くて、自分の場合デフォルトのレベルでは一度も勝てませんでした。
- corfe83 氏の Idle Armada がリリースされました。これはおそらく Ebiten 史上初の有料 Android アプリケーションです。
September
9 月
- Odencat released Mousebusters.
- Odencat の ねずみバスターズ がリリースされました。
October
10 月
- Released Ebiten 1.12 with a Go-flavored shading language.
- Ebiten 1.12 をリリース。Go 風味のシェーダ言語が利用できるようになりました。
- Released Ebiten 2.0. This is the first major version update. The APIs are cleaned up.
- Ebiten 2.0 をリリース。初めてのメジャーバージョンアップデートです。 API が整理されました。
package main
// Uniform variables.
var Time float
var Cursor vec2
var ScreenSize vec2
// Fragment is the entry point of the fragment shader.
// Fragment returns the color value for the current position.
func Fragment(position vec4, texCoord vec2, color vec4) vec4 {
// You can define variables with a short variable declaration like Go.
lightpos := vec3(Cursor, 50)
lightdir := normalize(lightpos - position.xyz)
normal := normalize(imageSrc1UnsafeAt(texCoord) - 0.5)
ambient := 0.25
diffuse := 0.75 * max(0.0, dot(normal.xyz, lightdir))
// You can treat multiple source images by
// imageSrc[N]At or imageSrc[N]UnsafeAt.
return imageSrc0UnsafeAt(texCoord) * (ambient + diffuse)
}
- Tommaso Visconti held a workshop session "Game development with Go" at GoLab 2020.
- GoLab 2020 にて、 Tommaso Visconti 氏のワークショップ「Game development with Go」が行われました。
November
11 月
- At a game jam Game Off 2020 hosted by GitHub, some games with Ebiten were released
- GitHub 主催のゲームジャム Game Off 2020 にて、いくつか Ebiten 製ゲームが公開されました。
December
12 月
- I'm now working on supporting consoles, especially Nintendo Switch. Stay tuned!
- 現在、家庭用ゲーム機、特に Nintendo Switch のサポートに向けて作業中です。お楽しみに!
Ebiten in 2021 and after
2021 年以降の Ebiten
- The highest priority task is supporting consoles, especially Nintendo Switch (Issue 744). I believe this can be done with go2cpp. Due to NDA, I cannot make the work open, but I'd like to release an Ebiten game for Nintendo Switch some day.
- 最もプライオリティの高いタスクは家庭用ゲーム機、特に Nintendo Switch のサポートです (Issue 744)。 go2cpp を使って実現可能であると信じています。 NDA の問題があり、成果物は公開できないのですが、いつか Nintendo Switch 向けの Ebiten ゲームをリリースしたいと考えています。
- The other thing I am interested in is supporting UI (Issue 1029). I think that supporting a native text input would be useful.
- その他興味があるのは UI のサポートです。ネイティブでテキスト入力ができるようになると便利であると考えています (Issue 1029)。