本ページはプロモーションが含まれています

ギャラリー

記事の中を歩けるドット絵RPG|Canvasでフィールド自作

CATEGORY
REV.
DRAWN BY
TOM
SHEETS
3枚
Pixel RPG(記事の中を歩けるドット絵)

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

𝕏

子どものころ、日曜の朝からテレビの前に座って、ひたすら草原を歩いていました。

目的地に向かっていたはずなのに、気がつくと町の人に3回くらい同じ話を聞いている。

あの時間の使い方が、いまでもいちばん贅沢だった気がします。

そんな昔のRPGのフィールドを、画像も素材も使わず、HTML・CSS・JavaScriptのCanvasだけで作りました。

宝箱・やくそう・たいまつ・洞くつのぬしまで入っています。

クリック(タップ)してからはじめてください
[←][↑][↓][→] で移動 [Enter] でしらべる

フィールドの歩き方

まず画面をクリック(スマホはタップ)してから操作してください。

スマホの場合は、画面の下に十字ボタンとA・Bボタンが出ます。

  • 移動:矢印キー、またはWASDキー。スマホは十字ボタン
  • しらべる・けってい:Enterキー、スペースキー、Zキー。スマホはAボタン
  • 城:王様が、いま何をすべきかを教えてくれます。HPとMPが全回復します
  • 町:宿屋に泊まった扱いで全回復。町の人がうわさ話をしてくれます(6種類)
  • 森:しらべると6割の確率で「やくそう」が見つかります
  • 宝箱:草原や森に6つ隠れています。ゴールド・やくそう・たいまつが入っています
  • 洞くつ:たいまつを手に入れると入れます。奥には「どうくつの ぬし」がいます

戦いかた

草むら・森・丘を歩くと、ときどき魔物が出ます。

  • たたかう:ふつうの攻撃です
  • じゅもん:「メラ」(MP3)。レベル3になると「いやしのうた」(MP4・HP回復)が増えます
  • どうぐ:やくそうでHPを25〜34回復します。持っている数はコマンドに出ます
  • にげる:6割で成功します。ただし、ぬし からは逃げられません
やられても、お金が半分になるだけで城の前に戻されます。

昔のRPGと同じ、あの優しくて厳しい仕様です。

ぬしを倒すと「ふるい せきばん」が手に入り、王様の話が変わります。

このフィールドのつくり

見た目重視で作ったので、しくみは簡単なメモだけにしておきます。

外部ライブラリも画像素材も使っていません。既存ゲームの絵や音は一切含んでいません。

見えているものしくみ
地形なめらかな乱数を2種類重ねて標高を作り、中心ほど高くして島の形にしています。標高と湿り気で海・砂浜・草原・森・丘・山に振り分けます
マップの広さ96×96マスです。同じ乱数の種を使っているので、誰が開いても同じ島になります
ドット絵16×16ドットのタイルと主人公を、fillRectだけで1枚ずつ描いています。拡大時にぼやけないようimageSmoothingEnabledを切っています
宝箱町や城から6マス以上離れた草原・森に配置します。開けると中身が出て、タイルは草原に戻ります
魔物4種類(みずたま・やみこうもり・まどうし・どうくつの ぬし)。4ドットを1マスに見立てた絵をその場で描いています
メッセージ1文字ずつ表示し、途中でボタンを押すと最後まで一気に出ます
音Web Audio APIの矩形波です。足止め音、呪文、回復、レベルアップのジングルを鳴らしています
ページ全体記事を開くと背景が夜色のドット柄になり、見出しはコマンドウィンドウ風の白枠になります

いちばん時間を使ったのは地形の分け方でした。

標高だけで決めると、山か海しかない島になります。

湿り気の乱数をもう1つ重ねて森を生やしたところで、ようやく「歩きたくなる地図」になりました。

  • 画面の外にあるときは描画を止めています
  • 矢印キーはフィールドを選んでいるときだけ効きます。ページのスクロールは邪魔しません
  • 手元の環境では60fpsで動いています
NEXT READ本棚から1本

AIで開発を組み直すなら、まずこの5冊から

入門・実践・設計まで、Claude Codeの本をレベル別に5冊選んで比べました。

→ おすすめ5冊を見る

  • この記事を書いた人
  • 最新記事

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

𝕏

ギャラリー