2Dビデオゲームのメカクニスを記述するための言語VGDL (Video Game Description Language)というものを研究している人達がいる。 Towards a Video Game Description Language (pdf) ゲーム内AIなどを研究するために必要な言語仕様の提案として始まったようだ…
組み立て×分解!ゲームデザイン 筆者のkuniさんから献本いただいた。 ひどくおおざっぱに言うと、斬新なルール、ゲームメカニクスを持つゲームを作るに向けて、これは面白いだろうと思って作ったルールがイマイチな時、そこからどうやって工夫することで面白…
ES2015にはProxyという仕組みがある。 Proxy Proxyを使うことでオブジェクトへの書き込みや読み込みをフックすることができ、メタプログラミング的なことがJavaScript上で実現できるようになる。 例えば、関数呼び出しをフックして呼び出し前に何か別の処理…
ウソです。いやウソではないか……誇張です。 sarad p5.js demo 上のデモ開いて、左クリックでコード生成、右クリックでコード削除。運が良いと何かのグラフィックスを描くプログラムができる。あまりに何も描かないようだったら一旦右下の[Reset]を押して下さ…
ゲームそれ自体を自動生成してくれる機械が欲しい。開発者はその機械が生成するゲームを遊んで良ゲーなら採用、クソゲーなら捨てる、その作業だけでゲームが作れる。夢の機械だ。 人が後で見て取捨選択する前提なら、出来上がるものの大半ではクソゲーでもい…
Pathで囲まれたSVGの当たり判定を取ることができれば、ベクター形状の間で正確に当たり判定が取れる。現代版1ドットのエクスタシーを魅せることが可能だ。以下の様なコードを書いた。 stars SVGPathCollider SVG自体にはバウンディングボックスを使ったおお…
だいぶ前にElm触ってゲーム作った時はElmに色々と不満があったんだけど、あれからElmもだいぶバージョンアップして0.15.1ではエラーが人フレンドリーになったらしい。前回の不満がどれだけ解決されているか調べてみよう。 関数の引数の数間違いが謎の型エラ…
CRTっぽいテキスト画面をWebGLで作るLocatePrintを使って物理エンジンをレンダリングするというデモも作った。 物理エンジンはMatter.jsを使っている。Matter.jsはもちろん自前のレンダラを持っているんだけどそれを他のレンダラで差し替えられる。 差し替え…
マイコンをつないだテレビみたいな画面を作りたいと思ってLocatePrintっていうコードを書いた。 こんな画面が作れる、し遊べる。locate, print, colorなどの命令でテキストを書けます。というかテキストしか書けない。 こういうブラウン管っぽい画面を作るに…
JavaScriptデモBLCK4777の音の作られ方について前に調べたので、ついでにその絵の方もどのように作られているか調べてみた。多分に憶測が入っているけど、多分以下の様な感じ、のはず。 前の記事で追ったAudio生成部分を除いてコードを整理してみると、以下…
今年のAssembly 2015 1kb intro勝者のJavaScriptデモBLCK4777、わずか1023 bytesでできているとは思えない美しいデモで話題になった。 1023 bytes版のファイルはPNG bootstrapping techniqueで圧縮されているそうで見た目はバイナリである。見ても分からない…
Newニンテンドー3DS インターネットブラウザーの主な仕様を見ると HTML4.01/HTML5/XHTML1.1/Fullscreen/Gamepad/SVG/WebSocket/Video Subtitle/ WOFF/Web Messaging/Server-Sent/Web Storageの一部/XMLHttpRequest/ canvas/Video/DOM1-3/ECMAScript/CSS1/CSS…
ファイルへのリンクの後ろに#L21とか#L21-L23とかつければOk。 https://github.com/abagames/phaser_p2_threejs/blob/master/src/app.ts#L21-L23 ただこれだとファイルのバージョンが変わった時に行がずれてしまうことがある。なのでGitHubのショートカット…
Phaserをthree.jsで描画ネタのサンプルコードでもう一つ実験したのは、ゲーム内のキャラを機能のモジュールを組み合わせて制御できないかということ。例えば、上から降ってくるバルーンは、以下のコードのようにした。 interface Baloon extends Phaser.Spri…
小さなJavaScriptライブラリをガッチャンコしてゲームエンジンっぽいことをさせるのは可能なのかの微妙に続き。2DのHTML5ゲームライブラリPhaserを使うけど、描画は3Dライブラリのthree.jsを使いたい、みたいな組み合わせは、ちょっと工夫すればできることは…
ゲームを作る時にモノリシックなゲームエンジンを使う方法の他に、ブラウザゲームのプロトタイピングに役立つJavaScriptライブラリで述べたようなライブラリ群を機能ごとに組み合わせて作る、っていうアプローチも考えられる。そうした方が、グラフィックス…
ブラウザで動くゲームのプロトタイプを作るとき、もちろんPhaserとかの機能満載のゲームエンジンを使ってもいいのだが、こういったエンジンは多彩な機能に応じてAPIが豊富すぎて、使いこなせるようになるまでが若干面倒なことがある。そういった時、もっと軽…
がまだ私には難しすぎる気がするよ…… Elm - functional web programming (http://elm-lang.org/) ElmというFRPやろう (http://qiita.com/jooex/items/89ab4bf7c953a6f40069) elmはHaskellに似た構文を持つ関数型言語のAltJS。コンパイルするとJavaScriptが生…
Risk of Rain (http://riskofraingame.com/) LUFTRAUSERS (http://luftrausers.com/) Mini Metro (http://dinopoloclub.com/minimetro/) Space Run (http://spacerun-thegame.com/) プチコン3号 (http://smileboom.com/special/ptcm3/) The Sea Has No Claim…
なんてのは無いということが。 I Have Created 50 Games in 2014 (http://www.asahi-net.or.jp/~cs8k-cyu/blog/2014/12/12/games-in-2014/) 作ったものは上のページにまとめた。全ゲームのスクリーンショットがアニメGIFになっていて、クリックすればそのゲ…
ニンテンドーDS用プログラミング環境プチコンの第3弾は3DS用である。 プチコン3号 (http://smileboom.com/special/ptcm3/) しかも裸眼立体視対応である。1000円を握りしめてニンテンドーeショップに駆け込み、プチコン3号を買って、以下のプログラムを打ち込…
昨日ゲームのリスク/リワードのうちリスクの話だけ (http://d.hatena.ne.jp/ABA/20141017#p1)したけど、リワードの話はしなかった。いやしなかったというか、私が最近作ってるミニゲームにおけるリワードは「スコアが入る」以外なにも無いので、しようがな…
ゲームにおけるリスクとリワード、つまりプレイヤーがリスクを取るとリワードが得られるという仕組みは、ゲームの面白さを増すのに重要と言われている。 Extra credit! (http://www.supermeatboy.com/16/Extra_credit_/) Risk/reward is a system establishe…
またゲームエンジンを作っているのか、きみは。 MGL.COFFEE (https://github.com/abagames/mgl.coffee) 前にHaxeでFlashのミニゲームというかプロトタイプを作るためにmgl (https://github.com/abagames/mgl)というゲームエンジンというかライブラリを作って…
最近一週間で一つゲームを作るってのにチャレンジしてるよ、という記事をちょいちょい見かける。 Game A Week: Getting Experienced At Failure (http://www.gamasutra.com/blogs/RamiIsmail/20140226/211807/Game_A_Week_Getting_Experienced_At_Failure.ph…
ちょうど20個なので例年の30個ペースには届いとらん。 WASD THRUST (http://wonderfl.net/c/cUIn) I'M FRONTLINE (http://wonderfl.net/c/yCOI) REVGRAV (http://abagames.sakura.ne.jp/flash/rg/) LONG EDGE WINS (http://abagames.sakura.ne.jp/flash/lew/…
最近はよくて10分遊んでもらえれば上出来みたいなミニゲーム作っているが、それでも数回は繰り返し遊んでもらえるくらいのリプレイアビリティは欲しい。でも面倒な作り込みはしたくない。と考えた結果、ステージは無限に自動生成、1ステージは10秒くらい、残…
遊ぶ方じゃなくて作る方ね。 31 games in 31 days (http://zeppelincaptain.wordpress.com/2013/11/06/31-games-in-31-days/) 31個のゲームを31日で作った人のブログ記事。 They were all made in less than 3 hours (most of them in less than 90 minutes).…
Bigosaur blog (http://bigosaur.com/blog/23days) Androidゲームを23日で作った記録のブログだって。こういったゲームを作る行程が見られるのはいいね。ゲームの開発日記的なものが残せるのは、他の人が作り方を学べるところもいいけど、記録する自分自身に…
Building Types with Macros (http://haxe.org/manual/macros/build) Haxeではclass宣言の前に@:buildマクロを書けば、class内の関数とかをビルド時に受け取って、その内容を書き換えるマクロが作れる。なので、こういうインタプリタ作って、 abagames/totsu…