9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ファミコン オープンソースソフトウェアの紹介

Posted at

#この記事の概要
1985年にファミコンで発売されたスーパーマリオブラザーズの容量は40KBでした。
ではその40KBにどのようなソースコードが詰まっていたのでしょうか。

実際にスーパーマリオブラザーズのソースコードを見ることはできない為、
この記事ではオープンソースで公開されているファミコンソフトウェアを紹介します。

#この記事の対象者

  • ファミコンソフトウェアがどのようなソースコードで書かれているか見てみたい方
  • ファミコンソフトウェア開発をしてみたいが、0からのスタートではなく何かをベース(参考)にして初めて見たい方

#一覧

ソフトウェア名 作成者 ジャンル 容量 アセンブラ
Tiger Jenny Ludosity 氏 アクション 40KB CC65
Lan Master Shiru 氏 パズル 40KB NESASM
Lawn Mower Shiru 氏 アクション 24KB NESASM
Alter Ego Shiru 氏 アクション 24KB NESASM
Chase Shiru 氏 パックマン 40KB CC65
Concentration Room Damian Yerrick 氏 絵合わせ 24KB CC65
Thwaite Damian Yerrick 氏 シューティング 24KB CC65
Lala The Magical Mojon Twins 氏 アクション 80KB CC65
RevolvingGems KYOSKE(野うさぎ亭) 氏 パズル 64KB NESASM
東方老桜夢 KYOSKE(野うさぎ亭) 氏 シューティング 512KB NESASM
Dushlan Peter McQuillan 氏 テトリス 40KB ASM6
Nova the Squirrel NovaSquirrel 氏 アクション 256KB CC65
Nintencat - The Parody Sly Dog Studios 氏 アドベンチャー 40KB CC65

##Tiger Jenny

作成者 ジャンル 容量 アセンブラ ライセンス
Ludosity 氏 アクション 40KB CC65 下記参照

ライセンス

  • Audio部
    CreativeCommons BY-NC-SA 4.0

  • Graphics部
    Anton Nilsson 氏 および NilsHärgestam 氏 所有

  • 上記以外
    ライセンスに関する表記を確認できず

Ludosity - Actually retro games!
https://ludosity.com/2014/05/actually-retro-games/

tiger0000.png tiger0001.png tiger0007.png

「移動」「ジャンプ」「攻撃」「ライフ」「残機」「敵キャラ」など、
一般的な横スクロールアクションゲームにある要素は詰まっています。

Shiru氏のneslibとFamiTone2を使用しており、大部分がC言語で記述されています。

##Lan Master

作成者 ジャンル 容量 アセンブラ ライセンス
Shiru 氏 パズル 40KB NESASM パブリックドメイン

Shiru's Stuff
http://shiru.untergrund.net/software.shtml#nes

Lan_Master0000.png Lan_Master0001.png Lan_Master0005.png

各PCとケーブルを回転させて、1本に繋げるゲーム。
4桁の数字によるパスワード機能が搭載されています。

ライセンスがパブリックドメインとなっています。

##Lawn Mower

作成者 ジャンル 容量 アセンブラ ライセンス
Shiru 氏 アクション 24KB NESASM パブリックドメイン

Shiru's Stuff
http://shiru.untergrund.net/software.shtml#nes

Lawn_Mower0000.png Lawn_Mower0002.png

1画面固定型で、画面上の芝を刈るゲーム。

ライセンスがパブリックドメインとなっています。

##Alter Ego

作成者 ジャンル 容量 アセンブラ ライセンス
Shiru 氏 アクション 24KB NESASM 下記参照

ライセンス

  • コード、効果音、グラフィック
    パブリックドメイン

  • 他のコンポーネント(ゲームコンセプト、キャラクター、タイトル、音楽)
    Denis Grachev氏、kulor氏

Shiru's Stuff
http://shiru.untergrund.net/software.shtml#nes

Alter_Ego0001.png Alter_Ego0002.png Alter_Ego0004.png

Denis Grachev氏によるZX Spectrum向けゲームをファミコンに移植したもの。

 RetroSouls - Alter Ego
 http://www.retrosouls.net/?p=459

付属するnotes.txtに記載されている通り、C言語による開発を目的としてゲームのようです。

I had plan to try use C compiler to make a simple NES game.
シンプルなNESゲームを作るためにCコンパイラを使うことを計画。

prove that C is an actual option to develop NES games, not just a theoretical possibility.
CがNESゲームを開発するための実際の選択肢であり、単なる理論上の可能性ではないことを証明。

##Chase

作成者 ジャンル 容量 アセンブラ ライセンス
Shiru 氏 パックマン 40KB CC65 パブリックドメイン

Shiru's Stuff
http://shiru.untergrund.net/software.shtml#nes

Chase0000.png Chase0002.png Chase0003.png

パックマン風ゲーム。

Alter Ego同様に、C言語で記述されています。

This is an example game that is developed for my article Programming NES games in C.
CでプログラミングしたNESゲーム用に開発されたサンプルゲームです。

Shiru氏のneslibとFamiTone2が使用されています。

##Concentration Room

作成者 ジャンル 容量 アセンブラ ライセンス
Damian Yerrick 氏 絵合わせ 24KB CC65 GPLv3

Pin Eight - Concentration Room
http://pineight.com/croom/README

croom0000.png croom0004.png croom0002.png

裏返ったカードから同じ絵柄の2枚のカードを当てるゲーム。
10枚、20枚、36枚、52枚、72枚と難易度が上がっていきます。

CPU対戦の他に、2P対戦も行うことができます。
ゲームメニューにて「1 Player Story」選択時は、グラフィックとテキストによるストーリが流れます。

##Thwaite

作成者 ジャンル 容量 アセンブラ ライセンス
Damian Yerrick 氏 シューティング 24KB CC65 GPLv3

Pin Eight
http://pineight.com/

thwaite0001.png thwaite0006.png thwaite0002.png

ミサイルコマンド風ゲーム。
空から降ってくるミサイルを撃墜していきます。

Concentration Roomと同様にゲーム開始前に、グラフィックとテキストによるストーリが流れます。

##Lala The Magical

作成者 ジャンル 容量 アセンブラ ライセンス
Mojon Twins 氏 アクション 80KB CC65 Creative Commons BY-NC-SA 3.0

Mojon Twins
http://www.mojontwins.com/juegos_mojonos/lala-the-magical-nes/

mojon-twins--lala-the-magical-(gnrom)0000.png mojon-twins--lala-the-magical-(gnrom)0001.png mojon-twins--lala-the-magical-(gnrom)0008.png

初めはジャンプのみですが、魔法の杖を取得すると、ジャンプ後に足場を作成でき、より高いところに行くことができるようになります。
面数も豊富で、本格的な横スクロールアクションゲームとなっています。

Shiru氏のneslibとFamiTone2が使用されています。

##RevolvingGems

作成者 ジャンル 容量 アセンブラ ライセンス
KYOSKE(野うさぎ亭) 氏 パズル 64KB NESASM ラインセンスに関する表記を確認できず

野うさぎ亭
http://kyoske.sakura.ne.jp/index.cgi

RevolvingGems0000.png RevolvingGems0001.png RevolvingGems0007.png

宝石を回転させ4つ以上つなげて消していくゲーム。

##東方老桜夢

作成者 ジャンル 容量 アセンブラ ライセンス
KYOSKE(野うさぎ亭) 氏 シューティング 512KB NESASM ライセンスに関する表記を確認できず

野うさぎ亭
http://kyoske.sakura.ne.jp/index.cgi

東方老桜夢 専用ページ
http://kyoske.sakura.ne.jp/index.cgi?p=%E6%9D%B1%E6%96%B9%E8%80%81%E6%A1%9C%E5%A4%A2

TouhouRououmu0000.png TouhouRououmu0004.png TouhouRououmu0006.png

512KBとFF3やDQ4と同じ容量となり、かなり規模の大きいゲームです。

東方Projectに準じた弾幕シューティングをどこまで表現できるか をテーマに制作されているようです。

Readmeに記載されております通り、関連する方々へのお問い合わせは行わないよう、お気を付けください。

なお、「東方妖々夢~Perfect Cherry Blossom.」を元にしていますが、
本作品との直接的な関係はありませんので、上海アリス幻樂団様への
問い合わせは行わないでください。

また、東方古魔郷の存在が制作するに至る一因でありますが、
本作品との直接的な関係はありませんので、さいごめんのボス様への
問い合わせは行わないでください。

##Dushlan

作成者 ジャンル 容量 アセンブラ ライセンス
Peter McQuillan 氏 テトリス 40KB ASM6 BSDライセンス

GitHub
https://github.com/soiaf/Dushlan

dushlan0000.png dushlan0001.png

テトリス風ゲーム。
「ホールド」「ゴースト表示」機能なども実装されています。

ASM6アセンブラ向けに記述されています。

##Nova the Squirrel

作成者 ジャンル 容量 アセンブラ ライセンス
NovaSquirrel 氏 アクション 256KB CC65 GPLv3

Nova the Squirrel
https://novasquirrel.itch.io/nova-the-squirrel

GitHub
https://github.com/NovaSquirrel/NovaTheSquirrel

nova0000.png nova0002.png nova0003.png

256KBと規模の大きいゲームとなっています。
33のステージと7体のボスがいるようで、市販ソフト並みのボリュームとクォリティとなっています。

続編のNova The Squirrel 2がスーパーファミコン向けに開発されています。

##Nintencat - The Parody

作成者 ジャンル 容量 アセンブラ ライセンス
Sly Dog Studios 氏 アドベンチャー 40KB CC65 ライセンスに関する表記を確認できず

Sly Dog Studios
https://slydogstudios.org/

Nintencat - The Parody0000.png Nintencat - The Parody0003.png Nintencat - The Parody0008.png

猫を観察するゲーム。
「呼ぶ」「おもちゃ」「ご飯」「お水」「SAVE?」の5つの行動を選択できます。

作者のホームページには、他にも10種類以上のファミコンソフトウェアが、ソースコードと共に公開されています。

!CLIK! Babel Blox KYFF Snail Maze Game
CLIK0000.png Babel Blox_000.png KYFF0000.png Snail Maze Game0002.png

#備記
今回紹介したの他にも、オープンソースで公開されているファミコンソフトウェアはあります。
以下のサイトでも紹介されています。

NesDev Wiki - Projects
http://wiki.nesdev.com/w/index.php/Projects

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?