読者です 読者をやめる 読者になる 読者になる

ChikenHeart

自分自身の備忘録と活動日誌

Game A Week 2週目、RPG tutorialやってたら終わった。。。

2位回目は、コマンド式簡単なRPGを作成しようと考えた。

しかし、けどコマンドとかの入力わからんなということでHeartBeastさんの「Make an RPG 」をやり始めた。

[Beginner] Make an RPG - YouTube

 ただ始めると思ったより長く、先週はこれやってたら終わった・・・

多くのことを学ぶことができたので、今週はやろうと思っていたコマンドRPGをやろうかと思う。

 

成果物:https://1drv.ms/u/s!AmShjq5Cn7qt_UwSIO_dIRgZ1AV9

動画:

 

 

 結構難しくて、中身理解できてない部分もあると思う。

基本の移動方法は、物理計算して力を加えた分だけ動かす方式っぽい。

 

得れたもの

・ダッシュでのエフェクト

・ダイアログの表示

・ポーズメニューでの操作

・ファイル操作によるセーブ&ロード

・Room切り替え時の変数保存

・Macroの使用 (Global変数として、数値と文字列を対応させる?)

⇒マクロの記事 : http://emilycharlotte.jp/2015/02/19/249

・Scriptでの関数管理

などなど、役立つ部分が多かった。プレイヤーの動きとか敵の動きはある程度把握していたので、特にUI部分(っていっていいのか?)が参考になった。

 一度スタート/セーブ/ロード/ポーズ画面のテンプレートを作っておきたい。

 

 たぶん今後も使っていくであろうポーズメニューの管理オブジェクトのStep内はこんな感じ。

  1. /// Control the menu
  2. if(alarm[0] <= 0)
  3. {
  4. if(obj_input.key_down || obj_input.yaxis > 0.5)
  5. {
  6. if(menu_index < array_length_1d(option)-1 ) menu_index++;
  7. else menu_index = 0;
  8. alarm[0] = room_speed/6;
  9. }
  10. if(obj_input.key_up || obj_input.yaxis < -0.5)
  11. {
  12. if(menu_index > 0) menu_index--;
  13. else menu_index = array_length_1d(option) -1;
  14. alarm[0] = room_speed/6;
  15. }
  16. if(obj_input.key_attack)
  17. {
  18. switch(menu_index)
  19. {
  20. case 0:
  21. obj_player_stats.room_start_action = RETURN;
  22. room_goto(obj_player_stats.previous_room);
  23. break;
  24. case 1:
  25. scr_save_game();
  26. break;
  27. case 2:
  28. obj_player_stats.room_start_action = LOAD;
  29. room_goto(obj_player_stats.previous_room);
  30. break;
  31. case 3:
  32. game_end();
  33. break;
  34. default:
  35. break;
  36. }
  37. obj_input.key_attack = false;
  38. }
  39. }

上部のKey_downの入力有無で、ポーズメニュー内の選択位置を変更。

今回のゲームは、文字がハイライトされる。

下のSwitch文の分岐で、選択中のメニュー内容の実行。

 

 アクション用RoomとポーズメニューRoomを使って管理しているんだけども、メニューの表示をGUIで管理する。そして、アクションは選択で実行にすればコマンドRPG作れるだろう。今週こそ、思い描いたコマンドRPGを作るぞ!

 

雑記:普段のお仕事がゲームとか、ましてやプログラムとも全く関係なくてやきもき。

家での作業が楽しいのは趣味だからなのか、仕事であっても楽しいのか。

安易に転職したいとか言いたくないが、ゲーム業界で働きたいと思ってしまうなあ。

なんにしても、PRのためには自分でゲームを1つ作らないとなとは思う。

そんなこんなで、Game a Week は続けていきます。