投稿

【RS外伝】共通化の甘い罠

イメージ
こんばんは。
sadakです。

設計ってだいじですね。

道具の画面と、キャラクターの装備画面が
ほとんど同じレイアウトだったので
共通化できる!と思い、実装を進めていったら

『すでに装備しているアイテムは選択中にしないと』とか
『表示されるアイテムはキャラクターが装備できてかつ装備数が所持数よりも少ない場合』など
共通化ができない箇所があることがわかり
画面毎の判定処理を入れてたら、ぐちゃぐちゃになってしまった。

無理な共通化はあれほど戒めてきたはずなのに。。

■道具画面


■装備選択画面



戒めとして、以下を書いておく。

・初期実装は共通化するな(面倒でも同じ画面の部品を持ったクラスをコピーしろ)
・実装し終えてから、リファクタリングで共通化を検討しろ
・もしくは共通化はするな。正しく動いてるならいい。優先度最大なのは『正しい機能を神速でリリースすること』だと肝に銘じろ
・迷ってるなら次の機能実装へいけ。時間の無駄だ。休日の一時間は平日の三時間だと思え。
・いつまでステータス画面に手間取ってるんだ。早くシナリオとドット絵を作れ。

まあきちんと設計をすればいいんですけど
時間がもったいなくて
実装しながら仕様を決めているのが悪と言えば悪なのかも。
ただ、週末実装、平日テスト&バグ出しの日々だと、設計してる時間が中々とれず。。

よし。
来週末またがんばろう。



確定申告、リビルディング外伝など

イメージ
こんにちは。
sadakです。

先日、確定申告(二回目)に行きました。
だいぶ忘れてたので、念のため相談しつつ進めようと思い、前回に引き続き税務署に朝からいったんですが、次回からは自宅でe-Taxで書類作って投函しようと思います。

必要だった物、情報は

・源泉徴収(コピーはとっておく)
・マイナンバー(番号をe-Taxで入力する)
・運転免許(自宅なら不要かも。税務署では本人確認のために必要)
・雑所得の金額(明細を印刷したが不要。自己申告でオーケー)
・お金(所得税支払いの分)
てなかんじですね。

さいきんはリビルディングサガ外伝をまったりと開発してます。







この週末は、ちょっと遠出するのでパソコン作業はできません。なので、ドット絵を打ったり、シナリオをぼんやり考える感じです。

もう今年度も終わりですね。

【RS外伝】開発中

【RS外伝】戦闘画面実装

イメージ
こんばんは。
sadakです。

戦闘画面を実装中です。


新キャラクターの技師です。


まだまだ3キャラです。
リビルディング・サガほどたくさんのキャラクターを作れるかはわかりませんが、なるべく多くのキャラクターをつくりたいですね。

車輪の再発明について

イメージ
こんにちは。
sadakです。

新しいアプリ案がでないので
あいかわらずリビルディングサガ外伝をコツコツ実装中です。

リビルディングサガ外伝の実装をしてて
なんとなくおもったことを書きます。

プログラミングの世界(だけではないけど)には
「車輪の再発明をするな」という言葉があります。

既存のコード(orフレームワークが提供する機能)を
流用する方が安全でコストが少なくて済むから
同じような機能を再実装するな、ということです。

言葉自体は正しいし、いかにも「非レガシープログラマ」好みの内容だけど
・「その車輪」はバグってないか?
・「その車輪」はこれからやりたい機能要件を満たしているか?
 というところを確認せずに
「車輪の再発明をするな!」という言葉が独り歩きしている場合は要注意ですよね。

例えば、いま僕が実装しているRPGの戦闘ロジックですが
流用できる部分が80%ありますが、そのまま使おうとしたときに
いくつか機能要件を満たせないことがわかりました。
ソースコードの保守性は低いしバグもあり、「この車輪は再発明すべき」と判断しました。

流用できると踏んでいたのに、実は流用できなかったってことですね。
これがシゴトだったら、大変でした。
流用前提で見積もりしてスケジュールを決めた後に気が付いても
なかなかスケジュール変更はできませんので……。
(本当に自分のプロダクトでよかったです)


フレームワークなんかも、提供機能を使ってみたら
とあるエラーの場合だけ、既存と挙動が違っているなんてこともよくあります。
そんなときは一部をスクラッチ実装するんですが、そんなことを続けていると
フレームワーク提供機能とスクラッチ実装の混ぜ合った
複雑怪奇な代物ができていってしまいそうですね。


ところで、戦闘ロジックでは「車輪の再発明」をする、といってますが
そもそも自分のプロダクトの実装について考えてみると……
再発明しまくりです!

同じ処理の共通化を検討するくらいなら
同じ実装をコピペしまくるということはよくやります。

ノリノリの開発状態の場合は、とにかく動くものをつくりきって
そのあと冗長なコードをリファクタリングすればいいので
むしろ「車輪の再発明をしまくって」実装してますね。
共通化を考えるのってたのしくないので、スピード感ややる気がそがれていくんです。
むしろどんどん…

【ポケットローグ】ロシア語版をリリースしました

イメージ
こんにちは。
sadakです。



ロシア語版をリリースしました!

ただし、ちょっといくつかの英文が
まだ翻訳されていないので、近日完全版を出そうと思ってます。

昨年末は、リビルディングサガ外伝の
戦闘画面の開発をしていました。

システムの作り方を完全に1から作り直したんですが、やはりというか個人でやる上でドット絵の制作コストが大変です。

ちょっと、割と深く考えたのですが
真面目にRPGを作るとなると
もちろん既存のゲーム会社には敵わないし
そもそも個人で自主制作する上で
その方向性で良いのか?と。

ポケットローグを作ったのも
初期のアスキーで作られたローグをやりたかったけど、Googleplayになかったから。

リビルディングサガは、こういう昔ながらのRPGがなかったからです(まあ、後は最初につくるならRPGだろ!とか他にも理由はあるけど)

なので、リビルディングサガ外伝は
リビルディングサガのバージョンアップとして
作成するのはやめようと思います。

だすなら、リビルディングサガのシステムとドット絵と同じ物を使って、さくっとつくれるくらいにしようと。

せっかくたくさんドット絵を書いたり、マップもつくったりしたけど、仕方ないかな。。

【リビルディングサガ外伝】ドット絵キャラクターの絵柄

イメージ
こんにちは。
sadakです。

リビルディングサガ外伝のドット絵は
前回の20×20から32×32に増やそうと思ってます。

FF5などは24×16でキャラクターのドットを打っているので
それに合わせてこんなドット絵を作ってました。


ただ、このドット絵だと
どうもやはりFFっぽい。
あと、手足が短いので表現方法にも限りが出てきます。

個人的にはもっとスマートな、ロマサガ3のような
ドット絵が好きなのですが、あれは32×32には
収まりきらないので、ちょっと大変。

なので、32×32で
スマートとなるようドット絵を打ち直しています。



こんな感じで、ちょっとヒョロっとした
縦長なキャラクターにしようと思ってます。

幸いまだ3キャラくらいしかドットを
打っていないのでやり直しが効く感じです。

いま戦闘ロジックの見直しをしているんですが
戦闘用のマスタデータが従来の3つから6つくらいに増えそうです。
ただ、冗長なデータをまとめることができるので
全体のデータ量は減るはず。

今日は実装はなし。
設計とドット絵整備で終わりそうです。