blogこの広告は、90日以上更新していないブログに表示しています。Pyxel久々の更新。Pyxel向けレトロゲームエンジンPyxelを昨年にリリースしてから1年が経ちました。おかげさまで様々な国の方々が使ってくださり、感想もたくさんいただいています。「こんなゲーム作ったよ」と教えてもらえる時がうれしいです。Pyxel解説記事も(好評?)連載中です。書店で見かけたら手にとってみていただければ幸いです。1.1をリリースをしました。1.1は大幅に性能が向上している一方、インストール方法や一部APIの仕様が変更となっているため、以前のバージョンを使っていた方は少々注意が必要です。移行方法について解説したいと思います。最大の変更点は、描画エンジンをPythonとGLFWによる実装から、C++とSDL2による実装に全面刷新したことです。旧バージョンでは、PythonからGLFWの関数を呼び出す際のオーバーヘッドによる速度低下と、実行環境によってGLFWのシェーダーの処理結果が微妙に異なるという問題があったのですが、今回の変更により、実行速度が15〜20倍高速に、また動作環境によらず同じ描画が行えるようになりました。描画エンジンの刷新を機に、いくつかのAPI仕様の見直しを行いました。APIの変更については、これまでのコードとの互換性がなくなるため非常に迷ったのですが、コードが簡潔になるのと、他のAPIとの整合性が取れる(=覚えることが少なくなる)ことから変更に踏み切らせてもらいました。仕様の変更点について、個別に説明していきます。新バージョンではSDL2を利用するため、一部環境でインストールの手順が変更になります。Windows特に変更はありません。pyxelでインストールできます。MacGLFWの代わりにSDL2をインストールします。Homebrew経由でインストールする場合は以下の手順になります。pyxelLinuxMacと同様、SDL2のインストールが必要になります。Ubuntu環境であれば、以下の手順になります。pyxel描画APIの仕様変更おそらく今回もっとも影響を受ける人が多いであろう変更です。3)のようになります。Tilemapクラスのメソッドの引数の変更Tilemapクラスのsetメソッドのオプション引数refimgを削除しました。新たにサウンドの再生位置を取得するplay_pos変数を追加しました。pyxel.play_pos(0)上記のように記述すると、チャンネル0のサウンド再生位置が取得できます。posの値が1234だった場合は、サウンド番号は12、ノート番号は34という意味になります。このAPIを使って、Pyxel製の音ゲーが作られるようになるといいですね。Pyxelリソースファイルのフォーマットの変更Pyxelリソースエディタを使って作成するPyxelリソースファイルの拡張子とデータフォーマットが変更になりました。旧バージョンでは.pyxelという拡張子でしたが、新バージョンでは.pyxresになっています。Editというドット絵作成ツールと拡張子名が被っていたためです。.pyxresファイルは各データをzip形式で圧縮した形式になっているので、拡張子を.zipに変更・解凍することで、データをテキストエディタで編集することも可能です。これまで作成した.pyxelファイルの読み込みも継続対応しており、リソースエディタで.pyxelファイルを読み込み、保存し直すことで、.pyxres形式に変更できます。今後のバージョンアップについて、まだ具体的な予定は決めていませんが、単体実行可能な形式への変換をできるようにしたいと考えています。それと、今Rustを勉強しているので、もしかすると描画エンジンをRustで作り直すかもしれません。engine!月別アーカイブはてなブログをはじめよう!tkitaoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。