画面スクロールって予想以上に難しいんですね

アバター
VANQUISH
記事: 5
登録日時: 11年前
住所: 日本
連絡を取る:

画面スクロールって予想以上に難しいんですね

投稿記事 by VANQUISH » 7年前

最近会社が変わりまして(仕事内容は大して変わっていません)、通勤時間が1時間ほどあり電車通勤になったのでiPodを携帯しています。
通勤時間が勿体ない…。開発の時間が減ってしまう…。゜(>_<)゜。

何か最近駅のホームで唐突に線路へ人を突き落とす方が割といるらしく怯えながらも、列に並んでいます。
やめて欲しいよね(´・ω・`)マッタク

そんな訳でゲーム開発のほうですが難題フェーズです。
実はまだ案として固まっただけで何も実装されていない画面スクロールのロジックです。

色々試しながらやってますが、何かファミコンのVRAM(というのがあるんです)機構を参考に作っている節があって面倒なロジックになってます。
ぶっちゃけるとファミコンの挙動を再現出来たらしたいという野望が少なからずあって…。相変わらず技術ないのに無茶しやがって…(;^_^A

まあそんなこんなで画面スクロールのプログラムを考えるだけで2日。図面にする事2日。
今から実装なんですけど上手くいくかなぁ…

正直ファミコンと同じ仕様という所に拘るのも何なのかなと思い始めてはいるのですが
添付ファイル
無題.png
設計書作りながら一生懸命考え中②
無題.png (42.52 KiB) 閲覧数: 189 回
無題.png
設計書作りながら一生懸命考え中①
無題.png (51.99 KiB) 閲覧数: 198 回

アバター
いわん
記事: 32
登録日時: 9年前

Re: 画面スクロールって予想以上に難しいんですね

投稿記事 by いわん » 7年前

VRAMという単語から昔PC-9801シリーズのプログラム作ってた時(歳がばれる^^;)BIOSを使っていろいろやってたのを思い出しました。
PC98とは仕組みは違うと思いますが、VRAM(メモリ)には4画面程度の領域があって表示するアドレスを変えることでスクロールするかんじでしょうか。
vsync割り込みで同期信号の合間に書いたりとか・・・なんかいろいろ面倒臭いことしてたような記憶がかすかに残ってます。

アバター
VANQUISH
記事: 5
登録日時: 11年前
住所: 日本
連絡を取る:

Re: 画面スクロールって予想以上に難しいんですね

投稿記事 by VANQUISH » 7年前

>いわんさん

コメントありがとうございます(^_^)

実際に過去ファミコンのプログラムを色々研究していた事があってですね、その名残でこういった事になってます(*´ω`*)
逆に一般的なスクロール手段として良いものがあれば教えてほしいのですが…本音としては

横だけにスクロールする場合ならそれなりに単純なスクロール構造でも対応出来そうですが、縦横スクロールなどを取り入れると対応出来なくなるのではないかという懸念からVRAMの仕組みを使う事にしましたね。私の場合ですが…

PC-9801は実際にマシンを見た事が無くてですね、私が知っているのはせいぜいMSXくらいです。゜(>_<)゜。

ISLe
記事: 2650
登録日時: 14年前

Re: 画面スクロールって予想以上に難しいんですね

投稿記事 by ISLe » 7年前

うちのブログでシンプルな汎用タイルマップのモジュールをソース付きで公開してます。
Javaですが…
C/C++と文法はあまり変わらないので読めると思います。
よかったら参考にしてください。

描画メソッドのコードを抜粋
► スポイラーを表示
最後に編集したユーザー ISLe on 2017年10月14日(土) 15:59 [ 編集 1 回目 ]

アバター
VANQUISH
記事: 5
登録日時: 11年前
住所: 日本
連絡を取る:

Re: 画面スクロールって予想以上に難しいんですね

投稿記事 by VANQUISH » 7年前

>ISLeさん

こんにちは(^o^)
コメントどうもありがとうございます。

ソースコードありがとうございます!
なんかJavaというのは私はよく知らないのですが、なんとなく分かりました。VRAMに読み込んだ後画面に表示する部分でしょうか?
詳細はもう少し頑張って読んでみようと思います。

わざわざヒントを頂いてすみません。私なりに頑張ってみようと思います。
今の時代では処理の再利用性というか、可読性を考えたコーディングを目指したほうが良いのかもしれませんね。
ありがとうございます( ^ω^)