しゃいにーのひとりごと。(雑談掲示板

投稿: Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy 投稿:2018/05/13 00:40:13(最新:2019/05/22 23:53:22)
ゲームのアイデアのメモや個人的に気になったこと、どうでもいいことを勝手に書いていきます
話しかけちゃダメなんてことは全然ないので、なにかあればご自由に書き込んじゃって下さい

コメントする

コメントするには、ログインする必要があります。

コメント一覧

Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/05/22 23:53, 履歴)
setBaseTimeとgetTime関数を実装
getLocalCurrentTimeMillisecond関数はCoRに移植されていると書かれているけど使えなかったからgetLocalCurrentDateから代替関数を実装
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/04/03 15:23, 履歴)
フェードアウト関数の実装課題
フルカラーの場合データサイズが膨大になるため色数の削減
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/04/03 15:01, 履歴)
LegacyEngineにwaitTimeを実装できたため理論上ノベルゲームの移植が可能に
RPG、ARPG移植機能に関しては未定

今になってArrpの構文そのまま全てRubyに渡せるのかが不安
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/04/01 01:48, 履歴)
LegacyEngine version 0.2.x
  • クラス管理体系を大幅に変更
  • ノベルゲームのシーン定義をlegacy_scene、add_sceneメソッドで行うように変更
  • chapterメソッドをadd_chapterメソッドに
  • starting_sceneメソッド追加
  • speak関数に複数の引数を渡せるように
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/03/27 00:39, 履歴)
ノベルゲームでのシーンはメソッドを定義すると他シーンでもそのメソッドが使える
その仕様のおかげで開始スクリプトに予めメソッドを記述しておけるけど、CoRのシーンではシーン内で定義したメソッドはそのシーン以外では使えない
現状はCoRのシーンをノベルゲームのシーン毎に用意しているけどこれをゲーム毎に1シーンにするかクラス構成で改善できるかどうか…
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/03/26 14:19, 履歴)
Code on Rmake Legacy Engineの開発

既存のRmakeにおけるシーン、チャプター等をCoR上で再現する非公式のAPI
(スクリプト関数のみを提供するRmake Legacyとは異なる)

実装済
  • ノベルゲーム定義(novel関数)
    • シーン定義(scene関数)
    • チャプター定義(chapter関数)
    • シーン移動(changeScene関数)
    • チャプター移動(changeChapter関数)

未実装
  • 2DRPG
  • 2DアクションRPG
  • ノベルゲーム
    • 開始スクリプト
    • 各スクリプト関数

例) ソースコード
# LegacyEngineの読み込み
require_code 'le.rb'

# ノベルゲームの定義
novel 'novel0' do
  # シーンの定義
  scene "scene0" do
    # チャプターの定義
    chapter "chapter0" do
      # speak関数(debug_logと同じ)
      speak("scene0:chapter0")
      # チャプターの変更
      changeChapter("chapter2")
    end
    
    chapter "chapter1" do
      speak("scene0:chapter1")
    end
    
    chapter "chapter2" do
      speak("scene0:chapter2")
      # シーンの変更
      changeScene("scene1")
    end
  end
  
  scene "scene1" do
    chapter "chapter0" do
      speak("scene1:chapter0")
    end
  end
end

# ノベルゲームの開始(未実装)
#start_game "novel0"

start_scene "scene0"


例) ログ
5: scene1:chapter0
4: scene0:chapter2
3: scene0:chapter0
2: require_code: le.rb
1: require_code: start.rb
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2019/03/24 22:58, 履歴)
Novel for CoR
novel "novel0" do
  scene "scene0" do
    chapter "chapter0" do
      debug_log 1
    end
    
    chapter "chapter1" do
      debug_log 2
    end
    
    chapter "chapter2" do
      debug_log 3
    end
  end
end
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/08/25 00:55, 履歴)
3Dポリゴン表示、奥行きとかが前後しちゃう時がまだあるけど妥協範囲かな
全部がひとつの完成品というより、Canvas3Dは三次元座標とスプライト管理部分だから使う人に改造してもらって使ってもらいたいけど使ってくれる人いなそう、、
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/08/21 00:47, 履歴)
Canvasで立体表現が可能になる新しいCanvas、その名もCanvas3D
開発中!(独り言)

setCanvasVisible(true)
canvas3d=createCanvas3d()
setCanvas3dRect(canvas3d,-400,-300,800,600)
setCanvas3dPosition(canvas3d,400,300)
setCanvas3dRotation(canvas3d,0)
setCanvas3dScale(canvas3d,1,1)
setCanvas3dIndependentCamera(canvas3d,true)
setCanvas3dCameraPosition(canvas3d,0,0,0)
setCanvas3dCameraRotation(canvas3d,0,0,0)
sprite3d=createSprite3d(canvas3d,0)
vertex=createArray()
vertex[0]=createArray()
vertex[0][0]=0
vertex[0][1]=0
vertex[0][2]=0
vertex[1]=createArray()
vertex[1][0]=100
vertex[1][1]=0
vertex[1][2]=0
vertex[2]=createArray()
vertex[2][0]=0
vertex[2][1]=100
vertex[2][2]=0
setSprite3dVertex(canvas3d,sprite3d,vertex)
sprite=createTriangleSprite(322234)
setTriangleSpriteRect(sprite,0,0,256,256)
setSprite3dSprite(canvas3d,sprite3d,sprite)
setSprite3dPosition(canvas3d,sprite3d,0,0,-10)
setSprite3dRotation(canvas3d,sprite3d,0,0,0)
drawCanvas3d(canvas3d)
drawCanvas()
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/08/19 23:25, 履歴)
ちゃんとしたゲーム作らないと
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/07/08 02:53, 履歴)
ビット演算子がArrpにないと知り自作したものの果たして作る意味はあったのか
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/05/21 01:17, 履歴)
よその子を募集してゲームのキャラとして登場させるようなものを自分でも作ってみたいけどどんなゲームがよいものか
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/05/13 02:14, 履歴)
創作するのが下手だから、ストーリーとかシステムを他の人に考えてもらってプログラムだけ組みたい()
Downloadfd8101e6 femulated 2f0 2fscreenshots 2fscreenshot 2016 06 07 08 05 53 mini shainy(投稿日:2018/05/13 01:03, 履歴)
Arrpのヒアドキュメント機能の文法的な仕様メモ

・基本形
<<[識別子]
string
string
[識別子]

・代入
string= <<EOS ←=と<<の間は空ける
0
1
2
3
EOS

・関数の引数に使う
speak(<<EOS) ←ここで閉じても良い
A
B
C
EOS

OR

speak(<<EOS
A
B
C
EOS ←ここは識別子以外記述しちゃダメ
) ←最後で閉じてもいい

ヒアドキュメントの構文解析組むの面倒