前回更新時に関カレ、インカレは既に出場者の選択と仮のタイムと順位が出せるようになっていて、もう完成は時間の問題と思ってたらそう上手くは行かなかった。まずはソート関連。出場者を選ぶときには種目ごとにID順になってるんだけど、結果を表示するときは見栄え的に順位で並べたほうがいい。でも人数が不定ということで従来のやり方だとたぶんよくないと。
その辺りについてダラダラ書かせていただくと、えーいやここを説明するのは面倒くさいな・・・。とりあえずレースのパターンをいろいろ作るとなるとタイムによって順位が一意に決まるようにしたほうが修正とかが楽と思ったのですよ。例えばある年の関カレ1万mは28分50~55秒なら6位とかね(実際は違うけど)。でもこのままだと例えば自校の1人目が28分53秒、2人目が28分52秒、3人目が28分51秒のときに3人とも6位になってしまうと。これを1人目8位、2人目7位、3人目6位とするシステムが本当に面倒くさくてそこだけで3時間とか掛かった。
さらに個人と全体での記録を残したりそれを表示させたり、まぁ色々あったわけですよ・・・。いや本当に今週に入ってからは毎日3~5時間は制作に当たってたんだけどそれでも今日までかかったからね~。インカレ部分だけで合わせて15時間ぐらい?ん、15時間?そのうちソート関連が3時間って計算合わなくね?まぁいいか。絵描いてたりもしてたしね。とにかくインカレでこんなに時間掛けてどうすんだよって感じですよね。しかもまだパターンは1通りずつしか作ってないし。駅伝部分はスムーズに進むといいなぁ・・・。
えー、そのゲーム内インカレとかについてですが、今のところかなりゲーム的というか、現実とは結構かけ離れたものになりそうな感じです。以下に仕様を列挙します。
時期
関カレ5月 インカレ6月 ユニバ8月
概要
ユニバは奇数年のみの開催。各大会とも1日で全種目実施。実施順は検討中。
出場資格
関カレ及びインカレ それぞれ標準記録を突破した人の中から各種目3人まで。1人が何種目出てもok。標準記録は基本的に2011年の現実の大会に沿っているが、一部変更あり。
ユニバ 該当年のインカレで2位以内の人が強制的に出場。ハーフのみ違う選考にするかも。
タイムとか
各種目とも力を出し切るaパターンと牽制するbパターンを用意。どっちが出るかは運次第。その他、性格によって普段の記録会よりも力を出しやすい(本番に強い)or出しにくい(本番に弱い)なんてのも作る予定。
とりあえずこんなもんか。性格自体が未実装なので最後の部分はまだ構想段階です。今週中には駅伝の基本部分を作り上げたいなぁ。まぁどうなるかわかんないけど通しのテストプレイ開始で完成度60%ぐらいだと思うので、1日2%ペースなら今月中にはかなり出来上がる計算?いや進捗率自体独断だからかなり怪しいんだけどさ。はい。そんなところです。頑張りません。
えーさて、せっかくなのでスクリプトでも公開してみますかね。ほぼ完成扱いになっている記録会の基本的な部分です。
-----
rentugi = [];
imabest = [];
if (this._parent.kihon[1]<10) {
this.yearh = "0"+this._parent.kinon[1]+"年";
} else {
this.yearh = this._parent.kihon[1]+"年";
}
this.hiduke = this._parent.mon+"月"+this._parent.day+"日";
for (i=1; i<21; i++) {
this.attachMovie("kirohito", "kirohi"+i, 5200+i);
mest = "kirohi"+i;
this[mest]._x = Math.floor((i-1)/10)*260-140;
this[mest]._y = (i-1)%10*30+50;
this[mest].krk2 = this._parent.buin[i][this._parent.kihon[4]];
if (i<6) {
this[mest].krk1 = "4年";
} else if (i<11) {
this[mest].krk1 = "3年";
} else if (i<16) {
this[mest].krk1 = "2年";
} else {
this[mest].krk1 = "1年";
}
for (p=40; p<60; p++) {
this._parent.buin[i][p] = this._parent.buin[i][p+1];
}
this._parent.buin[i][50] = this._parent.kihon[2];
this._parent.buin[i][55] = this._parent.kirokutipe;
this._parent.buin[i][60] = "";
if (this._parent.buin[i][20]>20) {
karihiro = this._parent.buin[i][20]-20;
} else {
karihiro = 0;
}
karisupi = this._parent.buin[i][11]+this._parent.buin[i][12]+this._parent.buin[i][13]-karihiro;
karisuta = this._parent.buin[i][14]+this._parent.buin[i][15]+this._parent.buin[i][16]-karihiro;
karisesi = this._parent.buin[i][17]+this._parent.buin[i][18]+this._parent.buin[i][19]-karihiro;
switch (this._parent.kirokutipe) {
case 1 :
takiai = "記録会 1500m";
this._parent.buin[i][45] = 秘密だよ!
if (Math.random()*1<(this._parent.buint[i]-1)*(this._parent.buint[i]-1)/16) {
this._parent.buin[i][45] += 2700;
}
if (this._parent.buin[i][45]<??000) {
this._parent.kantoku[46] = 1;
}
if (this._parent.buin[i][45]<??500) {
this._parent.kantoku[47] = 1;
}
break;
case 2 :
takiai = "記録会 5000m";
this._parent.buin[i][45] = 秘密だよ!
if (Math.random()*1<(this._parent.buint[i]-1)*(this._parent.buint[i]-1)/16) {
this._parent.buin[i][45] += 2700;
}
if (this._parent.buin[i][45]<??000) {
this._parent.kantoku[48] = 1;
}
if (this._parent.buin[i][45]<??000) {
this._parent.kantoku[49] = 1;
}
if (this._parent.buin[i][45]<??000) {
this._parent.kantoku[50] = 1;
}
break;
case 3 :
takiai = "記録会 10000m";
this._parent.buin[i][45] = 秘密だよ!
if (Math.random()*1<(this._parent.buint[i]-1)*(this._parent.buint[i]-1)/16) {
rentime[i] += 2700;
}
if (this._parent.buin[i][45]<??0000) {
this._parent.kantoku[51] = 1;
}
if (this._parent.buin[i][45]<??4000) {
this._parent.kantoku[52] = 1;
}
if (this._parent.buin[i][45]<??8000) {
this._parent.kantoku[53] = 1;
}
if (this._parent.buin[i][45]<??2000) {
this._parent.kantokui[54] = 1;
}
if (this._parent.buin[i][45]<??6000) {
this._parent.kantoku[55] = 1;
}
break;
case 4 :
takiai = " ハーフマラソン";
this._parent.buin[i][45] = 秘密だよ!
if (Math.random()*1<(this._parent.buint[i]-1)*(this._parent.buint[i]-1)/16) {
rentime[i] += 2700;
}
if (this._parent.buin[i][45]<??00) {
this._parent.kantoku[56] = 1;
}
if (this._parent.buin[i][45]<??40) {
this._parent.kantoku[57] = 1;
}
if (this._parent.buin[i][45]<??80) {
this._parent.kantoku[58] = 1;
}
if (this._parent.buin[i][45]<??20) {
this._parent.kantoku[59] = 1;
}
break;
}
if (this._parent.buin[i][45]<this._parent.buin[i][this._parent.kirokutipe+30]) {
this._parent.buin[i][this._parent.kirokutipe+30] = this._parent.buin[i][45];
this._parent.buin[i][this._parent.kirokutipe+34] = this._parent.kihon[1]*1000+this._parent.kihon[2];
this._parent.buin[i][21] += 2;
if (this._parent.buin[i][21]>20) {
this._parent.buin[i][21] = 20;
}
imabest[i] = 1;
this[mest].krk4.gotoAndStop("更新");
if (this._parent.buin[i][45]<this._parent.rekodo[10][this._parent.kirokutipe*4-1]) {
for (p=1; p<11; p++) {
if (this._parent.buin[i][45]<this._parent.rekodo[p][this._parent.kirokutipe*4-1]) {
for (z=this._parent.buin[i][this._parent.kirokutipe+60]; z>p; z--) {
this._parent.rekodo[z][this._parent.kirokutipe*4] = this._parent.rekodo[z-1][this._parent.kirokutipe*4];
this._parent.rekodo[z][this._parent.kirokutipe*4-1] = this._parent.rekodo[z-1][this._parent.kirokutipe*4-1];
this._parent.rekodo[z][this._parent.kirokutipe*4-2] = this._parent.rekodo[z-1][this._parent.kirokutipe*4-2];
this._parent.rekodo[z][this._parent.kirokutipe*4-3] = this._parent.rekodo[z-1][this._parent.kirokutipe*4-3];
}
for (zss=1; zss<21; zss++) {
if (this._parent.buin[zss][this._parent.kirokutipe+60]<this._parent.buin[i][this._parent.kirokutipe+60] && this._parent.buin[zss][this._parent.kirokutipe+60]>=p) {
this._parent.buin[zss][this._parent.kirokutipe+60]++;
}
}
this._parent.buin[i][this._parent.kirokutipe+60] = p;
this._parent.rekodo[p][this._parent.kirokutipe*4-1] = this._parent.buin[i][45];
this._parent.rekodo[p][this._parent.kirokutipe*4] = this._parent.buin[i][this._parent.kirokutipe+34];
this._parent.rekodo[p][this._parent.kirokutipe*4-3] = this._parent.buin[i][1];
this._parent.rekodo[p][this._parent.kirokutipe*4-2] = this._parent.buin[i][2];
break;
}
}
}
}
if (this._parent.kirokutipe == 4) {
this[mest].krk3 = this._parent.roadire(this._parent.buin[i][45]);
} else {
this[mest].krk3 = this._parent.trackire(this._parent.buin[i][45]);
}
rentugi[i] = this._parent.buin[i][45];
}
-----
ネタバレを防ぐため一部加工してありますが、隠しきれてなかったり意図的に隠してないところもあるのでよく見るとあの辺の仕様がわかっちゃうかもね。そういや調子をどうタイムに反映させるかはまだ決めて無いんだったな~。まぁ練習メニューの詳細を決めるのと同時ぐらいにやればいいか。
ちなみにこのスクリプトで最も苦労したのは終盤ですね。終盤の4分の1ぐらい。これが歴代のデータを管理する部分なんだけどfor文の入れ子に次ぐ入れ子でbreakが入ったりしてもう大変でしたよー。いや本当にどのfor文が何を指してるかとか面倒くさすぎるんだけど、省略する方法もわかんないからしょうがないんだよね。ああ。これでバグが見つかったら泣ける。
進捗率9%ぐらい。制作開始からだいぶ経ってる割に大して進んでないです。
一応言い訳をさせてもらうと、これは優先順位の問題なのですよ。自分の中でまず最上位に位置するのが寝るのと食べることで、次に来るのが家事、外出、アニメで、ゲーム制作はどう転んでもこれらの上に来ることは無いわけです。ちなみにゲームとかその他の作業はハマリ具合等によって優先順位がころころ変わります。
まぁそんな感じでいろいろあって十分な時間が取れてません。決してやる気が無いわけではないです。本当です。ああ、でもなんとなく集中出来ないモードに入ってるのは確かですね。原因は震災か、季節性か、はたまた改編期であの辺のアニメが終わってしまったことによる喪失感か・・・。
まずトラックレースに1500mを追加します。結構インカレとかだと箱根に出そうな人が1500にも出てたりするので。これでゲーム的な幅は結構広がったはず。それからHAGONEの枠ごとのタイムは改めて考えるのは面倒なので前作と同じにします。HAGONE以外の駅伝のタイムについてはこれから検討。
あと思ったことだけど、当然ながら前作と同じように非常に地味な出来になりそうな感じです。いやまぁ自分が一人で作ってる限り見た目が改善されることがないのは火を見るより明らかですよね。とりあえずその辺に幻想を抱いてる人は目を覚ましたほうがいいと思うよー。
それからメンタルか。確かにそれはアリっちゃアリだけど、走力の要素以外に疲労と調子+やる気が存在するので、単にメンタルとするとその辺との紛らわしさが無きにしも非ずなんですよ。ってかそもそも精神力がタイムにしか影響しないのはどうなの?とか今考えつつあります。ああ、もっと頭をすっきりさせたい・・・。
・・・みたいなネタを書こうとも思ったけど自分にエイプリル何とかネタは似合わないですよね。はい。
えーさて、現在進捗率5%前後。とりあえず日付を進められるようにしたほか個人成績等の画面も作った。ついでに顔の画像もなんとなくやる気が出たので挑戦してみた。もちろん普通に書いたんじゃ話にならないというかどんな羞恥プレイだよって感じなので、16×16の単純なドット絵です。まぁ萌え絵を要求されてるわけじゃないしこのぐらいなら自分でも何とかなるんじゃないかと。目と髪型をランダムに組み合わせて数百通り作る予定で、今のところサングラスとボサボサ髪の組み合わせが結構気に入ってたりする。とりあえずこの辺は完成までのお楽しみということで。
それからまぁどうでもいいことではありますが、苗字は前作の160種類に加えて主にアニメキャラ等から240種類を追加、合計400種類になりました。名前もアニメキャラ等から200種程度、重複を含めて300通り用意。これにより特定の姓名の組み合わせが出る確率は10万分の1とかそのぐらいになったんだけど、ランダムで試してる現段階から早速実名っぽいのがチラホラ出てきてちょっと参ってます。タナカマコトとかありきたり過ぎるっつーの。アニメキャラの名前って割とそういうのが多いんだよな~。表示の問題でカナ5文字以上のを入れられないのも結構影響してそう。プレイしてる貴方の名前が出てくる日も近いか?ちなみに姓名の内部データはまだいくらでも変えられるのでリクエストがあれば応えられますよ~。
本編(?)ではこれから月頭の処理と駅伝以外の大会部分を作っていく予定。とにかく淡々と進めていきたいと思ってます。
この画像だけ見るとなんかもうだいぶ出来上がってると錯覚しそうですが、仮に練習部分が完成したとしてもまだ全体の1~2%ぐらいの進行度という事実。とにかく記録の管理や表示とかの作業量が多すぎるんだよな~。
ちなみに手動で並べてた前作と違って選手名表示、練習メニューの数字部分共にattachMovieを使いました。ってことで仕方なくイベントハンドラメソッドも使う予定。まぁ20個同じ作業をするならコピペよりfor文でまとめたほうが楽だわな。練習メニューでの変動はあらかじめ別に配列を用意しておけばまとめて出来そうだしね。
他の部分も今のところそれほど詰まらずに出来そうな気配はあるけど、やっぱり時間はひたすら掛かりそうな感じ。いかに省略するかを考えながら作ってた過去のゲームと違って入れられる要素はどんどん詰め込むスタイルだからね。なんか追加して欲しい要素があれば今のうちですよ~。
ついでに現在の構想とかも書いとく。
インカレ関係
漠然と関東インカレ→日本インカレ→ユニバーシアードの順番って感じで、インカレの上位者がユニバ代表になるイメージがあったんだけど、実際は中長距離の代表は別の大会で選考されるらしい。この辺の扱いはかな~り微妙ですな~。ゲーム的にはインカレで2位以内ならユニバ出場でもいいような気はしてるんだけど、さてどうするか。まぁ3が本番だから2はとりあえずこの仕様でいいのかな?文句が来たら変えるか。
セーブ関係
複数セーブ機能の実装により屈辱の途中棄権は廃止される予定。これで難易度は更に下がるでしょうな。ってかあれはコメントでは全く触れられてなかったけどどうなんだろう。皆さん気付かずプレイされてたのならそれはそれでいいんだけど。ついでに戦歴リスト1ページ目の上から2番目って結構気づきにくいと思ってたんだけど、そこ関連のコメントが無かったのもちょっと気になってる。結構厳しめに設定してたし、そう簡単に取れるもんなのかな~。
あっそうだ、今思いついたけど廃止と書いておきつつ隠し要素として特定の条件を満たすと発生して戦歴リストに加えられる、ってのは面白いかもしれないと思った。まぁ例によってまだ未定だけど。
やる気は微妙な感じだけど今週中には作り始めます。とりあえずこうでも書かないとズルズル行きそうだからね。んで構想の続きとか。
学校関連
自校については前作と変わらないとして、他校のタイムは前に書いたB案っぽくする予定。その上で校名は初期状態がアルファベットで、ブリクエの名前みたいにおまかせボタンを押すと適当な校名になって、あとは手動での入力も可能にすると。一度入力したものを変えられるようにするかは未定だけど、基本的に管理は枠だけだからまぁ可能なのは確かですね。記録を振り返ったときにどうなるかわからないけど。
データの範囲
まず基本データとして日付と、・・・ん、これだけか。個人のデータとしては姓、名、各自己ベストと走力9要素、疲労系2要素、タイプ、練習継続状況、あと生年月日と身長体重、性格、称号ってところ。ここまでならそれほど多くはないね。
駅伝関連はHAGONEに関しては出場しなかった回、及び予選会を含めて過去10年分の区間記録までは保存しておきたい。他の駅伝を同じ扱いにするかはまだ未定。各記録会は今年度分と前年度分は見れるようにしたい。インカレ等は過去10年分の自校選手のデータは残したいなぁ。
その他の個人データは扱い方を検討中。個人のところから駅伝の出場歴とかが見れると便利だとは思うけど駅伝側から引っ張ってくるのは面倒くさいし、かといって個人側で作るとなるとデータ量が結構増えると。まぁでも今回はデータ量の多さは無視していいのか。
それから歴代系。これがまた面倒でな~。パフォーマンス10傑ぐらいならそれほどでもない気もしなくもないけど個人で分けるとなると管理するために別のIDみたいなのが必要になるわけで、結構骨が折れそうだわ。あとランキング以外の過去の名選手みたいなデータも入れるとすればかなり面倒くさそうだけど、ここは10人ぐらいに区切って卒業時に入れる入れないを選べるようにすればいいのかな?この辺は検討課題ですな~。
スカウト
監督レベルを利用したポイント制にする予定。今のところ1人目、2人目、3人目と全体についてスピード、スタミナ、精神力にそれぞれ監督レベル分までポイントを割り振れるようにしてみたい。エースが欲しいなら1人につぎ込んで、全体を上げたいなら全体に振ると。1ポイントにつき個人なら5000m換算で2.5秒、全体だと1秒ぐらいが理想かな~。
あと出身地については、前に書いた15分切り人数に応じた比例分配をしてみたところ、100枠のうち兵庫が6、千葉と愛知が5、栃木、宮城、熊本が4、埼玉、東京、神奈川、長野、静岡、京都、福岡、鹿児島が3、その他33道府県が1枠か2枠になりました。これを基本とするほか、一定のポイントを振り分けることで○○地区を重点的に探すみたいなことも検討中です。
監督レベル
とりあえず前作と同じく戦績の穴埋め方式で行く予定です。たぶん項目は70ぐらいまで増えるはず。各区間賞はゲーム的な埋める楽しさがあるから他の駅伝でも取り入れたい。ただし各駅伝に対して細かく順位を求めるのはナンセンスだと思うのでその辺は適度に省略します。
それから今までに無かった部分として勤続○年みたいなのを入れたい。最初は丸1年でレベルが上がるようにして最後は200年とかね。あとは駅伝通算100勝とかも入れてみたいなぁ。自分はプレイヤーとしては目指す気ゼロだけど。そのほかに駅伝以外の記録関連で20項目程度を検討中。29分切り通算100人とかも面白そうだよね。
とりあえず今後の予定はこんな感じ。スクリプト的な構成→大まかなデータ量の決定→各画面レイアウト→数値以外の部分の動作関連→数字とか画像とか
明日から真面目にやったとして動作関連に入るまで2週間ぐらいかな~。それと並行して各データ集めか。んでかなり面倒くさそうな動作関連が終わったら軽く数字入れてテストして、さらにプレイの感触で構成とかも弄って、ある程度ゲームとしてまとまったところで小さな巨人氏に任せて放置って感じかな?まぁもともと少ないやる気でのスタートなわけだけど、とりあえず数値以外の部分の動作関連に入るまでは一気に行きたいねぇ。
まず練習メニュー。えー、今のところ5種類のメニューに強度各1~5の25種類前後を検討中。メイン画面にどう表示するか等も検討中。まぁ数字が違うだけだからコンパクトに25個置くことは不可能ではないはず。ついでに全体的に文字サイズを若干小さくするかもしれないです。今20が基本だから16~18とかその辺になるかも。
それからステータスについては走力3要素の細分化をこれまた検討中。例えばスピードA、B、C、スタミナA、B、C、精神力(カタカナで言い換えたい・・・)A、B、Cみたいにそれぞれ3つに分ける。んでタイムに関しては各A、B、Cの合計でこれまで通り扱って、S~Gとかのレベル表示もそれぞれの合計で扱うと。ただし例えばHAGONEの5区は精神力のCがタイムに大きく影響するとか、インカレだと同じタイムでもスピードのBで順位が変わってくるとか、その辺の細かい仕掛けは入れてもいいかな~と考えてます。
あと性格は当初難色を示してたけど、もしかしたらポケモンとかドラクエ3方式見たいな感じで入れるかもしれない。今まで隠し数値だった得意なメニューと回復タイプの分類について、それぞれに対応する例えば5×6で30種類の性格を用意するとかね。んで一定の条件を満たすと称号がもらえて性格+称号がプロフィールに追加されると。
それからどうでもいい情報として出身県、生年月日、身長体重辺りは入れようかと思ってます。入れるとすれば生年月日は完全なランダム、身長は例えば158~186cmとかその辺からランダムにして、体重は身長に対応するようにBMI17~22ぐらいで調整、出身県は100枠用意して47枠を各都道府県に1ずつ分配、残りの53枠を5000m15分切りの人数に応じて比例方式で配分とかやったら面白いかも。
まぁこの辺は完全に自分の趣味の領域ですね。ただ単にゲーム内に入れるだけだったらやる気がしない感じだけど、いろいろデータをいじくって作者自身が楽しめるなら入れるのもまた一興と。
まずはとりあえず現在の駅伝部ゲームを改変した仮ファイルでセーブ容量のチェックをしたいかな~。その上で2は大容量ver.(複数セーブ可能、データ1つにつき1000KB超え)と小容量ver.(セーブ1つ、20KB程度)の2つを作ってみたい。いやまだわからんけど。
本気で作り始めてからは、まぁ流用できる部分はかなりあるから50時間もあれば相当進みそうな気はしてる。あとは主に駅伝に関する各データの収集にどれだけ時間がかかるか、そしてテストプレイと各要素の調整になるわけだけど、幸い今回はテストプレイに協力してくれそうな人が何人かいそうな気がしなくもないですよね?えー、多分早くてGWの頃になるとは思いますがその際は是非ご協力をお願い・・・、いやまだわからんな。公開まで秘密にしたほうが面白いかもしれん。多分頼むとしても先着1~2名でしょうね。ええ。あと相変わらずこちらも募集中です。よろです。
あーちなみに自分は高校野球自体にはそれほど興味ありません。好きなスポーツイベントランキングだとトップ100に入るかどうかぐらいの位置だと思います。あんまりその辺あまり考えたこと無いけど。
学校名
KSは全国の相当数の学校を1文字目と2文字目を入れ替えた状態で設定してある。単純にすごいなー入力大変だっただろうなーと思う一方でちょっと居心地が悪いような感じもした。唯一この学校去年も戦った?とかいうところだけ面白かったかな。
えーとりあえず自分の学校は自分で名前を付けるとして、他校をどうするか。まぁここはそもそも自分はあまり興味が無い分野なのでスルーしたいところではあるんだけど、一応要望も来てしまったのでまぁ実名っぽいのを入れたほうがいいんでしょうね。この辺は実名とアルファベット等のオンオフ機能を付けてもよさそう。
あとタイムですが、まず前提として1枠目が1区64分10秒±1分40秒、2区68分50秒±50秒という風に現行通り基本的には固定します。各校に入った選手によって毎年タイムを変えると言うのは面倒くさすぎるので却下で。その上で学校ごとの枠をどうするか。一応3つの案を考えてみた。
A案 完全に固定。これは現行方式と全く同じ。顔ぶれの代わり映えはしなくなるが、学校ごとに特色を出すことは可能。
B案 移動式。前年のHAGONE順位に応じて毎年入れ替わるようにする。前年の優勝校が1枠で50%ぐらい優勝可能、以下2枠、3枠・・・とする。一度低迷すると巻き返すのは厳しくなるが、結構実情に合ってるかもしれない。
C案 ランダム。年毎にシード内とそれ以外で完全にランダムに振り分ける。順位の入れ替えは非常に激しくなるが、実名っぽくするならこれにしてみたいかな~。
HAGONEだけなら楽だけど、全日本の各地区予選辺りも考慮するとなるとどれも結構面倒くさいのは確かですね~。
選手名
KSは漢字で姓名両方とも表示。これについては不満はないものの、個人的にはカタカナ表記で行きたい。姓名の名の方については入れるのは難しくないけど、さて需要があるかどうか。入れるなら内部データにしといて練習画面ではとりあえず苗字だけの表記でいいと思うけどどうかな・・・。他校の選手名はデータが無駄に増えすぎるので採用するつもりはありません。
あとKSではたまに同学年に同じ苗字の人が被ったりしてたけど、出来ればその辺は避けたいところ。ちなみに現在の駅伝部ゲームでは苗字は160種類用意してあって、10年ごとに毎年新人の8つの枠に2つずつ割り当てています。つまり同じ名前の人が同じ時期に被ることはないと。ついでになんとなく紛らわしい名前はなるべく近い学年にならないよう配慮しています。ああ、我ながらなんと気づかれにくい無駄な努力・・・。
あーそれからもしこの名前を入れて欲しい!!!っていう要望があれば受け付けますよー。期間は3月末ぐらいまでで。
スカウト
かなり改善の余地はあったのに前回書き忘れていた部分なんだけど、さる氏が非常にゲーム的で興味深い仕組みを提案してくれました。これはもう誰かがよっぽど面白い案を思いつかない限りそのまま採用してしまいたい。
ただ細かい点に関しては結構いろいろなパターンがありそうなのでこれからいろいろと考えなくてはなりませんね。大量の選手のなかからポイントが一定内に収まるように5人選ぶのか、あらかじめある程度見込みを決めてそれに合った選手から絞り込むようなパターンにするのか、はたまた選手を決めてからポイントを割り振って能力を上げる仕組みにするのか。あと使わなかったポイントを翌年に持ち越せるかどうかとかね。
ちなみにKSのスカウト制度はなんか微妙。まだ1回しか使ってないけど。出来れば駅伝部ゲームにはお金の概念は入れたくないんだよな~。
練習等
ここはあまり参考にならなかった。まぁKS風なメニュー設定にすることも不可能じゃないけど、個人的に現行の方式を結構気に入ってるので無理に変える必要は無いと思う。ただ特訓みたいなのは入れるのも悪くは無いかもとか思った。いや、たぶん入れないけど。
あと選手の特性についてですが、あまり駅伝に特化したものは入れたくないんだよね。ついでに選手の性格とかを入れるのもちょっと難しいというか、作者は難色を示しているって感じ。あーでも能力に全く影響しないならデータとして入れとくのはありかな~。
セーブデータ
セーブ方式は全く違うものの、KSは基礎データと1年分のトーナメント表等のデータが4000KB強で、貯まっていくデータが毎年200KB程度。それに対して現在の駅伝部ゲームは全部で12~13KBぐらい。Flashのセーブデータは100KB以下に抑えるのが基本で、実際自分がローカルに保存している他サイトのデータを見ても概ね70KB以内に収まっている。唯一オーバーしているのはうちの発展と防衛で、1つのスロットにつき100KB、6つあわせて600KB程度になっている。
えー、まぁある程度圧縮は考えるとして、この部分は単純にどこまでのデータを保存するかという問題になるわけだけど、実際どうなんだろうね。まぁコアなファンの皆様方は多少容量を食うのは気にならないだろうから、初見の人にいきなり大きな保存量を要求することが適切かどうかって話になりますかね~。あとはデータにあまり興味が無い人に対して保存量に見合う魅力を提供できるかどうか。
ちょっとこれは先例が見当たらないため判断が難しいですが、どうせなら一気に1000KB超えに挑戦しちゃうのも面白そうだとは思う。今のところこのぐらいのデータでこのぐらいの保存量というのがよくわかってないので、その辺も含めていろいろ検討してみたいところ。
えーっと書き忘れてることはまだありそうだけどとりあえずこの辺で。あんまりKS関係なかったか。相変わらず超絶ヒマ&アイディアがまとまってきたのでそろそろ作り始めようとは思ってます。実家にある古い陸マガからデータを拾ったりするのに時間が掛かりそうだけど、一応いろいろ詰め込んだ2を今年の5月ぐらいまでに完成させて、そこでの要望とかと来年の箱根までのデータを含めて3を完成版として来年前半に作り上げるのが理想かな~。 いや、理想と言うよりただの妄想か。ええ。他に作りたいゲームもあるし・・・。
今のところの構想
駅伝の追加
出雲 10月中旬ぐらい。箱根のシードが出場権。
全日本 11月上旬ぐらい。6位までシード権。6月ごろ予選会実施。
大会の追加
関東インカレ 5月ぐらい?種目は5000m、10000m、ハーフ。標準記録突破で数名出場。1部と2部は分けなくていいと思う。HAGONE予選会にインカレポイントを導入するかは微妙。
日本インカレ 9月ぐらい?種目は5000m、10000m。ハーフは微妙だけど入れてもいいと思う。標準記録突破で数名出場。
その他の優先順位はユニバーシアード>>クロカン大会>日本選手権>世界選手権>五輪>・・・といったところ。
記録会は若干減らして5000m、10000m各4、ハーフ3つぐらいがちょうどいいんじゃないかと思う。
数値関連
走力3要素は固定。これらはパワプロのようにアルファベットで公開することも考えたい。例えば10000m29分ジャストの走力でオールB、±40秒ごとにひとつ動かすとかね。
休養、調子に関しては調整値も含めて再編したいところ。見える部分は今5段階だけど10段階、あるいはゲージ式とかもアリだと思う。
あとは乱数が影響する場所を若干減らしたい。1年間任意のメニューをこなした際に10000mのタイムが80%の確率で±15秒ぐらいに収まるのが理想。
練習
メニューは監督レベルに応じて増やす。そして後半現れるメニューのほうがタイムが速くなるようにしたい。ついでに全体の難易度も若干下げたい。難易度を選べるようにしてハードだと後半のメニューを選べない、とかはアリかも。
あとは調子等の指標によって○○以下なら自動的に休養というのを自分で決められるようにしたい。それからセットメニューみたいなのも作ってみたい。5日分とか決めといて選ぶと一気に練習できるっていう。この2つを組み合わせれば監督さんの仕事はだいぶ楽になりますね~。
その他
記録は過去数年分の区間記録ぐらいはキープできるようにしたい。セーブデータの圧縮も検討。記録のweb送信はcgiを外注できれば可能かと。あと描いてくれる人がいれば選手ごとの顔アイコンの導入も面白そう。出身地はどうなんだろうな~。
まぁ構想というより妄想ですね。どうせ手を付けるとしても来年の箱根以降なので、類似のゲームを作りたい人はパクっちゃってOKですよ?
続きはここ。もしくはゲーム10カテゴリで。
感想及び評価は完全に独断で手当たり次第根こそぎプレイしてガンガン書いてます。☆平均1.8ぐらい。
かつてはFlash8でゲーム制作も行っていました。
Youtuber(天野ガム)としても活動してます
https://twitter.com/5Qqvac8TFmxr6wG