ドラタンキ @aohan_doratanki
普段はゲームプログラマとしてゲーム作ったり投げたりしている人間です。
自分がエンジニアなのでエンジニアっぽいゲーム作ってます。
飲み会の時にみなでワイワイ遊んでもらえればと~
2020年春にだすボドゲはエンジニア以外でもプレイできるように作る予定
- 【ASSEMBLY FIGHT】技術的な補足説明1
- 2020/3/17 8:50
ASSEMBLY FIGHTでは実際に使われているプログラミング言語をベースにゲームを作成しています。
ゲーム自体は技術的な知識や実際のプログラム知識は必要しなくても遊べる設計となっていますが、意味が分からない用語が多々あると思いますので、補足説明をこのページにまとめました。
〇このゲームで使われているプログラミング言語について
ASSEMBLY FIGHTでは組み合わせるプログラムの言語としてアセンブラのARM(ARMv7-M)をベースにしています。
〇アセンブラ言語とは、なぜARMなのか
C言語などの高級言語よりも機械語に近い言語です。
機械語と命令が1対1で対応し、1行に1命令ずつ記述します。
もともとASSEMBLY FIGHTで使う言語にアセンブラを使おうと考えたのは、この1行に1命令というのがロジックをカード化しやすいというのがありました。
プログラミングを組み合わせてゲームを作るときにifやwhileなどの一般的な予約語をベースにカードにしていくのも考えましたが、
ゲームとして直感的なのは1行ずつ並べていくアセンブラに分があるんじゃないかと。
また、アセンブラ言語自体がプログラミングの基礎といえるものであるので、知っておいて損はないというのもあります。
その中でARMを採用した理由は自分がスマートフォン開発する際にクラッシュログでよく見かける記述だからですね
アセンブラは他の言語にない特徴で、CPUの種類ごとに使うアセンブラが異なりますので、
スマートフォンで採用されているARMには興味があったので採用しました。
〇なぜARMv7-Mなのか
これはARMは特定のバージョンでしかSDIV(除算)が対応されていないからでした。
*これより下のバージョンではニーモニックを組み合わせて除算を実装する必要があります
ゲームとして除算は必要なので、このバージョンをもとに作成しました。
ASSEMBLY FIGHTの詳しい紹介はこちら
http://gamemarket.jp/game/assembly-fight/
ゲームマーケット2020春の予約に関してはこちら
http://gamemarket.jp/blog/%E3%80%90%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%882020%E6%98%A5%E3%80%91assembly-fight%E3%80%90%E4%BA%88%E7%B4%84%E5%8F%97%E4%BB%98%E3%80%91/