8bitマイコンでライフゲーム用ゲーム機を作ってみた! 4KBしかないメモリをフルに使って動画再生機能まで搭載
ニコニコニュース / 2020年11月16日 22時0分
今回紹介するのは、きっちーさんが投稿した『8bitマイコンでライフゲーム作ってみた【ゆっくり解説】』という動画です。
投稿者メッセージ(動画説明文より)
8bitマイコン(PIC16F18857)でライフゲーム(オマケつき)を作ってみました。
8bitマイコンを使って“ライフゲーム”のほか、動画再生までできてしまうゲーム機が作られました。
ライフゲームとはシュミレーションゲームの一種です。マス目に色が塗られているセルを“生”、塗られていないセルを“死”と定義します。セルの周囲に2~3マスの味方がいないと死んでしまいます。このルールに従って演算を繰り返します。
演算を繰り返すと図形はさまざまな動きを見せます。初期状態が似ていても変化はさまざま。たとえば「ソ」と「ン」でも、まったく違った挙動をします。「ン」はすぐに止まってしまうのに対して、「ソ」はダイナミックな動きを見せます。
このゲームができるマシンを電子工作します。
基板のデッドスペースになる箇所には、「LIFEGAME」と刺繍しました。
ハンダ付けで配線します。
プログラミングをします。使用したマイコンはデータメモリ4KBと8bitマイコンの中ではかなり高性能なもの。それでもデータメモリはギリギリでした。
100円ショップの箱に詰め込んで完成です。
さっそく動かしてみましょう。ランダムに図形を発生させてスタートさせます。操作は左下のジョイスティックで行っています。右下の7セグLEDが世代数です。アメーバのようなものがウネウネと動いていますが、だんだんと動くセルが減っていくようです。1750世代ほどで定常状態になりました。
microSDカードに保存されたモノクロBMP画像を表示させることもできます。画像としてライフゲームのパターンを保存しておけば、それを再現することも可能です。
ちなみに、この8bitマイコンですがライフゲームの他に、時計機能、動画再生機能も盛り込まれています。パソコンで変換したデータを再生しているそうですが、動画では初音ミクさんがネギを振っている様子も見ることができます。おまけ機能の壮大さに「ソースコードの半分くらいこれなのでは」なんてコメントも寄せられていました。
視聴者コメント
GJ
緑の7セグいいっすね
時計機能要る?って思ってたけど、コレなら必須機能ですわ
SDカード使えると夢が広がるな
文/高橋ホイコ
外部リンク
この記事に関連するニュース
-
ハイエンドスマホ向け新型SoC「Snapdragon 8 Elite」にみるAI半導体の進化
ITmedia PC USER / 2024年11月28日 19時40分
-
STマイクロエレクトロニクス、産業用機器および生活家電向けの新しいモータ・ドライバ「STSPIN32G0シリーズ」を発表
PR TIMES / 2024年11月18日 17時45分
-
ルネサス、アナログ混載プログラマブルIC「AnalogPAK」に14ビットSAR ADC搭載製品などを追加
マイナビニュース / 2024年11月12日 15時11分
-
100均プラバンにいろいろな画材で描く→焼いてみたら…… 驚きの仕上がりに「素敵!」「こんなに綺麗に!?」
ねとらぼ / 2024年11月8日 10時30分
-
レゴで「初代プレイステーション」を作ってみた! 電源ボタンが光る、蓋が開く、ディスクが回転するギミック付きで驚異の再現度
ニコニコニュース / 2024年10月31日 11時45分
ランキング
-
1LINEアルバム、他人の写真が誤表示される不具合で続報 「30日午前には解消予定」 Android版はアップデートを
ITmedia NEWS / 2024年11月29日 18時51分
-
2イオンカード、不正利用に関するNHK報道を受け声明 「1日も速く調査結果を報告できるようにする」
ITmedia NEWS / 2024年11月29日 16時52分
-
3NHKのネット受信契約(案)が“ダークパターン”過ぎて見過ごせない件(前編) NHKの見解は?
ITmedia NEWS / 2024年11月28日 19時9分
-
4“年利実質18%”で話題、ヤマダ積立のページが閲覧できない状態に 今後の方針、同社に聞いた
ITmedia NEWS / 2024年11月29日 19時35分
-
5“セクシー女優”が「明日花キララから詐欺にあった」と主張→“虚偽”認め謝罪 「多大なご迷惑」「誠に申し訳ございません」
ねとらぼ / 2024年11月29日 19時46分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください