むしろjavascriptでゲーム作ろうぜat GAMEDEV
むしろjavascriptでゲーム作ろうぜ - 暇つぶし2ch521:名前は開発中のものです。
11/04/08 02:26:05.41 WIIzU3V7
>>520
普通のロダにあげてたから時間で消えちゃったぜ!
ここはアットウィキだからずっと消えないぜ
URLリンク(www42.atwiki.jp)
あと>>519は炎狐で開いたら糞重いから注意だぜ

522:名前は開発中のものです。
11/04/08 14:46:09.36 Bv4dRueV
>>521
サンクスです!
これで固すぎる上に回復とかするボスもじっくり倒せます。

523:名前は開発中のものです。
11/04/22 23:58:19.93 6ILDkOCv
なんのひねりもないけど、マインスイーパー作ってみた。
URLリンク(www006.upp.so-net.ne.jp)

524:名前は開発中のものです。
11/04/23 22:37:05.61 xnnsgu7J
時間の表示はクリック時じゃなくて毎秒行われたほうがいいと思う

525:名前は開発中のものです。
11/04/24 08:41:36.50 1XNPlFNA
>524
了解、そのように変更した。

526:名前は開発中のものです。
11/04/29 06:15:17.19 dU9DlAwD
ワンクリ目で死んだ
あと残り1マスで爆弾踏んでもコングラッチュレイション出た


527:名前は開発中のものです。
11/04/29 23:58:36.38 lr9m15JA
>526
一般的な仕様ではワンクリック目では死なないようになってたんだな。
そこらへん何も考えてなかったのでワンクリック目で死ぬ事もあるという仕様だったんだけど、
残り1マスでのバグと併せてなおしときました。

528:名前は開発中のものです。
11/05/07 22:45:17.07 ZeI8HelH
canvas使ったシューティングゲームで一通り機能の実装が出来たから公開してみる。
(音については未実装)
ie9, Chrome11, Opera11, Firefox4, Safari5で動作確認済み。
URLリンク(www006.upp.so-net.ne.jp)
マウスで移動、左ボタンでショット、ホイール押したらBomb

529:名前は開発中のものです。
11/05/07 23:37:59.83 GMoXYp2d
>>528
ぐはwwwすげwwww
キャラはputImageData?
透過処理どうやってんの?

530:名前は開発中のものです。
11/05/08 18:14:06.87 LGydndW3
>>529
透過処理ってのが半透明にする奴の事いってるんだったら、
globalAlpha変更しながらdrawImageで表示させてるよ。

Canvasのリファレンス見ると、putImageDataだと
globalAlphaの値は無視されるっぽいな。

531:名前は開発中のものです。
11/05/15 14:18:29.56 3MYXhNZN
JavaScriptでアバターチャット作ってます。
遊びに来てください。canvas使ってないのでIE8でも動きます。

URLリンク(tommie.dip.jp)

>>528
すごいなw
canvas使ったほうがいいな(あたりまえかw

532:名前は開発中のものです。
11/05/21 07:28:08.68 eHt3qCA/
>>531
サーバー側はNode.js使ってるの?

533:名前は開発中のものです。
11/05/29 00:52:57.09 rzZ+mBoq
>>531
すごい。
なんか面白いものができそうだな。
自分が動くと他のキャラも動く??みたいな挙動が
微妙だけど。ちょっと期待

534:名前は開発中のものです。
11/06/05 21:32:58.17 Gqv2Z6jK
3DSのブラウザがcanvasを採用するっぽい
あとドットバイドット表示モードをサイト側で指定できるとか
URLリンク(www.nintendo.co.jp)

canvasってまったく触ったこと無いけど予習しとこかな

535:名前は開発中のものです。
11/06/06 00:15:00.00 n1cYZtRP
ドットバイドット表示はターゲットデバイスの解像度が決めうちできる場合の
スマートフォンのブラウザでの指定のしかたと一緒だね。

ゲーム作るとしたらあとはJavascrptの処理速度がどのくらい出るかだろうね。

iPhone4だと>>528の奴が1桁fpsだったからなぁ。
まあアクションじゃなければ余裕なんだろうけど。


536:名前は開発中のものです。
11/06/06 00:34:33.48 kmTJ9VnE
>スマートフォンのブラウザでの指定のしかたと一緒だね
スマフォも使ったことなくて知らんかった、thanks

>iPhone4だと>>528の奴が1桁fpsだったからなぁ。
それはちょっとショックだ
作りたいのはアクションだけど、1画面中のオブジェクトが20個ぐらいなら
何とかなるんじゃないかと希望的観測を持ってる
キーイベントが拾えない仕様だったら即アウト

537:名前は開発中のものです。
11/06/06 00:45:07.72 n1cYZtRP
確かにキーイベントが拾えるなら楽しそうだな。
要はコントローラが使えるのと同じだからなー

538:名前は開発中のものです。
11/06/07 14:03:24.29 6V7ydWpi
やっと3DSの更新が来た
会社休み取って待ってたからやきもきしたぜ

539:名前は開発中のものです。
11/06/07 14:18:52.40 6V7ydWpi
以前Wii用に作成したテストページを表示してみた
表示は快適だけどアニメーション表示はかなり重いかな
今のところマウスイベントはクリック以外受け取れてないが、
少なくとも十字キー4方向とAボタンは認識できることを確認した
ちょっとワクワクしてきたよ俺

540:名前は開発中のものです。
11/06/17 12:25:49.67 4WcXMHTb
WegGL終了のお知らせ

URLリンク(internet.watch.impress.co.jp)

これでJavaScriptで3Dゲーム、という「未来」はなくなったね・・・


541:名前は開発中のものです。
11/06/17 13:33:04.13 SJ3jCzAn
3Dよええ

542:名前は開発中のものです。
11/06/17 20:37:31.23 tOEkProI
Microsoft的にはSilverlightを使わせたいだろうからなぁ


543:名前は開発中のものです。
11/06/18 21:46:11.60 M5TYTSWy
>>540
なんか話が違うような?
URLリンク(mozilla.jp)

544:名前は開発中のものです。
11/06/19 09:21:18.59 b7GEQ7YV
>>543
うん、それは別の話だよね
それくらい俺でもわかるよ

545:名前は開発中のものです。
11/06/23 20:34:53.40 3FW2Aqtp
>>540
Khronos が対応中らしい

URLリンク(www.readwriteweb.com)

546:名前は開発中のものです。
11/06/24 00:11:11.56 Y2MpHcSB
>>535
>ゲーム作るとしたらあとはJavascrptの処理速度がどのくらい出るかだろうね。
>
>iPhone4だと>>528の奴が1桁fpsだったからなぁ。

URLリンク(arstechnica.com)

547:名前は開発中のものです。
11/06/25 01:03:11.67 9T+pBjcX
>>546
記事読んだけど、>>535の3DSのブラウザの実行速度気にしてるのと、
どう関係あるの?

まあMobile Safariの処理速度なんてPC用のSafariでも遅い方なんだから、
iOS5になっても大して変わらないと思う。


548:名前は開発中のものです。
11/06/25 16:09:56.36 +ZCCbIzU
>>547
その専ブラぶっこわれてるんじゃないの。ウェブブラウザで見てみ。

何が変わるかは記事に書いてある通りで、Nitroが採用されるから高速になる。
Safariが遅いって何の話?

549:名前は開発中のものです。
11/06/25 18:54:50.89 9T+pBjcX
今年3月の時点でブラウザで実行だと
すでにNitro有効だと書いてある。




550:名前は開発中のものです。
11/06/25 19:05:47.93 +ZCCbIzU
おお、ホントだ。これは失礼した。

551:名前は開発中のものです。
11/06/27 04:10:06.40 OvLdxlhh
携帯がwebGLに対応したら意図的に携帯ぶっこわすことも可能?

552:名前は開発中のものです。
11/06/27 07:12:30.96 M4WY/Qb8
ぶっ壊したり乗っ取ったりする話とは違うと思われ

553:名前は開発中のものです。
11/06/27 19:00:20.44 3IB78/Ff
え、同じ話でしょ?

554:名前は開発中のものです。
11/06/28 00:45:53.46 TwvvSNI0
URLリンク(rpgjs.com)

555:名前は開発中のものです。
11/06/29 00:02:20.08 pd1vPXPN
URLリンク(eblong.com)

556:名前は開発中のものです。
11/07/11 02:54:32.18 wCGH/PIE
>>279
こういうの作りたいんだけど、何から手をつけるのかすら分からない・・・

557:名前は開発中のものです。
11/07/12 20:47:26.76 WldN3Lkl
WebGLの入門サイトってないですか?

558:名前は開発中のものです。
11/07/12 21:31:20.91 luCdAi29
>>557
こことか

URLリンク(sites.google.com)

559:279
11/07/13 05:41:42.83 E4+fFfCJ
>>556
自分は、以下の順番で作りました。
 1.まずは、表示したい画面を静的にhtmlで作る。
 2.その画面を、javascriptで動的に生成する。
 3.シナリオデータから次々に生成されるようにする。
経験上、一番大変なのは、お話を用意する部分です。


560:名前は開発中のものです。
11/07/13 07:31:54.08 ekC9lf5i
>>559
ちなみにどれくらい時間かかりました?

> 一番大変なのは、お話を用意する部分です。

漠然と考えることはできても、文章に起こすとなると難しそうですね

561:名前は開発中のものです。
11/07/13 08:21:29.76 dNgdnB5z
>>560
559じゃないが自分が作った時も1~3と同じような順番でシステムだけ1日
後で気付いたときにその都度バグ修正や機能追加してる
シナリオはシステムを動かすサンプル用に短いのを数日で書いた
面白いお話を用意するとなると何日かかるか分かりません
自分にとってもお話が最大の難関です

562:279
11/07/13 21:06:24.22 E4+fFfCJ
>>560
完成までだと、1ヶ月くらいです。
モチベーションを維持するのが難しかったです。
幸い目指す完成形があったので、続けられました。

お話の用意が大変な場合は、下記の手法もいいかもしれません。
URLリンク(www17.plala.or.jp)
これは(↑)、お話は、Webで公開されているものです。
(許可はいただいています)
お話の作者さまに見せる楽しみがあるので、続けられるかもしれません。
あと、背景もキャラもフリーの物をお借りしてます。



563:名前は開発中のものです。
11/07/18 09:44:22.97 W5QhA2gW
ここは例えば実行処理部をJavaScriptで処理して、
ファイル処理などを他の言語でやったりする物の話題は
スレチでしょうか?

564:名前は開発中のものです。
11/07/18 11:06:16.60 a4CRLRQt
Javascriptでゲーム作ってるんだったら、
話題が無いよりはいいんじゃないかな?


565:名前は開発中のものです。
11/07/18 11:44:14.08 u6FdThrR
>>564
回答ありがとうございます。 では安心して書かせていただきます。
まだゲームの域に届いてないしろものですが、UPするとモチベが沸くかと
思い利用させていただきます。
URLリンク(cgi.members.interq.or.jp)
でJavaScriptで開発に勤しんでおりますです。
まだ何もできないですが、末永く見守ってくださいです。

566:名前は開発中のものです。
11/07/18 19:22:29.22 yw90udVV
がんばりやー


567:名前は開発中のものです。
11/07/19 07:18:34.08 PTVFWW0E
よくわからないけど他のスレでいじめられたので逃げてきました
ここ数日間WebGL周り調べてたけど大体こんな感じだった

クロスプラットフォームでネイティブコード吐けて
sm2.0までの3d対応
サウンド対応
opencl対応予定

まだ実際にやってないけど
アプリケーションキャッシュや
chromeless xulrunnerあたりでネイティブ化できるらしかった

上に書いてあるセキュリティの問題はアプリ化することで回避できると思う
canvasも使えるし悪くないのではないでしょうか
あっちのスレ怖い

568:名前は開発中のものです。
11/07/19 22:34:07.94 HdJ6pliY
どこのスレか知らないけど、
WebGLはブラウザ上で動くということに価値があると思う。
アプリ化するんだったら、OpenGL使ってネイティブで書けばいいんだから。

自分が良いと思うんだったら、それを使って何か作ってみればいい。
活用が広がればセキュリティ問題も解決されて発展していくだろうし。
(まあセキュリティ問題があるから活用されないという考え方もあるが)

569:名前は開発中のものです。
11/07/20 06:15:22.81 4J2EZRgl
javascriptでexe作れたらうれしいと思ったけど違うのか

570:名前は開発中のものです。
11/07/20 11:45:05.92 IcWP8311
CanvasもWebGLも、htaで使えれば最高なんだけどなぁ・・・


571:名前は開発中のものです。
11/07/20 19:59:44.05 hyxkvR6y
QML や XUL じゃダメなの?

572:名前は開発中のものです。
11/07/22 11:31:48.30 SegB11i1
WebGLなんかCでOpenGLを直接叩くのと変わらないんだから
ネイティブでいいんだったらC++で適当なゲームエンジン使ったほうが遥かに楽だ
ゲームではUI記述言語みたいなのもそんなに使いどころがない

573:名前は開発中のものです。
11/07/22 22:55:41.97 /0P44Hwi
それが JS の記述性の高さが半端無いんだわ

モジュールが無い(名前空間は作れるけど)とかイテレーションが簡単に書けないとかに関係無く、
クロージャの使いやすさが完全に他の言語を圧倒していて、何で 21 世紀にもなって C/C++ を
書かないといけないんだという気分にしてくれるんだわ

プログラマにとったら、エンジンとかフレームワークとかより、ライブラリが揃っていてなんぼな
訳だし、何で JS が注目されているかは、多少コーディングの経験があれば簡単に分かる話だと思われ

574:名前は開発中のものです。
11/07/22 23:38:29.74 CGi25JzD
書いてて楽しいのは確かだねぇ

575:名前は開発中のものです。
11/07/24 11:04:01.26 S0H8lUg1
自分で好き勝手に枠組み作りやすくで楽しいのはわかる
JavaScriptって役に立つライブラリそんなに多いか?
それこそエンジンやフレームワーク的なものを作りたがる人が多い印象
言語の特徴のせいかな

576:Perl忍者
11/07/31 19:39:53.71 /IYmCm8j
ゲームって本気で言ってるの?
javascriptでゲーム
なめてんだろ?おい、ごみだな
あれだろ?テトリスとかオセロとかごみゲームだろ?
わかってるんだよ
そもそも日本のゲーム開発者がゴミゲー出してて
本業がゲームじゃないLL使いのゴミみたいなお前らが
面白いゲーム作れるわけじゃない
面白さを求めてない?ふざけるな
ゲームなめてるだろゲームはおもしろくないといけないからな

577:Perl忍者
11/07/31 19:41:06.07 /IYmCm8j
せいぜい、ブロック崩しやノベルゲー、紙芝居系、ターン式RPGが限界だろ
おもしろい大人数対戦型のアクションゲームを作ったらほめてやるけどな

578:名前は開発中のものです。
11/08/06 23:47:45.89 2Q7KFtTS
なめてるかどうかはさておき、javascriptでゲームは現代的だと思うけどね

579:名前は開発中のものです。
11/08/07 02:56:31.27 z30IJjBe
>>576
べつに仕事でやってるわけじゃないし、そんなこと急に言われてもなぁ

580:名前は開発中のものです。
11/08/07 04:45:01.15 03ZeyO76
本格的なゲーム作るなら他の言語の方が向いてるってのは否定しない

javascriptの何が良いってプログラミング知識なんか無くても
それっぽい物が何となく作れてしまうところだと思うわ
(IE以外の)ブラウザで動くから色々なOSの人に遊んでもらえるし
iPhone含めたスマホのブラウザで動くものを簡単に作れるとか楽し過ぎる
趣味の小規模ゲーム作りには手軽でいいと思うよjavascript

581:名前は開発中のものです。
11/08/14 10:20:27.61 Ctp//zFb
js自体言語として気持ち悪すぎる


582:名前は開発中のものです。
11/08/14 10:42:38.32 vbG8XK2n
(キリッ

583:名前は開発中のものです。
11/08/14 11:17:17.65 Hvu39sbL
「作ろうぜ」ってスレなんだから、
「Javascriptではゲーム作れない」って話題をわざわざ持ってくるのはおかしい。

584:名前は開発中のものです。
11/08/15 13:54:53.71 bohVflxm
JavaScriptでゲーム作るとき、
メインループは、どう書いてる?

俺のは、こんな感じ。

var timer;
var interval = 1000/50;

window.onload = function()
{
clearTimeout(timer);
timer = setInterval(loop, interval);
draw();
};

585:名前は開発中のものです。
11/08/17 03:39:57.10 NP/VSZdL
俺はこうだな

var timer,theday;
var wtime=0;

window.onload = function(){
clearTimeout(timer);
for(;;){
theday=new Date();
if(theday.getTime()-wtime>17)break;
};
wtime=theday.getTime();
timerid=setTimeout("ruup()",15);
//処理
};

setTimeoutがいい加減だから短めにとって予定時間まで空ループ

586:名前は開発中のものです。
11/08/17 09:55:52.84 ZLcNjWKh
実行してないけど、今考えた。

URLリンク(ideone.com)

参考:
URLリンク(www.tnksoft.com)

587:名前は開発中のものです。
11/08/17 17:47:19.15 YQYx4WBX
メインループ>>528ではこんな感じの実装にしてる。

呼び出しはHTMLから<body onLoad="main()"></body>で

function main() {
  var fps = 60; //fps
  var oldtime = Date.now();
  var framenum = 0;
loop();
function loop() {
    //処理

    if (framenum > fps) framenum = 0;
    newtime = Date.now();
    if (framenum == 0) oldtime = Date.now();
    framenum++;
    targettime = Math.round(oldtime + framenum * (1000.0 / fps))
    waittime = (targettime - newtime <= 0) ? 1 : targettime - newtime ;

    setTimeout(main_routine, waittime);
  }
}
予定時間に合うようにsetTimeoutの間隔を調整しながらループさせてる。

588:名前は開発中のものです。
11/08/17 19:12:38.33 HH5glzfw
どれもセオリーから外れてるよ
パフォーマンスが最高なのは、最短時間でtimeout回して(これからはrequestAnimationFrameだけど)
前回からの経過時間でfpsを算出するvfr。
ビジーループなんて絶対にやってはいけない。

589:名前は開発中のものです。
11/08/17 21:28:52.95 317iFgtY
未だに空ループでウェイトをとる人間がいたとは驚きである

590:名前は開発中のものです。
11/08/17 21:41:02.89 YQYx4WBX
requestAnimationFrameってのがあるんだ。知らなかった。
試してみるよ。

591:584
11/08/19 15:12:41.72 rMERX9g9
つまり>>584は、こうなるわけだな。

window.onload = function(e)
{
function anima()
{
requestAnimationFrame(anime);
draw();
}
anima();
};

でも、これだとFPSを指定できないな・・・。
もう少し調べて改良してみよう。


592:名前は開発中のものです。
11/08/19 21:49:35.63 rMERX9g9
遅くなったけど、
これか!

window.requestAnimFrame = (function()
{
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(/* function */ callback, /* DOMElement */ element)
{
window.setTimeout(callback, 1000 / 60);
};
})();

593:名前は開発中のものです。
11/08/20 15:58:36.23 x55/0vDO
こんな感じかな?(ブラウザ別対応部分は端折ってる)

window.onload = function() {

var oldtime;
var newtime = Date.now();
main_routine();

function main_routine() {

    oldtime = newtime;
newtime = Date.now();

    update(newtime - oldtime); //前回からの経過時間に応じたゲーム進行処理
    draw(); //ゲーム描画処理

requestAnimationFrame(main_routine);
}
  function update(elapsedTime){}
  function draw(){}
}

594:名前は開発中のものです。
11/08/25 22:52:26.42 QKHlbpkj
グラディウス
URLリンク(html5-gradius.appspot.com)

595:名前は開発中のものです。
11/08/26 16:37:20.02 rUzy1Sx0
すっげ・・・
さすがに1面だけか

596:名前は開発中のものです。
11/08/26 17:13:07.12 ctJIj+c5
>>594
操作方法を教えてください。

CTRLを押下したらすげー滑らかに動くんだけどどういうこと?


597:名前は開発中のものです。
11/08/26 20:09:58.24 SUBaQPS8
(行番号:cynthia.js)
70: function handleKeydown (e) {
73: switch (e.keyCode) {
75: case 17: turboState = true; break;
で、ゲームループが
230: setTimeout(arguments.callee, t < 33 && !turboState ? 33 - t : 0);

こうなってるから、Ctrlキー押したらノーウェイトで動くんだろ。

それにしても完成度の高いプログラムは素人には色々勉強になるな。ありがたい。

598:Perl忍者
11/08/26 23:07:08.58 YC3MR/cb
お前らはほんとにゴミだな
所詮jsガキのかじり

ごみごみゴミゴミギオゴミゴミゴmゴイgモgミ

死ね

599:名前は開発中のものです。
11/08/27 04:36:55.08 MFAFR1Ny
俺がjavascript覚えたてのころ作ったのとえらい違いだ

URLリンク(www42.atwiki.jp)


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch