ゲーム製作初心者の俺がマルチプラットフォームなゲーム作ってみるスレ

Check このエントリーをはてなブックマークに追加 Tweet

37 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 02:12:56.77 ID:6yr83+ruo
幸いなことにiOSにもOperaがありますから、2DはWebKit、3DはOperaとユーザーさんに選択して貰う必要がありそうです

まぁこの辺りはまだ自分みたいな低レベルなゲーム製作者が考えても仕方ない範疇ですが
そこまでスペック要求するゲームは作らない(作れない)ですしね
38 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 02:20:52.31 ID:6yr83+ruo
取り敢えず何から始めようか?と考えました

んで今週の週刊アスキーに掲載されてる熊サンプルを改造していくことから始めようかな?なんて考えてます
最終的な目標はVOCALOIDを題材にした何らかのゲームが出来たら良いななんて思ってます
MMDモデルも多彩なのでWebGLとか使えるようになったらカッコイイだろうなぁ何て妄想も・・・ww
39 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 02:45:05.72 ID:6yr83+ruo
しかし手元に参考書籍が無いとアレですね、何も出来ないww
プログラムのプの字も分からない自分ですから、頭の中にあるゲームの想定する挙動を考え調べていますが、
専門用語が分からないですorz

今ぶつかってる難題が、ゲームサイズが大きくなると初期のロードに時間がかかってしまいますが、
enchant.jsの初期状態だとゲーム全体を読み込んでしまいロードに時間がかかる
そこでデータを小分けし、要所要所で必要なデータを読み込むにはどうしたら良いのだろう?と言うものです

そして可能ならばゲームプレイ中にバックグラウンドで小分けデータを読み込ませ、ユーザーにストレスを与えない
そんな方法はないものかと考え調べています

画像のプレロードまでは行き着きましたが、小分けして読み込ませたいのは画像だけでは無いので云々悩んでます

そしてどうやらJavascriptのマルチスレッドは試用段階であり、環境により対応もまちまちみたいだとも調べて知りました
つまりこれはバックグラウンドでの読み込みは事実上現状では困難だとオイラは勝手に判断した次第です
40 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 03:03:38.31 ID:6yr83+ruo
データを小分けするという方法の想定は自分の中にはあります
想定であって正しい解なのかはわかりませんが

基本的にHTMLやCSSは上から読み込まれます(レンダリングエンジンにもよりますが、例えばSONY TabletはWebページの中でも重い部類である画像を後から読み込む)
ですからデータを小分けするには 以下の方法で出来るんじゃないかと考えているのです

<script type="text/javascript" src="../../enchant.js"></script>
  <script type="text/javascript" src="../../plugins/nineleap.enchant.js"></script>
  <script type="text/javascript" src="../../plugins/ui.enchant.js"></script>
  <script type="text/javascript" src="foo_game_1.js"></script>
  <script type="text/javascript" src="foo_game_2.js"></script>
  <script type="text/javascript" src="foo_game_3.js"></script>

HTMLへこのように記述することによりfoo_game_1.jsの処理が終了した後にfoo_game_2.jsが自動的にロードされ、
foo_game_2.jsの処理が終了すればfoo_game_3.jsが自動ロードと言う風に動作するのでは無いかと推測してるんです

これは参考書籍が届いた後に横スクロール熊を改造し、GAME OVER表示後、自動的に別ゲームが起動する様に改造する事で
テストしてみたいと考えています
41 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 03:04:52.05 ID:6yr83+ruo
さて今晩はこれで終了です
おやすみなさいまた明日
42 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 04:05:02.49 ID:9B64/e/vo
当直交代の上司が来ないです・・・orz
まぁいつものこといつものこと(´・ω・`)

まぁ既に解ってるとは思いますが、このスレはおいらのチラ裏な日記帳ですwww
プログラム関係無い独り言も多いです

明日は以前から欲しかったトラックボールが届きますよ!
xubuntuで動くだろうか?

上司来るまで様々な人のenchant.jsで遊びつつ来たら仕事を上がろうと思います
ではでは
43 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 14:48:51.09 ID:aRE9GQkwo
トラックボール届いたよ(・∀・)!!
KensingtonのSlimBlade
Xubuntuでドライバインストールしないでも使えました

本はまだです
44 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/02/28(火) 17:10:37.37 ID:NoL/iMUIo
iPhone4S
Opera
>>35の下のURL

重過ぎ泣いた
45 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 20:21:38.22 ID:aRE9GQkwo
>>44
やっぱりOperaは重いですか
ありがとうございます

事実上Operaは3D専用になりそうですね
しかし逆に言えば3DはOperaに縛られちゃうんでWebKitやFirefoxももっと頑張ってほしいものです

重い重いと言われがちですがGekko(Firefox]noレンダリングエンジン)のバランスの良さは評価できますね
46 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 22:01:04.39 ID:aRE9GQkwo
週アス3/6の講座を勉強中です

勉強中と言うかコーディング中です
コーディングした後、コードを読んでじっくり考えようと思います
47 :VIPにかわりましてGEPPERがお送りします :2012/02/28(火) 23:14:28.14 ID:aRE9GQkwo
週アス3/6の講座は変数名の解説とか無いんでわかりにくいですねぇ
48 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 01:29:55.42 ID:llZm/XIqo
ただ打ち込んでも理解しにくいというのがわかりました
今回打ち込んだものを公開しようと考えましたが自分自身が全く理解していないので公開を控えます
参考書籍が届き、理解したら公開します

ソースコードを読んで何となくは何が書いてあるかは分かるんですがJavascriptの法則性というか、記述ルールがよく解っていないんです

週アス3/6号を持ってる方は105頁のソースコードを見てみて下さい

Part1はそのままなので理解出来ますよね
window.onload = function() {はこれなんでしょうね?
=の場合、その変数に代入すると言う意味で合ったはずですから、window.onloadへfunction()を代入すると言う理解で良いんでしょうか?
そして{の意味が全く解らない・・・出現頻度から考えてそのコードの終了を表すんでしょうか?
;の出現頻度も高いですが{との違いが気になるところです

varは何を表すんだろう?

labelやbearは明らかに変数で、{bear = new Sprite(32, 32);でbearに切り抜き解像度を指定しているんだと考えてます
Part2でbear.image = game.assets['hogehoge'];とbear変数に画像を与えていますよねコレ
そしてbear.frame = fooで先ほどのnew Spriteから指定した解像度のフレーム分を抜き取っているのだと思います
つまりbear.frame = 0では指定した画像の横0〜32解像度内、縦0〜32解像度内を抜き取り、
bear.frame = 1では指定した画像の横33〜64の解像度内、縦0〜32の解像度内を抜き取ると言う意味になるのだと
数字で画像を指定と言う解説文はそう言う意味なんだと思います
49 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 01:35:33.26 ID:llZm/XIqo
自分はプログラム未経験ですしenchant.jsに興味があってもプログラムは敷居が高そうでちょっと・・・と思ってる人も結構多いと思います
だから初心者の自分が参考書籍で勉強して初心者の言葉でenchant.jsを解説していこうと考えています

参考書籍が届いたら先ずはenchant.jsに付属しているサンプルの読み取り理解からしていきましょうね

それでは今日はこの辺で落ちます
50 :VIPにかわりましてGEPPERがお送りします [sage]:2012/02/29(水) 02:53:46.40 ID:E2JQ0wU9o
オレもJavaScriptはあんましキチンと理解してないんだけど、window.onload = は
「ブラウザのウインドウに文書が読み込まれたら=のあとに書いてある事やってね」って意味らしい
でそのやる事が function() 、「関数」ってやつなんだけど要は命令たくさん繋げて作った機能のコトね
で、その関数の中身を続けて書く訳だけど何しろ長くなるんで一行に詰め込むとエライ事になる
そこで何行かに分けて書く時にどこからどこまでがその関数の中身なのか判る様に { と } で挟む訳よ
だからfunction()のすぐ後に{があるっしょ?
で、何行かに渡って命令が書いてあって、その後にちゃんと}で閉じてるっしょ?
そこまでがこの関数の中身ってコトで、コレがonload時に実行されるってワケ
因みに ; は一つの命令の終わりを示す区切りの記号ね
varは「変数使うよー、細かいコトは善きにはからえ」って意味で、変数宣言とかいうやつ
変数にはいろんなタイプ(型)があって数とか文字とか型によって入れられるモノが違う
本当は変数使う宣言するときに型を指定するのがお作法なんだけど、どうせ宣言と同時に中身放り込むんだから
中身見りゃどんな型か判るっしょ?ってときに使うのがvarってことらしい
んで今回のbearみたいに画面に表示するキャラクタとかは「スプライトオブジェクト」なので
「オブジェクト型」の変数に入るコトになる
つまり「bearって変数を宣言してnewで新しく生成した横32x縦32のスプライトオブジェクトを代入するよ、
型は代入する中身に合わせてオブジェクト型ね」という意味になるワケ
で、オブジェクト型の変数には「横32x縦32のスプライト」って情報だけじゃなくて、
そのスプライトで使う画像は?画面上で表示するときの横位置は?縦位置は?アニメするなら今何フレーム目?
といった情報も「パラメータ」ってやつに入れるコトが出来る
Part2のbear.image = game.assets['hogehoge'];てのがまさにそれ
bearのあとに「.(ピリオド)」でパラメータ名(スプライトに使う画像なら「image」)を繋げて書くと代入出来る
bear.frameとかもおんなじね
51 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 08:59:42.88 ID:cBZ/K98Oo
>>50
ありがとうございます

なるほど何となく理解出来ました

enchant.jsライブラリが呼び出されている環境下でfunction()はenchant.jsのfunction()であって、Javascript標準ライブラリのfunction()とは中身が違うんですかね?

まぁこの辺もゼロから〜が届けば解ることだとは思いますが

それにしてもこう言う今までにやった事無いものをやってると楽しいですねぇ(´∀`)
パズルを解くみたいな感覚です
しかもこのパズルを解けばゲーム作れるわけですから尚更ですね

更に言えばenchant.jsのメインユーザーは自分より10コくらいは年下の学生達ですからオッサンとしては負けられませんねwww
どっちが面白いの作るか勝負ですよ勝負www
52 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 09:15:21.14 ID:8BCw9FQlo
どんなゲームを作るかは決まってるの?
53 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 10:31:22.62 ID:cBZ/K98Oo
>>52
ええ、決まってますよ
どんな挙動をさせたいか?まで決まって居るんで後はしっかりJavascriptを勉強するだけです
そこが一番の難関ではあるんですがねwww
54 :VIPにかわりましてGEPPERがお送りします :2012/02/29(水) 19:34:10.69 ID:9+5nRLLPo
enchant.js付属のサンプルのソースコードを読んでみたわけです

解ったことは週アスの凄さでしたww
当初、週アスのコードとサンプルコードを見比べて勉強しようと思ったわけです
でもあまりにも違いすぎて参考になりませんねコレwwwwww

早く届けゼロからはじめる〜
55 :VIPにかわりましてGEPPERがお送りします :2012/03/01(木) 18:42:24.36 ID:fgq3p0pzo
配送通知すら来ないんですが・・・
TSUTAYAで買ったんですけどね
3〜12日以内に配送開始らしいんです
もう一週間近く経ちますね
12日をフルに使うつもりなのでしょうか?

本屋へ行く度にJavascriptの本を買ってしまいそうになる・・・
我慢我慢(´Д`;)
56 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/01(木) 23:38:37.83 ID:sZkJnwvto
>>50
流石にこれは違うと思うので指摘、ちょっと長いので3レスに分けてw

自分も専門ではないので結構間違いは結構あると思う。そこは他の人が指摘してくれると嬉しい
先に言っとくと殆ど「JavaScript本格入門」という本からの受け売りです。
さらに十分に理解できてるとは言えない、いい加減な知識での受け売りですw
本を読んだ方が100倍いいですw
57 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/01(木) 23:39:36.38 ID:sZkJnwvto
varはメンバー変数の生成。
変数には有効範囲があり、varを付けて宣言した場合と付けない場合では
変数の使用できる有効範囲が違う。
例えばfunctionの中で宣言した変数は、varを付けていればfunctionの中でのみ有効
付けていなければfunctionの外でも有効。

変数の「型」に関しては、JavaScriptは表記方法で型を認識してる。
違った型同士で計算された場合は自動的にどちらかに変換(ネスト)されるか、またはエラーをはく

数値型 ・・・ 数字。入力時に数字を打ち込むと数値型になる
文字列型・・・文字列。入力時に""または''で囲むとストリングス型になる
ブーリアン型・・・trueとfalseの2つしか値が無い。""や''なしでtrueまたはfalseと書けばブーリアン型になる
配列型・・・データ集合体。new演算子でarrayオブジェクトのインスタンスを生成するか(後述)、[]で囲んでルール通りに記述すれば配列になる
オブジェクト型・・・データの集合体。{}で囲んでルール通りに記述すればオブジェクト型になる。
function型・・・実行できるプログラム要素を持つもの。function(){}で囲んでルール通りに記述すれば関数型となる。
特殊型・・・値が設定されていないなど

ちょっと特殊なのがfunction型とオブジェクト型
function型というのは呼び出された際に登録されたプログラムを実行し、実行した結果を返す。
例えば、
testFunc = function(){return 5;};
hoge = testFunc();
この場合、returnは値を出力する命令なのでhogeには5という数字が代入される。
function型の変数を呼び出す(実行する)場合は()を付ける。
この()は投げ値というのに使います。投げ値についてはあとでちょっとだけ書きます

あとfunctionの書き方には2種類ある。上記のような書き方以外にこういう書き方も出来る。
function testFunc(){return 5;}
この場合、最後の;はいらない

function型の変数は単体で実行できる(こっちの使用方法の方がメジャー)
たとえばfunction型の変数hogeがあった場合、
hoge();
と書かくと、格納されたプログラムが実行される。
58 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/01(木) 23:40:27.14 ID:sZkJnwvto
次にオブジェクト型について説明
オブジェクト型は複数の変数を格納しておける大きな箱みたいなもの。
オブジェクト型に格納された変数も型があり、例えばオブジェクト型の中にオブジェクト型を格納するなんてことも可能
もちろんfunction型も格納できるよ
オブジェクト型の格納されたデータにアクセスするには.(ドット)を使う
だからオブジェクト型のhogeって変数の中にあるuryaって変数(プロパティと呼ぶ)にアクセスする際は
hoge.urya
と記述する。

でwindow.onloadって何よって話だけど
これはブラウザ自体が最初から持っているオブジェクト型の変数windowのonloadプロパティをいじっている
function型の値を代入してやると、ブラウザの読み込み終了後に自動的に実行される。

bear.image = game.assets['hogehoge'];
についてだけどまず、assets[]は配列型の変数。
配列の中でも連想配列という少し特殊な配列。
これはただ、bearオブジェクトのimageプロパティにゲームオブジェクトのassets['hogehoge']プロパティに格納された
値を代入しなさいとそれだけです。

newはnew演算子という演算子(+-=なんかと同じ)。
指定したオブジェクト型変数のコピー(インスタンスという)を作る。
例えば弾幕シューティングゲームを作る際、画面上にある弾は全てがそれぞれに
・自分のY座標
・自分のX座標
・自分の進む方向
・自分のスピード
・自分の当たり判定
なんていう情報(変数)を持っている。
なのでまず元の設計図となる弾というオブジェクトを作ってそれをコピーして100個のオブジェクトで弾を管理する
といった場合に使用する

bear = new Sprite(32, 32);
Spriteという設計図をもとにインスタンス生成してbearに代入している。
32,32という数値があるけど、これは投げ値
オブジェクトにはnew演算子でインスタンスが生成される際に指定されたfunction(コンストラクタという)を実行する機能があり、
そのfunctionに値を投げてる。
もとのコードが分からないので何とも言えないけど、32*32のスプライトを作ってってことじゃないだろうか

new演算子はすっごい難しい。自分がプログラム半分挫折してるのはコイツのせい。
オブジェクトだけでプログラムを構築していく方法をオブジェクト指向といい、
これが理解できればJAVAやC#なんかも出来るようになるかも?

以上。長々とごめんなさい
59 :VIPにかわりましてGEPPERがお送りします :2012/03/02(金) 13:09:55.24 ID:IncFq0RCo
>>56-58
いえいえ、2chとは違って流れも遅いですしプログラムコーディング解説は長文になるのも仕方ないですよ
ありがとうございます

何となくは理解出来ました
varの用法はしっかりと理解させて頂きました

取り敢えずアナタの解説で察したことは「最適化なんて最初は無視だ!後からやれば良いんだおwwwwww」ですねww
これHTMLでも同じなんです、取り敢えずは汚いコードでも先ずは考えたデザインを表示するんです
new演算子が難しいのは察しました。例えば100個のコピーから100個全体の相互関係を意識し100個を個別に処理させるわけですから大変です。

難しいのならば、自分は初心者ですしnew演算子なんて使わないで100の変数を用意しちゃいますww
無駄に糞長いコードのなるでしょうが最適化は動くものを公開した後にゆっくりやれば良いのですww
プレイヤーにとってソースコードがどうなってるかなんて興味の範疇外ですからね
ゲームの見た目さえ変わっていなければ最適化したコードを後からこっそり更新してやれば良いのですwwwwww

いやはやプログラムは難しい、参考書籍が無いので尚更です。
まだまだ迷惑かけると思いますが今後もよろしくおねがいします。
60 :VIPにかわりましてGEPPERがお送りします :2012/03/02(金) 17:06:29.64 ID:/7VhzMdQo
参考書籍が届かないので話のネタにでも週アスサンプルゲームの公開です

http://jsrun.it/Tanzo/d134

PCブラウザ、Androidブラウザでの動作確認済み
爆弾を避けて遊ぶゲームです
61 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/03/02(金) 17:09:29.91 ID:P3N4jBpgo
>>60
iPhone4S safari
ちゃんと動作しますた

面白えwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
62 :VIPにかわりましてGEPPERがお送りします :2012/03/02(金) 17:26:38.77 ID:/7VhzMdQo
>>61
動作報告ありがとうございます

参考書籍が届いたらこれもカスタマイズしてみようかと考えてます

あまりにも暇なんでBlenderのダウンロード中です
コマンドは以下の通り

sudo add-apt-repository ppa:cheleb/blender-svn && sudo apt-get update && sudo apt-get install blender

何度もパスワードを打たなければならない時は&&で複数コマンドを命令してやると楽です
ただし設定とか複雑なことをやる時は&&を使わないほうが良いと思います
63 :VIPにかわりましてGEPPERがお送りします :2012/03/02(金) 18:03:42.17 ID:/7VhzMdQo
Blenderをインストールした理由は、今回VOCALOIDを題材にしたゲームを作るという目標から
画面へ表示するキャラ素材を作る為ですね絵心無いんで3Dで手っ取り早く作りたいと思います

もしかしたら「3Dモデルなんて使わないで俺様が描いてやんよ(`・ω・´)シャキーン」と男気ある絵師さんが
居るかも知れませんが、初心者が作る上手く完成するか判らん企画に労力使うこと無いですwwwwww
もしそんな男気をおいらへ見せてくれるとしたら完成した後に良ければして下さい
絵師さん以外の音師さん、まさか居ないと思いますが3Dモデラーさんも同様です
労力は他で使って下さい、完成した後に協力して頂けたら嬉しいと思います
64 :VIPにかわりましてGEPPERがお送りします :2012/03/02(金) 23:34:41.77 ID:/7VhzMdQo
届かなくて届かなくて我慢できずに自分で勉強始めちゃいましたww
粗方理解したら再び同じ形式で公開します
65 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 02:35:45.83 ID:oEYitEJLo
単純に熊を表示するだけの実験作を公開します
http://jsrun.it/Tanzo/1a2u

ついでにおいらのjsdo.itのページです
ここで順次制作物をアップしていきます
ソースが見られるサイトなので勉強するなら持って来いだと思います
まともなの完成したら9leapの方にもアップしましょうかねww
http://jsdo.it/Tanzo/
66 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 03:12:27.84 ID:oEYitEJLo
明日はこの熊を動かしてみようかと思います
可能ならば指に追従する様な感じに仕上げたいですね
爆弾避けみたいな感じで
67 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/03/03(土) 03:16:38.67 ID:vyVtXj9Ho
熊表示くらいなら1〜4行で出来るような
68 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 03:22:58.53 ID:oEYitEJLo
>>67
そうなんですか?
手元に参考書籍が無い状態なのでググったりコードを書き換えて挙動を見たりして頑張りました
最適化は後回しで取り敢えず動作させるのを念頭にやってます

まぁ動いてくれたので今度は最適化ですねw
69 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/03/03(土) 09:36:51.36 ID:45l1yRHqo
あっ、Javaか
CとかBASICとかじゃないんだね 失礼

ほぼ独学ってすごいなあ…
70 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 09:55:19.03 ID:oEYitEJLo
>>69
パソコンからアクセス頂いて右クリック→ソースを表示とするとソースコードが読めますよ
興味があればどうぞ

ちなみにJAVAじゃなくてJavascriptです
71 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 10:30:58.33 ID:oEYitEJLo
>>40で自分が語ったデータの小分けですが、この想定は当たっているようですね
>>65のコードに1行加えました

<script type="text/javascript">
   enchant();
   window.onload = function()
   {
    var game = new Game(320, 320);
    game.fps = 24;
    game.preload('chara1.gif');
    game.onload = function()
    {
     var bear = new Sprite(32, 32);
     bear.image = game.assets['chara1.gif'];
     bear.frame = 0;               //この行を追加
     game.rootScene.addChild(bear);
    }
    game.start();
    }
</script>

更に同じコード繰り返しペーストして先ほど加えた1行のコードをbear.frame = 1;と数字を1にします
これをブラウザで動作させてみると表示されるのは歩いてる熊です

目に見えにほど高速に直立熊から歩き熊へレンダリングされるので熊表示コードが繰り返されているのに
視覚的には気づきませんが、おそらく上から順に動作していると思われます

今日はまずタッチイベントを挿入し、画面がタッチされたら熊の表示を切り替えると言うものをまず作ってみたいと思います
あまりにも高速にレンダリングされるため、想定通りしっかりと動いてるか判らないのでそうしますww
これが成功すれば一度にゲームを読みこまなくとも良いと判りますね

その後、指に追従する熊をやってみたいと思います
72 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 10:41:34.36 ID:oEYitEJLo
徐々に様々なデザイン案を思いついてます

例えばenchant.jsのプレロードイベントは黒背景に白いバーでなんだか素っ気ないです
それを改変するにはライブラリ自体に手を付けなければならないですが、ほんの少しだけグラフィカルに改変したいと考えてます

そして可能ならばenchant.jsロゴを表示し「えんちゃんとどっとじぇいえす♪」と可愛く女の子に読み上げて貰いたいものですね
まぁ今回はVOCALOIDを題材にしたゲームなので初音ミクを購入しミクに読み上げて貰っても良いですが、出来れば自分制作の
enchant.js利用ゲームではずっと使っていきたい音声です
それにVOCALOIDを安全に動作させようと思ったらWindows起動しなくちゃいけなくなりますしねwwwwww

まぁもしくは毎回ヒロインキャラの声を当ててくれる方に読み上げて貰う・・・でしょうかねぇ
73 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/03/03(土) 11:47:06.57 ID:yo5R8aEyo
読み上げなら「VOICEROID+」の方がいいと思われ
74 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 11:54:51.54 ID:oEYitEJLo
>>73
あぁあの新しい奴だね紫髪の
まぁいつかはVOCALOIDシリーズを全て購入しようと思ってますから買いますよ
75 :VIPにかわりましてGEPPERがお送りします(長屋) [sage]:2012/03/03(土) 12:08:35.34 ID:yo5R8aEyo
それもあるけど違う
AH-softっつー会社から数種類出てる
76 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 13:19:53.51 ID:oEYitEJLo
>>75
そうなですか
調べてみますね

しかし参考書籍があればここまであーだこーだと調べる必要は無いんでしょうねぇ・・・
もうTSUTAYAオンラインで本買わないorz
77 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 18:42:52.28 ID:LJW+DgEvo
超単純に熊を横へスライドさせました
http://jsrun.it/Tanzo/spZi

コツコツと高度な事をやっていってます
同じJavascript初心者さんには参考になると思います
まぁ上級者さんから見たら簡単なコーディングでしょうがね
78 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 20:28:02.74 ID:DkYZ/Uwso
>>77は単純に熊がスライドしていくだけです
そこで歩いているっぽく見せるために1行を追加して見ました

bear.x += 1;     //この行は熊をスライドさせていくコードです
bear.frame += 1;  //その下に歩いているっぽく見せる行を追加しようと試みました

当然ながら全ての熊画像が表示してしまい失敗
むむむ・・・もう少し勉強が必要ですな(´・ω・`)
つまり0と1と2の範囲だけを使えば良いわけですからそれを計算式で表現すれば良いんですかね?
ちょっとまた潜ります
79 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 20:32:33.60 ID:DkYZ/Uwso
あっアレか?if、else ifがここで登場するのか?(`・ω・´)シャキーン
もしもhogehogeであれば(でなければ)fooを実行ってやつだ!

書き方解からんので調べてきます
80 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 20:44:50.08 ID:DkYZ/Uwso
bear.x += 1;
if (bear.frame = 0) {bear.frame + 1}
if (bear.frame = 1) {bear.frame + 1}
if (bear.frame = 2) {bear.frame - 2}

失敗例です
繰り返すと思ったんですが繰り返さず失敗ですorz
繰り返しの方法を調べなくてわ
81 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 20:50:56.65 ID:DkYZ/Uwso
bear.x += 1;
if (bear.frame == 0) {bear.frame += 1};
if (bear.frame == 1) {bear.frame += 1};
if (bear.frame == 2) {bear.frame -= 2};

こうでもなかったです失敗orz
82 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 21:10:37.05 ID:DkYZ/Uwso
そうか・・・1フレーム毎にカウントして画像を切り替えなきゃならないんですね

bear.x += 1;
if (bear.frame == 0)
{
 bear.frame += 1;
}
if (bear.frame == 1)
{
 bear.frame += 1;
}
if (bear.frame == 2)
{
 bear.frame -= 2;
}

おそらくコレは間違いじゃないわけです
しかし一瞬で処理されてしまい視覚的には画像は何にも変化がない状態なんですねきっと
そこで間に1フレーム進めば画像を切り替えると言う命令が必要になってくるんだと思います
それを調べなくては・・・(´・ω・`)
83 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/03(土) 21:13:55.73 ID:DW8NsEKWo
ちょっと色々と間違ってる…
あまり急がずに教本届くのを待った方がいいかも
84 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 22:27:18.16 ID:DkYZ/Uwso
色々・・・だと?

そうですかぁ(´・ω・`)
しかしこのパズルを解く感覚が何とも言えないわけですよwwwwww
アドバイスに従い、ゆっくり考えますね
85 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/03(土) 23:01:07.28 ID:DW8NsEKWo
とりあえず>>82のif文はelse ifにしないと0~2のどの数値がきても0になります。
もうちょっと工夫するともっと短くかけますよ

あと今やろうとしていることの正解はこれです
http://wise9.github.com/enchant.js/doc/ja/symbols/enchant.Sprite.html#frame
frameに配列を投げてあげればフレームごとにアニメーションします
こういうのは結局知らなければ使えない訳です。
教本を読んで十分に知識を付けてから制作にとりかかるのがいいと思います
86 :VIPにかわりましてGEPPERがお送りします :2012/03/03(土) 23:16:08.66 ID:DkYZ/Uwso
>>85
やはり教本は必要ですよね・・・
ありがとうございます
ソースコードから読み取るのは限界があるか・・・
87 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/04(日) 01:56:59.30 ID:REmgsOV8o
いままで見てて放置してたけどJavascriptっぽくなったからアドバイス
・今ゲームのfpsは24なのでうまく動いたとしても一秒間に24回画像が切り替わります。
・ループする数字を作るときは"%"(剰余演算子)をうまく使うといいです。
今回の例だとbear.frame = (bear.frame+ 1)%3; こんな感じですね
bear.frameが0の時(0+1)を3で割ったあまり => 1
bear.frameが1の時(1+1)を3で割ったあまり => 2
bear.frameが2の時(2+1)を3で割ったあまり => 0
と0,1,2,0,1,2となります。
//そのほか有名なのに1と0交互にするときは i = 1 - i というのもあります

応用で
・幅を指定して右端まで行ったら左端に戻る
・幅を指定して右に行ったり左に行ったりする
とかやってみたらいいんじゃないでしょうか
88 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/04(日) 02:06:09.95 ID:REmgsOV8o
>>82
//最初 bear.frameは0です

bear.x += 1;
//いまは関係ない

if (bear.frame == 0)
{
 bear.frame += 1;
}
//0なので実行されてbear.frame=1

if (bear.frame == 1)
{
 bear.frame += 1;
}
//1なので実行されてbear.frame=2

if (bear.frame == 2)
{
 bear.frame -= 2;
}
//2なので実行されてbear.frame=0

となりbear.frameは永遠に0のままです

あと
number += 1;

number++;
とかけます(number--もあります)
89 :VIPにかわりましてGEPPERがお送りします(チベット自治区) [sage]:2012/03/04(日) 04:11:37.16 ID:gUI9KhLto
>ID:DW8NsEKWo
別に教本届くまで自分なりに持ってる知識だけで試行錯誤したっていいんじゃね?
ファンプログラミングの醍醐味って自分でやり方を考えるところにあるんだし、
ただ正解を調べて実装するだけじゃ効率はいいかもしんないけどつまんないよ
配列使わなくっても例えば0,1,2の繰り返しならこんな形でも良いワケでそ?

bear.x += 1; //クマを1ドットずらして
bear.frame += 1; //とりあえずフレームも毎回増やす
if (bear.frame == 3) //もし増やし過ぎてフレームが3になっちゃったら
{
 bear.frame = 0;、//そん時はフレームを0に戻す
}

これなら>>1が今持ってる知識だけでも書けるっしょ
90 :VIPにかわりましてGEPPERがお送りします(愛知県) [sage]:2012/03/04(日) 04:22:17.66 ID:bZkZfJjTo

一応絵描けるけど役に立ちたいなぁ 下手だけど

よければ1枚絵うpしていいかな
91 :VIPにかわりましてGEPPERがお送りします :2012/03/04(日) 14:07:00.36 ID:tjuShmono
>>87-88
おぉ!有り難う御座います!
アドバイスを参考に色々実践して理解するまで試してみようと思います!

>>90
描いていただけるなら、むしろお願いしたいくらいですよ
VOCALOIDを題材にと言いましたが、これは今の所の最終目標ですので
描くのはVOCALOIDじゃなくとも全く構いません
練習コーディングの素材に使ったりも出来ますからね
素材は沢山あって悪いものでは無いとおいらは思います
92 :VIPにかわりましてGEPPERがお送りします :2012/03/04(日) 14:22:29.06 ID:tjuShmono
今日は皆さん休日でしょうが、実はおいらは仕事です

少し変わったローテーションでして、2勤務2待機1休日なんです
待機は仕事があったら呼び出され、無ければ自宅待機な日ですね
待機日はいつ呼び出されるか解らないので遊びには行けません

今日は勤務日ですね
まぁこんな変わったローテーションなので仕事が無い待機日にはプログラミングして暇を潰そうと思い立ったわけです
プロバイダ規制されるまでは2ちゃんねるで真っ昼間から下らないこと書き込んでたんですけどね
93 :VIPにかわりましてGEPPERがお送りします :2012/03/04(日) 14:36:53.97 ID:tjuShmono
Javascriptってこう言う仕事の合間でもスマホとか使えばコーディング出来て便利ですよね
コンパイルが必要無い(実際は必要だが自動的に行われる為に正確には開発者がコンパイルを意識する必要がほぼ無い)わけですからスマホでもコーディング出来てしまいます

更にenchant.jsライブラリではスマホでも動作する様に機能を潔く削り絞っているらしいです
良い暇つぶしを見つけたなぁと思います
94 :VIPにかわりましてGEPPERがお送りします :2012/03/04(日) 14:58:36.86 ID:tjuShmono
うおぉぉ!走ったお!ヽ( ゚д゚ )ノ
高速で切り替わって不自然だけど走りました!
これを改変して往復とかさせる練習問題ですね!
頑張りますよ!
95 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 09:01:52.60 ID:89l8vbuXo
bear.x += 4;
bear.frame += 1;
if (bear.frame ==3)
{
bear.frame = 1;
}
if (bear.x ==320)
{
bear.x = 0;
}

繰り返し成功です

ここから今度はY座標方向へ下ろうと考えてますが上手く行きませんね
おそらくはbear.x += 1と衝突してるんじゃないかなと推測しています
96 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 09:42:10.70 ID:89l8vbuXo
VOCALOIDゲームの為に最低限おいらが学ばなければいけない処理系が徐々に見えてきました
WebGLは使えれば便利でしょうがまだまだ遠い到達点ですね
基本的な画像の処理やタッチイベント処理をまず覚えなくてはなりません

目標到達点を明確にする為に外部仕様書を書きました
Javascriptを理解する毎に変わっていくでしょうが
暇潰しとは言え10代の若い子に負けたくないと言う想いから考えた
ゲーム構想ですから外部仕様書によってコーディングの難易度が
見えてきた感じです

そして早く届けよ教本!!!!!
97 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 11:36:25.55 ID:89l8vbuXo
手詰まりなのでどうでも良い話を

世の中には色々なテキストエディタがありますね
Windowsだと日本語環境で絶大な支持を集める「秀丸エディタ」
フリーであれば「サクラエディタ」、「TeraPad」辺りが有名なテキストエディタに
なるんじゃないでしょうか(メモ帳は抜きにして)

しかしある特定の分野では絶大な支持を誇るテキストエディタと言うのもあるんです
例えば2ちゃんねるならば「チラシの裏」とか有名ですね →ttp://yuukiremix.s33.xrea.com/chirashi/

おいらが使う「GVim」もその一つで、「Vi」と言うテキストエディタから派生したものなんです
ビル・ジョイという方が開発したテキストエディタなんですが、それのMODバージョンを「Vim」と言います
「Vi」「Vim」はそもそもCUI(ターミナル/コマンドプロンプト)で動くテキストエディタでした
それをGUI(マウスとか)で動かせる様にしたのが「GVim」です

Vi系のテキストエディタはUNIX文化圏で多用されるエディタでキーボードメインでパソコンを
操作するユーザーから支持されるテキストエディタになってます
ショートカットが多彩でホームポジションから手を動かさなくてもスクロール移動や検索置換、
文頭末への移動、行単位での削除、挙げればキリがないほど色々出来ます

その特性からプログラマに人気が高く、おいらのようにマークアップ言語を使うユーザーにも
一定の人口を持っています、中にはこれで小説を書いてしまう人も居るそうな

同様の機能を持ち、更に高機能で、今もなおバージョンアップを重ねるテキストエディタに
「Emacs」と言うのもあります、こちらもUNIX文化圏で人気です
オリジナル版もViと同様にCUIで動くものであり、GUIで動く派生版に「XEmacs」と「GNU Emacs」が
あります

おいらが何故より高機能な「Emacs」を使わないかといえば高機能過ぎるからですね
双方ともプログラマに好まれますが、「Vi」はテキストを扱うことへ主眼を置いています
「Emacs」はWebブラウザにもなりますし、ToDo管理も出来ます、IRCチャットで話すことや
テトリスなどのゲームだってプレイ可能です、2chブラウザにもなります
正直ここまで要らないおwwwwww
「Emacs」はFirefoxで全てを済ませるなんてユーザーと親和性が高いんですね

おいらは「GVim」で十分です
ちなみに「Vim」も「Emacs」もWindowsやMac、Androidへ移植されてるので使ってみてはいかがでしょうか?
おそらく「使いずれぇぇぇぇぇぇ!!!!!!!」と最初は発狂すると思いますwwwwww
馴れれば他のテキストエディタに満足行かなくなりますよ
98 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 11:51:23.35 ID:89l8vbuXo
GVimってこんなテキストエディタ

もちろん強調して色を変えてくれる
ttp://www.dotup.org/uploda/www.dotup.org2713848.png

縦横分割してコードが長くなっても安心
ttp://www.dotup.org/uploda/www.dotup.org2713854.png
99 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 12:07:11.18 ID:89l8vbuXo
あっ手詰まりが解消するかも知れないぞ!
試してみよう
100 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 12:35:30.71 ID:89l8vbuXo
むむむ・・・?

if (bear.x ==0){bear.x += 1;}

こうじゃないのか?
1ドットしか動かない・・・orz
101 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 13:07:54.15 ID:89l8vbuXo
くそぅ・・・流石は練習問題です・・・
手詰まり・・・

もしも座標が0ならば1ドットずつ追加して、もし座標320なら1ドットずつ減らす
この様に考えたわけですが違うんですね・・・
102 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/05(月) 13:32:45.17 ID:3xKOKur0o
それではヒントを
1つめの方法は新しく変数を作成してそれを見てifで分岐して移動する方向を変える方法
2つめの方法は移動する量を変数にして、指定幅になったら移動する量を反対にする方法


//答え
1つめの答え http://jsdo.it/aki017/d2EQ
2つめの答え http://jsdo.it/aki017/o5uj


>>101
>もしも座標が0ならば1ドットずつ追加して、もし座標320なら1ドットずつ減らす
>この様に考えたわけですが違うんですね・・・
この文章を見ても0の時は1ドット右に行くけれど1の時動かないですよね。。。

103 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 13:43:27.67 ID:89l8vbuXo
>>102
>この文章を見ても0の時は1ドット右に行くけれど1の時動かないですよね
( ゚д゚)ハッ!
くそぅ・・・機械言語は相変わらず融通効かないですorz

答えは見ませんよ!ヒントだけで解いてやる!!!
104 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/05(月) 14:25:03.23 ID:3xKOKur0o
こう考えたらいいですよ

はじめは右に進む
右端に着いたら左に進む
左端に着いたら右に進む
105 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 15:23:39.22 ID:89l8vbuXo
出来ましたヽ(´ー`)ノ

if (bear.x ==0){bear_move =320;}
if (bear_move >bear.x){bear.x += 1;}
if (bear.x ==320){bear_move = 0;}
if (bear_move ==0){bear.x -= 1;}

もっと短い最適化があるような気もしますが取り敢えずコレで
106 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 15:51:19.29 ID:89l8vbuXo
>>102
2つ目が理解できません・・・

dxへは1が代入されてます
bear.xへdxの加算を続けます
bear.xが320へ到達した時にdxへ-dxを代入します(つまり-1が代入?)
bear.x(320)へ-1を加算し続けます(つまり1を引き続ける)
bear.xが0へ到達した時に・・・dxへ-dxを代入???

分かりません・・・ソースコードが読めない・・・orz
107 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/05(月) 15:54:58.19 ID:3xKOKur0o
dxっていうのは移動量です
dxが1の時1フレーム毎にx+1するってことです
320になったとき移動量が-1になると言うことは後ろ向きに移動するということで
0に戻ったらまた+1にもどるので右に動き始めるわけです
この書き方だと加速する動作とかが書きやすいですまた後でサンプル出しますね
108 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 16:05:43.93 ID:89l8vbuXo
dxが移動量なのは理解していました

よく解らないのはbear.x≦0となった時、なぜ-dxを代入して数値が増えるのか?なんです
bear.xが320の時点で移動量をマイナスへ転じれば戻るのは理解できます
109 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 16:12:57.77 ID:89l8vbuXo
ん・・・相対方向?
進んでた方向を正ベクトルとして-dxは負ベクトルを加算しているのでしょうか?

自分の式の場合、絶対方向で処理され加算は必ず正ベクトル、原産は必ず負ベクトル
しかしID:3xKOKur0oさんの式では現在進んでいる方向が正ベクトルとして処理され、
そこへ負ベクトルが与えられるから正負が逆転する・・・と言うことでしょうか?
110 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 16:39:37.82 ID:89l8vbuXo
この式の場合、そういうもんなんだって理解じゃ後々後悔しそうです
どういう流れで計算処理が行われているか理解しないと・・・

dxには1が代入されている
bear.xに+1が代入されたdxを加算し続ける
bear.xは右方向へ移動する

bear.xが320へ到達した時にdxへ-dx(つまり-1)を代入する
bear.xへ-dxを加算し続ける
bear.xは左へ移動する

bear.xが0へ到達した時に-dxへ-dxを代入する・・・?
本来ならここで-dxを代入したら左へフレームアウトするはず

しかし今回の場合は左へフレームアウトせず右へ移動を始めた
何故?-dxに-1が代入されているのなら左へフレームアウトするはず

考えられるのは相対方向、もしくは負数の掛け算
dxへ-1を掛け算して-dx(つまり-1)とする
-dxとなったものへ更に-1を掛けて+1とした

つまり(-1)*1、そして(-1)*-1
-dxは-(dx)と考えれば良い?
111 :VIPにかわりましてGEPPERがお送りします [sage]:2012/03/05(月) 17:17:34.78 ID:hphDXsNHo
おk
-dxは(-1)*dxのコトだと考えればいい
若しくは 0-dx と考えてもいいかも
どっちの計算でもdxの中身が1の時は-1が代入されるし、
中身が-1なら1が代入される
112 :VIPにかわりましてGEPPERがお送りします(大阪府) [sage]:2012/03/05(月) 18:33:37.76 ID:3xKOKur0o
-(-dx) = dx
ベクトルで言うとdxはベクトルのx成分ってことになるね。
そんでもって-dxは逆ベクトルのx成分ってことになります

>>111の言うとおりで-dxって言われてぴんとこないなら(0-dx)でと思ったらいいと思う。
113 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 19:04:08.80 ID:89l8vbuXo
なるほどです

加速度計算が何故し易いかも何となく理解出来ます
この方式は相対方向の計算が楽なんですね
おそらくは三点を通過する曲線の描写も簡単に記述できるんでは無いかと予測してます
そして曲線中間点に変数や乱数を利用しても楽に記述できると思います
114 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 19:28:34.18 ID:89l8vbuXo
( ゚д゚)ハッ!
熊さんじゃY方向のイメージが無い!
115 :VIPにかわりましてGEPPERがお送りします :2012/03/05(月) 20:10:27.45 ID:89l8vbuXo
取り敢えずここまでの成果をうp
ttp://jsrun.it/Tanzo/mKlT
116 :VIPにかわりましてGEPPERがお送りします(東京都) [sage]:2012/03/05(月) 21:11:18.09 ID:gNzrkWtyo
おお、素晴らしいw
117 :VIPにかわりましてGEPPERがお送りします(愛知県) [sage]:2012/03/06(火) 03:52:16.99 ID:vud5/hmvo
>>90だけど
ドット打てないしフォトショも使えなくていいなら描きたいな
画力は最近描いたのでいいならhttp://beebee2see.appspot.com/i/azuY_Jz3BQw.jpg
タイトルとかアイコンとかかな

118 :VIPにかわりましてGEPPERがお送りします :2012/03/06(火) 08:37:49.80 ID:bgg5Jb7no
おはようございます
今日も社畜は仕事ですよ( ゚Д゚)y─┛~~

アレですかね?jsdo.itで使ってる“鍛造”と名乗った方が良いですかね?
まぁここは自分のスレなので別にコテ無くても問題ないでしょうが

>>117
おはようございます

失礼な言い回しかも知れませんが、ここまでレイヤーを使いこなしていればオイラ的には十分合格点ですヽ(゚∀゚)ノ
オイラがメインに使ってるグラフィックスソフトはGIMPですから何も問題ありませんよ
ベクターだとInkscape、3DCGだとBlender、フリーソフトの定番ばかり使ってます
絵も描けないくせに近々ペンタブ(Bamboo)を買おうかな?とは考えてますね
あれば便利なので

確かにタイトル画像とかどうしようかな?とは考えてました
個人的に考えていたのはタイトルやインターフェースはSVG画像を使おうと思ってました
もしくはCANVASで描画しようかなと

しかし、先日SVGを試したら表示出来ないんですよねぇ・・・
使ったのはInkscape生成の最適SVG
もしかしたら他のSVG形式ならば表示出来るかも知れないので要実験ですね
119 :VIPにかわりましてGEPPERがお送りします(愛知県) [sage]:2012/03/06(火) 08:44:58.52 ID:vud5/hmvo
なるほどw
JPEG形式で画像を送ってそちらで形式変換って感じでいいかな?

進み次第どうゆう絵を描けばいいか教えてもらえれば適当に描きますw

ペンタブはバンブーおすすめですよw
絵がかけないならそれで十分ですw

120 :VIPにかわりましてGEPPERがお送りします :2012/03/06(火) 09:06:09.79 ID:bgg5Jb7no
>>119
もちろんそう思ってのBambooですよw
確かにIntiosとかCintiqは所有感が満たされるでしょうが使いこなせないですからねw

買おうと思ってるBambooはミディアムサイズのですね
こう言ったデバイスは大きい方が便利なので

はい、出来ればPNGで欲しいです
JPEGは劣化してしまうので
そしてキャンバスサイズは可能であるならば解像度2000px以上を目指していただけると嬉しいです
無理ならば作業に支障を来さない範囲での大解像度を目指して戴きたいです

SVGやCANVASを使おうと思った理由はマルチプラットフォームだからですね
小さい画面であるならNintendo3DS、大きければ液晶テレビになるわけですから
解像度やディスプレイサイズが極端に環境によって違います
まぁSVGやHTML5+CSS3の対応状況も調べなくてはならないですがね

解像度2000px以上を目指す理由は、スーパーハイビジョン対策です
次世代ディスプレイの解像度は2K4K、つまり2000x4000以上なんですね
技術進歩を可能な限り吸収したいと言うのがオイラの意志なんです
どうせ暇つぶしですから目標は高く持ちたいと思います
121 :VIPにかわりましてGEPPERがお送りします :2012/03/06(火) 10:09:18.88 ID:bgg5Jb7no
まだ歩かせる事しか出来ない(むしろ参考書籍すら手元にないw)ビギナーがぶち上げるのもアレだと思うんですけどね
マルチプラットフォームとぶち上げたんですから、そこだけは守ろうと思うわけですよ(´・ω・)

そしてオイラの掲げる目標は4つです
・若い子に負けないと言うか圧勝(笑)するゲームデザイン
・マルチプラットフォーム
・WebGL
・Holophonics

どれも技術的に大変でしょうが一気に全部やるんじゃなくて一つ一つやって行きますよ
122 :VIPにかわりましてGEPPERがお送りします :2012/03/07(水) 04:36:19.46 ID:Ts1+y60yo
おはようございます

えぇ仕事の状況によってはこんな時間に起きてますよ・・・(´・ω・`)
今日が早起きでしたからすぐに寝て昨日はプログラミングの勉強をあまり出来ませんでした
123 :VIPにかわりましてGEPPERがお送りします :2012/03/07(水) 06:44:29.09 ID:Ts1+y60yo
TSUTAYAオンラインで頼み今日で11日目なわけです
3〜14日ほど掛かると言う事ですから、多くとも後3日ほどでやっとゼロからはじまめる〜が手元に来るわけですよ
Amazonに馴れすぎてしまった身ではTSUTAYAオンラインが凄く遅く感じます
まだkonozamaを食らった事が無いのでAmazonは大好きです
124 :VIPにかわりましてGEPPERがお送りします :2012/03/07(水) 15:42:13.84 ID:12ZDa6j4o
敢えてツッコム事も無いし細かいことなんですがenchant.jsのオフィシャルリファレンスに記述ミスを見付けちゃいました

window.onload = function () {
enchant();
var game = new Game(320, 320);
game.preload('jump.wav');
game.onload = function() {
game.assets['jump.wav'].play(): ←セミコロンじゃなくてコロンww
};
game.start();
};

年齢的にもこんな事でギャーギャー騒ぐ年齢では無いので
おじさんの代わりに誰か10代の若者よ、出来れば学生が報告してあげて
もしかしたら「ゼロからはじめる〜」くらいは貰えるかも知れませんよ?ww
125 :VIPにかわりましてGEPPERがお送りします :2012/03/07(水) 17:34:32.68 ID:iBLNrhWDo
Holophonics。
ホロフォニクスです。

これは立体音響の技術です。
YouTubeやニコニコ動画に関連の動画がうpられてますね
自分はこれをゲームに使って臨場感を出そうかなと考えています

正確に言えばホロフォニクスは秘匿された技術なので同系統のバイノーラル録音技術を使います
キャラクターのレンダリング座標に合わせて立体音響を駆使するわけですね
ちなみにヘッドフォンやイヤホンを利用しないと効果は得られません

まぁ何故こんなものを使うかといえば・・・何となくですww
敢えて理由を挙げるとするならば結構PC&スマホユーザーってヘッドフォンやイヤホン人口が多いんじゃね?と考えたからですね
その人口が多いのならばじゃあそれに合わせたソースも用意してみようと思ったんです
だってマルチプラットフォームですからねゲームをやるプラットフォームはスピーカーだけでは無いはずです

んでプログラムの進行ですが・・・往復できたから今度は一周をやろうとしてるんですね
手詰まりですよ(´・ω・`)えぇ
この後ジグザグとか斜め歩行とかしようと考えて得るのにね
126 :VIPにかわりましてGEPPERがお送りします :2012/03/07(水) 21:26:36.97 ID:iBLNrhWDo
if (girl.x <=288){girl.x += girl_X;}
if (girl.x >=288){girl.y += girl_Y;girl_X = 0;}
if (girl.y >=288){girl_Y = 0;girl_X = -2;}

ここまでは行けました
後は登るだけなんですけどねぇ・・・
127 :VIPにかわりましてGEPPERがお送りします :2012/03/08(木) 06:56:38.87 ID:oTc7KK6do
おはようございます

そろそろどんなゲームを作るか数日の内に公開したいと思います

当初は私の腕がある程度の段階、つまり構想したゲームを動かせる(最適化は抜きで)段階まで技能向上を果たしたら内容を公開するつもりでした
しかし皆さんに助けられている現状を加味しますと、特にコーディングを中心としてゲーム内容が解っていればアドバイスもし易くなるのではと思い直しました

おそらくは私のゲームデザインを公開すると、私より腕の立つ先行したプログラマの中にコンセプトを模倣する輩も出てくるかもしれないと言う予測が立ちます

かもしれない、ですから私の様な初心者のデザインなんてどうでも良いと判断される可能性だってありますよモチロン

しかしながら、皆さんと言う証人が居て下さるので、絶対的少数かも知れませんが私はその少数を大切にし感謝し、私が生み出したモノに自信を持ちたいと思います

取りあえずゲームタイトルだけ公開しておきますパクられてもどうでも良いのでw
ゲームタイトルは「VALD Concept」

全てがまとまったら外部仕様書を公開します(゚д゚)/
128 :VIPにかわりましてGEPPERがお送りします :2012/03/08(木) 12:17:03.67 ID:oTc7KK6do
いつもTSUTAYAオンラインショッピングをご利 用頂きありがとうございます。

誠に申し訳ございませんが、下記ご注文の商品 をご用意することができませんでした。 ご注文商品はキャンセルとさせて頂きます。 ご迷惑をおかけ致しましたこと、心より深くお 詫び申し上げます。

【該当商品】 ■注文日 2012年2月24日 ■注文番号 ******** ■商品名 ゼロからはじめる enchant.js入門 公式ガ イド/数量:1

えっ今更?( ゚д゚)ポカーン
何故、在庫無いのに注文受けた・・・
129 :VIPにかわりましてGEPPERがお送りします :2012/03/08(木) 12:27:22.75 ID:oTc7KK6do
参りましたね・・・
完全独学で頑張るしか無いのでしょうか?
ん〜・・・(´Д`;)
130 :VIPにかわりましてGEPPERがお送りします :2012/03/08(木) 12:31:03.30 ID:oTc7KK6do
まぁそもそも初心者用リファレンスブックですから高度な応用までは解説していないと思ってます
もうここまで来たら本当に完全独学で頑張ってみましょうかね
取りあえずJavascriptの初心者用リファレンスブックを探しますか
enchant.jsライブラリをどう扱えば良いかは解りませんけれども
131 :VIPにかわりましてGEPPERがお送りします :2012/03/09(金) 16:45:48.76 ID:itwvNj8No
外部仕様書を公開します
ダウンロードPASSは0000です
ttp://www.dotup.org/uploda/www.dotup.org2727246.pdf.html

至らぬ点はご指摘下さい
よろしくお願いします
132 :VIPにかわりましてGEPPERがお送りします :2012/03/10(土) 10:46:35.51 ID:Ngg645Slo
外部仕様書を公開したことにより自分がやらねばならない格闘パートコーディングを大まかに羅列してみます

・キャラクターの表示
 初期位置の設定
 タッチした座標の習得
 フリック入力の角度加速度を取得
・自キャラと敵キャラの相対距離取得
 近接距離の場合は打撃を放てるようにする
・アクションボタンの動作
 タッチした座標の取得
 近接距離でAボタンタッチ後、敵キャラタッチで打撃
 Sボタンタッチ後、オーラエフェクトを表示
 エフェクトを表示している間にフリック入力で飛び道具
 Dボタンをタッチしている間は防御
・当たり判定
 攻撃手法の違いによるダメージ表現差分化
 攻撃手法、防御体制を加味した体力ゲージの減算

これらのコーディングは基本的な格闘ゲームとそう大して変わらず
変更点はタッチイベントだけであることが判ります
もしかしたらオープンソースで開発されている格ゲーのソースが参考になるかも知れません
133 :VIPにかわりましてGEPPERがお送りします :2012/03/10(土) 10:56:53.99 ID:Ngg645Slo
外部仕様書には記述しませんでしたが、この入力方式で大きく影響を受けたのが”大乱闘スマッシュブラザーズ”です
スマブラは既存の複雑化した格ゲーの入力方式を簡略化しながらもゲーム性を損なうこと無く出来ています
攻撃に関するキーが少なくともスマブラではジョイスティックと組み合わせる事で多彩な技を放てます

それらの入力方式を参考にタッチイベントへ応用し、攻撃ボタンを押した後のフリックで技を変更することが可能だと思っています
例えば攻撃ボタンをタッチした後に下斜め方向へフリックすることでスライディング攻撃などです
更に自キャラが空中に居れば下降型の対地攻撃なども可能だと踏んでいます
134 :VIPにかわりましてGEPPERがお送りします :2012/03/10(土) 12:38:07.65 ID:Ngg645Slo
VALD Conceptの根底として外部仕様書にも記しましたが”ドラゴンボールの戦闘を再現する”と言うものがあります
有名タイトルに”超武闘伝”などがありますが、当時のハードウェアから考えてもアニメーションを多用したあの方法が
世界観を表現する限界だったのではないかと私は思ってます

それ以前(ファミコン)のドラゴンボールタイトルはベルトロールアクションゲームかカードゲームだったので
SFCでアニメーションが多用できるようになったのはハードウェアの進化に他ならないと想います

現在、アーケードゲームにカードバトルのドラゴンボールタイトルがありますが回帰なんですね
まぁ子供向けと言う事もあり解りやすい第1世代が選ばれたと言う事もあるでしょうが

ドラゴンボールタイトルはプレイヤーの年齢に合わせて複雑化していったと言う流れがあります
最も複雑化したのが”ドラゴンボールZ インフィニットワールド(プレイステーション2)”ですね
おそらくこれがハードウェアの、従来型コントローラ入力方式の限界なんだと思います
制作スタッフも頭を悩ませたことでしょう
実際、グラフィックスの美しさや入力の完成度は高いものとなってます

しかし、この限界を突破するにはハードウェアを変えるしか無いわけです
ハードウェアさえ変われば私のような素人でも今までの限界を軽く突破する発想を持てます
135 :VIPにかわりましてGEPPERがお送りします :2012/03/10(土) 15:09:45.43 ID:eZ6EkGklo
実は個人的に格ゲーであるならばSNKの様なコンボが主体戦法となるよりも、
コンボがおまけ的な感じのあるストリートファイターの方が好きです
カプコンvsSNK2が一番好きな格ゲーですね

ただやはりドラゴンボールの様な戦闘と言う事であればSNKの様な
戦法を取るゲームの方が爽快感的に良いと思います
136 :VIPにかわりましてGEPPERがお送りします :2012/03/10(土) 15:29:49.07 ID:eZ6EkGklo
今週のアスキーにゼロからはじめるenchant.js好評発売中との広告が・・・
だったら買わせてくれよ・・・別にタダでくれなんて言ってない・・・
enchant.jsの勉強をまともにさせてくれよ。・゚・(ノД`)・゚・。
99.43 KB Speed:0   VIP Service 製作速報VIP(クリエイター) 更新 専用ブラウザ 検索 全部 前100 次100 最新50 続きを読む
名前: E-mail(省略可)

256ビットSSL暗号化送信っぽいです 最大4096バイト 最大50行
画像アップロードに対応中!(http://fsmから始まるひらめアップローダからの画像URLがサムネイルで表示されるようになります)


スポンサードリンク


Check このエントリーをはてなブックマークに追加 Tweet

荒巻@中の人 ★ VIP(Powered By VIP Service) read.cgi ver 2013/10/12 prev 2011/01/08 (Base By http://www.toshinari.net/ @Thanks!)
respop.js ver 01.0.4.0 2010/02/10 (by fla@Thanks!)