我々はゲームのために開発パッケージ
我々はいくつかのゲームをリリースしたClock of Atonement and Bluebird of Happiness . 残念ながら、いくつかのビジネス上の理由でまだオープンソースにしていません.しかし、我々は現在、ゲーム開発者がそれらを利用することができるようにゲームのためのいくつかのパブリックパッケージにコードを分割しているし、GOの開発は、より人気が得られるだろう.この記事では、我々が開発し、ゲームのために使用公共のGOパッケージをリストしたいと思います!
ギタブ.エムエムゲン
フォントはTrueTypeで、OpenTypeではありません.これまでのところ、OpenTypeフォントを解析するために実際に使用可能なgoパッケージが存在しないためです. 多くのグリフがオリジナルから削除され 我々のゲームはこれまで中国のサポートを持っていません、しかし、我々は現在このフォントパッケージでそれを実装しています.
Packges上では、ユーザーインターフェイスなどのパッケージを開発中です.ステイ!
ギタブ.エムエムゲン
デッドシンプルな2 Dゲームライブラリ.基本的にはOpenGLラッパーです.これは、複数のプラットフォームではなく、デスクトップだけでなく、携帯電話、さらにはWebブラウザで動作しますGopherJS ! 実際、我々はデスクトップとブラウザーでゲームを開発することができて、動員のためにリリースされました.
蝦夷海老天) 私の好きな日本食の一つであるエビの天ぷらを意味します−)
ギタブ.関連キーワード:com
純粋な試みのMP 3デコーダ.これは港ですPDMP3 , パブリックドメインライセンスのMP 3デコーダ.私がこの仕様を理解しないで自動的に移植したので、まだ私のlibで何が起こっているのか理解しています.
私がOggのような他のデコーダの代わりにMP 3デコーダを開発した動機は、我々がブラウザーでゲームを製作したかったということです.現在MP3 is supported by most modern browsers しかし、他はよくサポートされていません.Ogg ). MP 3デコーダの代わりにブラウザのネイティブデコーダをパフォーマンスのために使うことができました.MP 3には特許問題があったが、特許は2017年に期限が切れた.
ギタブ.関連キーワード:com
低レベルのオーディオlib.この偉大なことは移植性です:これはWindows、MacOS、Linux、Android、IOSとWebブラウザで動作します.これはちょうどio.Writer
そして、あなたは作家にバイトを書くことによって、どんな音でも遊ぶことができます.With go-mp3
, あなたはMP 3ファイルを再生することができます io.Copy
( Example )!
func run() error {
f, err := os.Open("classic.mp3")
if err != nil {
return err
}
defer f.Close()
// Decode MP3 stream and the result is an `io.Reader`
d, err := mp3.NewDecoder(f)
if err != nil {
return err
}
defer d.Close()
// Create an oto's player, which is an `io.Writer`
p, err := oto.NewPlayer(d.SampleRate(), 2, 2, 8192)
if err != nil {
return err
}
defer p.Close()
// With `io.Copy`, you can play the decoded MP3 on your machine!
if _, err := io.Copy(p, d); err != nil {
return err
}
return nil
}
大戸音) 日本語で「音」を意味する.
ギタブ.関連キーワード:com
もう一つのツールは、ファイルを移動するには、バイナリを埋め込むgo-bindata . file2bytesslice
他の同様のパッケージに比べて簡単です.これはただ一つのバイナリを1バイトのスライスリテラルに変換します.それだ!私が開発した動機は、あるincident : Go Bindataのオリジナルの著者はGitHubアカウントを削除し、別の人は再び同じGitHubアカウントを使用していました.そこで、自分で開発しようとしました.
Usage of file2byteslice:
-compress
use gzip compression
-input string
input filename
-output string
output filename
-package string
package name (default "main")
-var string
variable name (default "_")
ギタブ.関連キーワード:com
提供するパッケージ font.Face
対象M+ Bitmap font 日本語のテキストは8/16です.font.Face
はフォントフェースを表現する半標準インターフェースであり、a TrueType parser イントゥメイクfont.Face
インスタンス.あなたはテキストを描くことができますEbiten's text package 非常に簡単に!もちろん、これは(半)標準レンダリングパッケージで使用できますExample ).
const text = `Hello, World!
こんにちは世界!`
func run() error {
const (
ox = 16
oy = 16
)
dst := image.NewRGBA(image.Rect(0, 0, 320, 240))
// Initialize the destination image dst by filling with white.
draw.Draw(dst, dst.Bounds(), image.NewUniform(color.White), image.ZP, draw.Src)
f := mplusbitmap.Gothic12r
// golang.org/x/image/font's Drawer draws a text on a specified image.
d := font.Drawer{
Dst: dst,
Src: image.NewUniform(color.Black),
Face: f,
Dot: fixed.P(ox, oy),
}
for _, l := range strings.Split(text, "\n") {
d.DrawString(l)
d.Dot.X = fixed.I(ox)
d.Dot.Y += f.Metrics().Height
}
// Now the text is drawn to the image dst.
return nil
}
ギタブ.日本語版
これはNoto CJK fonts . このパッケージのフォントは、いくつかの点でオリジナルのNOTO CJKフォントとは異なります.
純粋な試みのMP 3デコーダ.これは港ですPDMP3 , パブリックドメインライセンスのMP 3デコーダ.私がこの仕様を理解しないで自動的に移植したので、まだ私のlibで何が起こっているのか理解しています.
私がOggのような他のデコーダの代わりにMP 3デコーダを開発した動機は、我々がブラウザーでゲームを製作したかったということです.現在MP3 is supported by most modern browsers しかし、他はよくサポートされていません.Ogg ). MP 3デコーダの代わりにブラウザのネイティブデコーダをパフォーマンスのために使うことができました.MP 3には特許問題があったが、特許は2017年に期限が切れた.
ギタブ.関連キーワード:com
低レベルのオーディオlib.この偉大なことは移植性です:これはWindows、MacOS、Linux、Android、IOSとWebブラウザで動作します.これはちょうどio.Writer
そして、あなたは作家にバイトを書くことによって、どんな音でも遊ぶことができます.With go-mp3
, あなたはMP 3ファイルを再生することができます io.Copy
( Example )!
func run() error {
f, err := os.Open("classic.mp3")
if err != nil {
return err
}
defer f.Close()
// Decode MP3 stream and the result is an `io.Reader`
d, err := mp3.NewDecoder(f)
if err != nil {
return err
}
defer d.Close()
// Create an oto's player, which is an `io.Writer`
p, err := oto.NewPlayer(d.SampleRate(), 2, 2, 8192)
if err != nil {
return err
}
defer p.Close()
// With `io.Copy`, you can play the decoded MP3 on your machine!
if _, err := io.Copy(p, d); err != nil {
return err
}
return nil
}
大戸音) 日本語で「音」を意味する.
ギタブ.関連キーワード:com
もう一つのツールは、ファイルを移動するには、バイナリを埋め込むgo-bindata . file2bytesslice
他の同様のパッケージに比べて簡単です.これはただ一つのバイナリを1バイトのスライスリテラルに変換します.それだ!私が開発した動機は、あるincident : Go Bindataのオリジナルの著者はGitHubアカウントを削除し、別の人は再び同じGitHubアカウントを使用していました.そこで、自分で開発しようとしました.
Usage of file2byteslice:
-compress
use gzip compression
-input string
input filename
-output string
output filename
-package string
package name (default "main")
-var string
variable name (default "_")
ギタブ.関連キーワード:com
提供するパッケージ font.Face
対象M+ Bitmap font 日本語のテキストは8/16です.font.Face
はフォントフェースを表現する半標準インターフェースであり、a TrueType parser イントゥメイクfont.Face
インスタンス.あなたはテキストを描くことができますEbiten's text package 非常に簡単に!もちろん、これは(半)標準レンダリングパッケージで使用できますExample ).
const text = `Hello, World!
こんにちは世界!`
func run() error {
const (
ox = 16
oy = 16
)
dst := image.NewRGBA(image.Rect(0, 0, 320, 240))
// Initialize the destination image dst by filling with white.
draw.Draw(dst, dst.Bounds(), image.NewUniform(color.White), image.ZP, draw.Src)
f := mplusbitmap.Gothic12r
// golang.org/x/image/font's Drawer draws a text on a specified image.
d := font.Drawer{
Dst: dst,
Src: image.NewUniform(color.Black),
Face: f,
Dot: fixed.P(ox, oy),
}
for _, l := range strings.Split(text, "\n") {
d.DrawString(l)
d.Dot.X = fixed.I(ox)
d.Dot.Y += f.Metrics().Height
}
// Now the text is drawn to the image dst.
return nil
}
ギタブ.日本語版
これはNoto CJK fonts . このパッケージのフォントは、いくつかの点でオリジナルのNOTO CJKフォントとは異なります.
func run() error {
f, err := os.Open("classic.mp3")
if err != nil {
return err
}
defer f.Close()
// Decode MP3 stream and the result is an `io.Reader`
d, err := mp3.NewDecoder(f)
if err != nil {
return err
}
defer d.Close()
// Create an oto's player, which is an `io.Writer`
p, err := oto.NewPlayer(d.SampleRate(), 2, 2, 8192)
if err != nil {
return err
}
defer p.Close()
// With `io.Copy`, you can play the decoded MP3 on your machine!
if _, err := io.Copy(p, d); err != nil {
return err
}
return nil
}
もう一つのツールは、ファイルを移動するには、バイナリを埋め込むgo-bindata .
file2bytesslice
他の同様のパッケージに比べて簡単です.これはただ一つのバイナリを1バイトのスライスリテラルに変換します.それだ!私が開発した動機は、あるincident : Go Bindataのオリジナルの著者はGitHubアカウントを削除し、別の人は再び同じGitHubアカウントを使用していました.そこで、自分で開発しようとしました.Usage of file2byteslice:
-compress
use gzip compression
-input string
input filename
-output string
output filename
-package string
package name (default "main")
-var string
variable name (default "_")
ギタブ.関連キーワード:com
提供するパッケージ font.Face
対象M+ Bitmap font 日本語のテキストは8/16です.font.Face
はフォントフェースを表現する半標準インターフェースであり、a TrueType parser イントゥメイクfont.Face
インスタンス.あなたはテキストを描くことができますEbiten's text package 非常に簡単に!もちろん、これは(半)標準レンダリングパッケージで使用できますExample ).
const text = `Hello, World!
こんにちは世界!`
func run() error {
const (
ox = 16
oy = 16
)
dst := image.NewRGBA(image.Rect(0, 0, 320, 240))
// Initialize the destination image dst by filling with white.
draw.Draw(dst, dst.Bounds(), image.NewUniform(color.White), image.ZP, draw.Src)
f := mplusbitmap.Gothic12r
// golang.org/x/image/font's Drawer draws a text on a specified image.
d := font.Drawer{
Dst: dst,
Src: image.NewUniform(color.Black),
Face: f,
Dot: fixed.P(ox, oy),
}
for _, l := range strings.Split(text, "\n") {
d.DrawString(l)
d.Dot.X = fixed.I(ox)
d.Dot.Y += f.Metrics().Height
}
// Now the text is drawn to the image dst.
return nil
}
ギタブ.日本語版
これはNoto CJK fonts . このパッケージのフォントは、いくつかの点でオリジナルのNOTO CJKフォントとは異なります.
const text = `Hello, World!
こんにちは世界!`
func run() error {
const (
ox = 16
oy = 16
)
dst := image.NewRGBA(image.Rect(0, 0, 320, 240))
// Initialize the destination image dst by filling with white.
draw.Draw(dst, dst.Bounds(), image.NewUniform(color.White), image.ZP, draw.Src)
f := mplusbitmap.Gothic12r
// golang.org/x/image/font's Drawer draws a text on a specified image.
d := font.Drawer{
Dst: dst,
Src: image.NewUniform(color.Black),
Face: f,
Dot: fixed.P(ox, oy),
}
for _, l := range strings.Split(text, "\n") {
d.DrawString(l)
d.Dot.X = fixed.I(ox)
d.Dot.Y += f.Metrics().Height
}
// Now the text is drawn to the image dst.
return nil
}
これはNoto CJK fonts . このパッケージのフォントは、いくつかの点でオリジナルのNOTO CJKフォントとは異なります.
golang.org/x/image/font/sfnt
is under development ). chinesegamefonts
フォントは、ファイルサイズを減らす唯一の一般的なCJKグリフを含みます.元のファイルのサイズは46.1 MB(両方の簡体字と繁体字)、および縮小されたものは4.4 MB(簡体字)と7.6 MB(伝統的)です!Packges上では、ユーザーインターフェイスなどのパッケージを開発中です.ステイ!
Reference
この問題について(我々はゲームのために開発パッケージ), 我々は、より多くの情報をここで見つけました https://dev.to/hajimehoshi/go-packages-we-developed-for-our-games--4cl9テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol