サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
tkitao.hatenablog.com
2018年6月に最初のリリースを行ってから、早いものでもう4年。少しずつ機能の追加と改良を重ね、Python向けレトロゲームエンジンPyxelはバージョン1.8になりました。 Pyxel 1.8系のテーマは対応プラットフォームの拡大です。 元々マルチプラットフォーム対応を謳っていましたが、1.8では対応プラットフォームの強化を進め、正式に以下の環境をサポートするようになりました。 Intel 64ビットWindows Intel 32ビットWindows ARM 64ビット Mac (M1/M2 Mac) Intel 64ビット Mac Intel 64ビット Linux Intel 32ビット Linux ARM 64ビット Linux (Chromebookも含む) そして、現在急ピッチで整備を進めている最後の大物プラットフォームがWebブラウザです。 Web版Pyxelはようやく一通
Python向けレトロゲームエンジンPyxelのユーザーの皆様、こんにちは。 バージョン1.6からは、通常のサンプルとは別に2つのPyxel製ゲーム(以下の画像)もバンドルするようにしたのですが、楽しんでいただけていますでしょうか。 こちら、UK在住のスーパークリエイターAdamさん作のゲームなのですが、どちらも面白いだけでなく、歯応えも相当ありますので、クリアを目指すのであれば心してかかった方が良いと思います。私も動作確認のためにクリアまでプレイしたのですが、ものすごい時間がかかって、ほとんどゲームセンターCXのノリでした…。 昨年12月、Rust版コアエンジンを搭載した新バージョンのPyxelをリリースし、その後の不具合修正もひと段落して、やっと一息着くことができました。無事たくさんの方々に使っていただけているようで、PyPIで24万ダウンロード、GitHubも9300スターとなりまし
在宅勤務、週末の外出自粛と、何かと家にいることが多くなりました。 厳しい状況が続きますが、まとまった時間を確保して、新しく何かを身に着けるにはいい機会と言えるかもしれません。 そこで、在宅の時間を活用して、Pythonの使い方やゲームプログラミングを覚えたいという方に向けて、最新版に対応したレトロゲームエンジンPyxelの紹介記事を再作成してみました。 古い紹介記事を読んで、以前のインストール方法を試して詰まっている方もたまに見かけますので、こちらの最新版の紹介記事を参考にしていただければと思います。 Pyxelとは Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 GitHubでオープンソースとして公開されており、2018年7月30日のリリース後4日で、GitHubのデイリーランキングで1億プロジェクト中1位を獲得。現在は6800スタ
Pythonでちょっとしたお絵描きやアニメーションを作成したいということはありませんか? Python向けレトロゲームエンジンPyxelでは、バージョン 1.2からお手軽にお絵描きをするための命令を追加されています。 新しい命令を使うことで、次のような画像を10行程度のPythonコードで作成することができます。 今回は新しい描画命令の使い方と、それを使ったクリエイティブ・コーディングの例を紹介していきたいと思います。 Pyxel 1.2 について PyxelはPythonで手軽にドット絵タイプのレトロゲームを作成するためのゲームエンジンです。 Pyxelの機能や詳しい使い方の説明は日本語版マニュアルに記載されていますが、とりあえず使ってみたいということであれば、以下の命令を入力すれば完了です。 [Windows] Pythonをインストールした環境で、 pip install pyxel
仕事が立て込んでいたため、すっかり更新の間が空いてしまいましたが、ようやく平常運転に戻れそうです。 前回紹介記事を書いた時には、まだ日本ではほとんど知られていなかったレトロゲームエンジン Pyxelですが、その後たくさんの方々のおかげで日本でも知られるようになり、日本語の紹介記事やチュートリアルも増えてきました。 今回はそれらのPyxel関連記事を日英織り交ぜてご紹介したいと思います。 窓の杜のPyxel紹介記事 forest.watch.impress.co.jp Impress 樽井さんによるPyxelの紹介記事です。Pyxelの導入方法や基本機能が簡潔にわかりやすくまとめられています。プロはやっぱりすごいですね。 Pyxel『7日間』チュートリアル cpp-learning.com はやぶささんによるPyxel 1週間チュートリアルです。 会話形式で大変読みやすく、1回ごとの説明量も
Pyxelの開発が一区切りしたので、改めて紹介記事を書いてみました。 [2020.4.4追記:最新版の紹介記事はこちらです] Pyxelって何? Pyxel(ピクセル)は、昔ながらのドット絵タイプのゲームを簡単に作れる「レトロゲームエンジン」です。 2018年7月30日にリリースされた、非常に新しいゲームエンジンなのですが、海外を中心に急速にユーザーが増えています。 github.com プロジェクトはGitHubでオープンソースとして公開されており、公開4日でGitHubのデイリーランキングで全1億のプロジェクト中1位を獲得。ついでに作者である私もGoogle、Facebook、Microsoft等の企業アカウントを含む3100万人の開発者ランキングで1位になっています。(1位の座は48時間持ちませんでしたが…) GitHub上ではその後もスター数が増え続けており、現在は4000スターを
Pythonで手軽にゲームが作れるレトロゲーム開発環境 Pyxel をリリースしました。 インストール方法や使い方の説明はこちら。 github.com 当初予定していた一通りの機能が実現できたので、今後はパフォーマンス改善と画像&サウンド編集ツールの開発に着手する予定です。 リリース前の調整作業で力尽きたので、詳しい解説はまたいずれ…。
すっかり更新の間が空いてしまいましたが、新しい活動に着手しています。 Pyxelという名前のPythonで開発できる架空のレトロゲームコンソールです。 まだまだ作りかけで音も出ませんが、コードはGitHubにアップしているので実装の雰囲気をみることはできます。 github.com 全ての描画を1ドローコールに納めて、各描画コマンドは1頂点のポイントスプライトとして実現していたりと、色々語りたい工夫はあるのですが、もう少し実装が進んだら解説したいと思います。 早く正式公開して、Pythonでゲームを作りたい人の役に立てるといいなあ。
色々あって更新がだいぶ久しぶりになってしまいました。 ここ一年くらい、2D系のゲームエンジンをちょこちょこいじって楽しむことが多かったのですが、その中でも触れる機会が多かったのが以下の3つのゲームエンジンです。 PICO-8 TIC-80 LÖVE 参考(Fantasy Console Game Jam 3): www.youtube.com どのエンジンも、Lua等のスクリプトで気軽にゲーム開発を始められるのが魅力ですが、せっかくならVimから簡単に実行できるようにして、もっと手軽にコーディングを楽しみたい!ということで、専用の実行コマンドを作成してみることにしました。 やりたいこと VimのコマンドでPICO-8、TIC-80、LÖVEを起動する その際に、現在編集中のソースコードを自動的に実行する LÖVE場合は自動で起動フォルダを探して指定する WindowとMacのどちらでも同じ
久々の更新。 仕事の絡みでここのところUE4を使う機会が多いのですが、プライベートでは違うものを触って多少は気分転換を、ということで子供とGameMaker Studio 2を触り始めてみました。 まだ何かをまとめて語れるところまで至ってはいませんが、GameMaker関連の日本語情報はびっくりするぐらい少ないので、何かの足しにはなるだろうということで、GMS2を使い始めるにあたって役立った情報を軽くまとめてみます。 GameMaker Studio 2 (GMS2)とは GameMaker Studio 2は YoYo Gamesが開発しているマルチプラットフォーム対応のゲーム開発ツールで、その名の通りGameMaker Studio1の後継バージョンとして昨年11年に発表されました。 UnityやUnreal Engineとの大きな違いは2Dゲームの開発に特化していることで、3D関連の
PC上で仮想的にレトロゲーム機の開発&実行環境を実現する、Fantasy Console(架空のゲーム機)が活況を呈しています。 ブームの火付け役はPICO-8(商用ソフト、2014年発売)なのですが、PICO-8にインスパイアされる形で、現在では様々なFantasy Consoleが開発されています。 どんなFantasy Consoleがあるかは、こちらの記事をご覧いただくのがよいかと思いますが、その中でも名前をよく目にするのは、元祖PICO-8と、PICO-8のシンプルさを踏襲しつつ若干自由度を高めたTIC-80あたりでしょうか。 TIC-80の動作画面: さてそのTIC-80ですが、元々はPICO-8と同じく商用ソフトだったのですが、なんと今年の9月にオープンソース化し、無料で使えるようになりました! MITライセンスです。 これはみんなで遊ばないともったいない!ということで、本日
最近、PICO-8がかなりお気に入りです。 子供にも教えようとしたのですが、公式マニュアルが英語版しかなかったため、日本語版を作成してみました。これを機会に広がっていくといいですね。 github.com ということで、Let's enjoy PICO-8 developer life!
フリーの3DCGツールであるBlenderの習得にチャレンジしては、返り討ちにあうといったことを、ここ十数年の間、何度も繰り返していたのですが、今年の頭から始めた新たなトライでようやくBlenderの面白さがわかるようになってきました。 といってもようやく最初の一歩を踏み出せたレベルなので、これから本格的に精進する感じなのですが、せっかくなのでBlenderの苦手意識を克服するのに役立った情報をまとめてみたいと思います。 ちなみに、1月の週末にちょこちょこ作っていた3Dモデルはこちら: ビーグル犬 スレンダーマン 出来の良し悪しはさておき、Blenderを使って何かを一通り作れたことがよかったです。 まずはモチベーションを高める Blenderは操作方法に少々クセがあるので、まずはBlenderのデモ動画を鑑賞してやる気をアップさせました。 www.youtube.com www.yout
風邪で咳が3週間ぐらい止まりません。問答無用で腹筋が鍛えられてます。早くマスクから卒業したいです。 今日はProcessingで残像表現を実現する方法について書いてみたいと思います。 簡易的な残像表現 まずはProcessingでよく使われる、半透明のrectを利用したシンプルな残像表現を行ってみます。 draw関数の中で通常backgroundでクリアするところを、次のように半透明のrectを使ってクリアすることで、簡易的に残像表現を実現することができます。 void draw() { fill(255, 250); rect(0, 0, width, height); // 以下描画処理 } 簡易的な残像表現の例 実際の動作例です。 この方法はお手軽でいいのですが、背景が単色か一枚絵の時しか使えず、アレンジも難しいところが難点です。 オフスクリーンバッファを使った残像表現 続いて表示画
Processing Advent Calendar 2016、13日目の記事です。 去年に続き2回目の参戦になります。kitaoです。よろしくお願いします。 私はどうにも配色というのが苦手で、Processingで何かを作るときは、つい#00FF00とか#FF8080みたいな十六進数的にはキリはいいけどセンスのない色を適当にチョイスしてしまいます。 そこで今回は必要な色数を指定するだけで、勝手にそれっぽい配色を作成してくれる関数を作ってみたいと思います。 Processingによる配色の自動生成 そもそも、配色をどう考えるべきかよくわかっていないので、まずは役立ちそうなアルゴリズムを紹介してくれているサイトを探してみました。 配色の見本帳|キーカラーで選ぶ配色パターン How to Choose Colours Procedurally (Algorithms) このあたりのサイトから楽
先日、PICO-8の作者のJoseph Whiteさんとお話する機会がありました。結構な時間おしゃべりさせていただいて、今まで気になっていたことを色々お聞きすることができました。(例えば、バージョン1.0が出るのは○月頃とか隠し仕様の話とか…) と、その話はいずれまたどこかで触れるとして、今日はPICO-8の横スクロールゲームサンプルであるJelpiの解説をしてみたいと思います。 PICO-8サンプル"Jelpi"のプログラム解説 JelpiはPICO-8に付属するマリオ風の横スクロールゲームのサンプルです。 PICO-8について知らないという方は以下のリンクをご覧ください。 PICO–8って何? – PICO–8ゲーム開発入門(1) PICO-8 Wiki (英語) PICO-8 日本語版マニュアル PICO-8 API 早見表 PICO-8のコンソールモードで以下のコマンドを入力すると
時折思い出したようにHaskellで簡単なツールを作る程度には関数型言語好きなのですが、UIやゲームの設計スタイルが革新的に変わると巷で噂の関数型リアクティブプログラミング(FRP: Functional Reactive Programming)は未経験だったので、ゴールデンウィークを機に勉強し始めました。 様々な記事を読む中で、特に以下の2つの記事が大変わかりやすく役に立ったのですが、後者はまだ日本語版がないようなので、この機会に翻訳してみたいと思います。 The introduction to Reactive Programming you've been missing(翻訳) Functional Reactive Game Programming – RxJS Breakout と、その前にお約束のマントラを。Everything is a stream! 【翻訳】関数型リア
思い立ってProcessing Advent Calendar 2015に参加させていただきました。12/20担当、kitaoです。よろしくお願いします。 かつて、「Rubyを使って気軽にクリエイティブコーディングしたい!」という人がたくさんいるに違いないと確信し、Processing.rbを作ったりしたのですが、心残りなこととして、JavaのProcessingライブラリを利用していたため、ブラウザ上で簡単に公開できないという点がありました。 あれから時代は流れ、今はp5.jsやOpalといったブラウザと相性の良いライブラリが大分実用的になって来ましたので、今回はブラウザ上でRubyで作成したProcessingのスケッチを動かすことにチャレンジしてみたいと思います。 Rubyで作成したスケッチをブラウザ上で動作させる 先に結論。 Rubyで作ったスケッチを無事ブラウザで動かすことができ
Cocos2d-xのJavaScript版で何か作ろうと思って少しずつ勉強を進めていたのですが、ついでにエディタもAtomに変えてみようと思ったのが紆余曲折の始まりで、気づけばパッケージを色々試したり、キーバインディングを変更したり、Mac版とWindows版の違いに悩まされたりと、すっかり時間が経ってしまいました。 試行錯誤の中でも、一番時間を使ったのがCocos2d-x向けにAtomに補完候補のキーワードを追加する方法で、使えそうなパッケージがないため結局自作の道を選ぶことになりました。 ということで、今回はCocos2d-xではなく、その前哨戦としてAtomに独自の補完候補を追加する方法について2回に分けて解説してみたいと思います。 Atomエディタについて AtomはGitHubが開発しているテキストエディタです。フレームワークとしてChromiumとNode.jsを組み合わせたE
また久々の更新になってしまいました。 8月9日にProcessing 3.0 beta 2がリリースされたので、今回は公式ページを参考にProcessing 3.0の主な変更点をチェックしてみたいと思います。 Processing 3.0の変更点 Processing 2.xから3.xへの主な変更点は以下のとおりです。 描画高速化 P2D、P3DなどのOpenGLを使用する描画モードがより高速・安定動作するようになりました。また、デフォルトの描画モードであるJAVA2Dも一部高速化しています。 JAVA2Dは最終的に、大幅に高速化されたバージョンであるFX2Dに置き換えられる予定です。 エディタの更新 付属のエディタが刷新され、Control+Spaceでの補完(環境設定メニューでオンにする必要あり)や、デバッガなどが使用できるようになりました。 補完は候補が表示されるまで少し時間がかかる
Python向けレトロゲームエンジンPyxelが30万ダウンロードされました!ありがとうございます! Retro game engine Pyxel for Python has been downloaded 300,000 times! Thank you! ということで、記念動画を作成してみました。 So, I made a commemorative video. 皆様、引き続きPyxelをよろしくお願いします。 Thank you all for your continued support of Pyxel. 面白いものがたくさん出てくることを期待しております! I hope that you will create many interesting things with it! Dear Pyxel users, are you enjoying the web versi
ゴールデンウィークも残りあと数日。仕事に復帰できる気が全然しません。 子供が美術の宿題で自分の手のデッサンをしていて、陰影のつけ方が微妙に間違っていたので指摘したのですが、自分でも違っているのはわかるが、どこがどう違うかよくわからないとの返事が返ってきました。 よろしい、ならば実装(Processing)だ。ということで、Processingでお手本のデッサン画像を自動作成するスケッチを作ってみることにします。 デッサン風画像の作成方法 デッサン風画像の作成は、以下の3つのステップで行います。 参考画像を取得 画像のピクセル情報を参照 各ピクセルを鉛筆風に描画 各ステップの詳細を順に説明します。 参考画像を取得 デッサンの基になる画像はWebカメラでキャプチャしたものを使うことにします。Processing 2.xでは以下のコードでカメラのキャプチャを開始できます。 import proc
ここ最近、ちょこちょこいじっているUnityネタです。 今回は2回に分けてUnity上でPythonを使う方法について書いてみたいと思います。1回目の今日はPythonコードをアセットに組み込んで動かす方法について解説します。 Unityでアセットに組み込んだPythonコードを動かす方法 PythonのC#実装であるIronPythonを利用することで、Unity上でPythonコードを動かすことができます。IronPythonはMacとWindowsに両対応しているので、同じプロジェクトのまま両プラットフォームで動作します。 以下、動作手順です。 IronPythonを取得する IronPythonは公式サイトのダウンロードページから取得できます。最新バージョンのバイナリ版であるIronPython 2.7.5 Binariesをダウンロードして、適当な場所に展開してください。 Uni
GIFアニメ、流行っているみたいですね。(改めて書くと今さら感がありますが…) Processingクックブックサイトを目指すつもりはないのですが、他に手頃なネタが思いつかなかったので、今日はProcessingを使ったGIFアニメの作成方法を解説してみたいと思います。 ProcessingによるGIFアニメの作成 Wikipediaの説明にあるとおり、GIFアニメはGIF形式の画像を使ったアニメーションです。色数が256色しか使えないなどの制限はありますが、ちょっとした動画を手軽に共有したい時などに重宝します。 Processingを使ったGIFアニメの作成は以下の手順で行います。 GifAnimation(拡張ライブラリ)のインストール スケッチへのGifAnimationの追加 GifMakerクラスによるアニメーションの出力 各手順を説明します。 GifAnimationのインスト
ようやく仕事が一段落ついたのですが、その反動で週末寝込み気味です。また更新の間が空いてしまいました。 ここ最近、Kivyをちょこちょこ触っているのですが、iPhone、Androidを含むマルチプラットフォームに対応していて、速度もそれほど悪くない感じでなかなか好感触です。 ということで、今日は久々にProcessingから離れて、Kivyを使って簡単なお絵描きをしてみたいと思います。Python書くの久しぶり。 Kivyとは KivyはPythonでマルチタッチに対応したアプリ開発を行うためのオープンソースのライブラリです。動作環境はAndroid、iOS、Linux、MacOS X、Windowsなどをサポートしており、ワンソースでマルチプラットフォームに対応するアプリを開発することができます。 MITライセンスで配布されており、商用でも利用可能です。 実際にKivyで開発されたアプリ
我が家にPS4がやってきました。本体にセットでついてきたKNACK(ナック)は世間からあまり注目されていないようですが、久しぶりにプレイしていて純粋に楽しいゲームでした。雑魚敵と戦うだけで楽しいゲームって作るのがすごく難しいんですよね。 今回は前回に引き続き、Processingで滑らかなアニメーションを実現する方法を解説していきます。 滑らかなアニメーションの実現方法 Processingで滑らかなアニメーションを実現する方法は2種類あります。 1つ目はdraw関数で更新を行う際に、前フレームからの経過時間に基づいて更新内容を算出する方法(時間ベースのアニメーション)。もう1つはアニメーションを更新処理と描画処理に分けて、経過時間に基づき更新処理を複数回実行する方法(フレームベースのアニメーション)です。 フレームベースのアニメーション 今回は処理が比較的シンプルで、既存のProcess
年末の休みで気持ちに大分ゆとりが出てきましたので、今日は大技です。 ProcessingのPython環境を整備していたら出来上がった副産物を紹介したいと思います。 Python Modeについて ProcessingのIDEには、Pythonを使ってスケッチを書けるPython Modeがあります。導入方法は以前の記事を参考にしていただくとして、このPython Modeを本格的に使おうとすると以下のような問題に直面します。 Processing IDEでPythonコードが書きにくい コードを編集するたびに再実行するのが手間 せっかくのPythonですので、その柔軟さを生かして解決してみます。 Pythonコードを外部のエディタから編集する 一つ目の問題点は、Processing IDEだとPythonのコードが書きにくいことです。 外部のエディタからコード(pydeファイル)を編集し
久々の休みです。ここのところイベントづくしだったので、ちょっと放心状態です。 気を取り直して、今日はProcessingの小技の紹介です。標準では提供されていないビルボードの描画を行ってみます。 ビルボードとは ビルボード(Billboard)とは、2Dの絵を3Dオブジェクトのように見せかける描画手法です。下の画像の草のように、三次元の座標上に大きさだけ合わせた二次元の絵をカメラ方向に向けて描画することで、平面の絵を立体的に錯覚させます。 ビルボードは形状が複雑な植物や爆発エフェクトなどでよく利用されます。 ビルボードの実現方法 Processingでビルボードを実現するには、描画用の変換行列を取得し、位置とサイズを維持したまま、回転だけさせないように修正します。 // 表示位置に平行移動 translate(x, y, z); // 現時点の変換行列を取得 PMatrix3D mat =
日本語の解説記事はまだあまり見かけないのですが、ProcessingにはPython ModeというスケッチをJavaではなくPythonで書ける機能があります。 今日はそのPython Modeを使っていくつかスケッチを作成してみたいと思います。 Python Modeの導入 Python Modeの機能はJonathan Feinbergらによって開発されているprocessing.pyで実現されています。Python Modeは公式のIDEに取り込まれていますので、GUIから簡単にインストールすることができます。 まずIDEのウィンドウ右上にあるモード選択ボタン(通常はJavaと書かれています)を押して、Add Mode...をクリックします。 次にMode ManagerのメニューからPythonを選択し、InstallボタンをクリックすることでPython Modeがインストール
次のページ
このページを最初にブックマークしてみませんか?
『kitao's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く