2012/4/21
結局画面まわりは、普通のHTML+jQuery UIを使う事に決定。
jQueryUI使う事で、結構きれいな画面になってきたような気がする。
2012/1/15
- 全体的な画面デザイン:jQuery Mobile + CSS
- 画面の動作的な部分 :HTML5 + jQuery
ってところかなあ?
2012/1/15
Paid apps cost a minimum of $2.10/week, and this amount counts toward your resource usage for that week. If you spend more than $2.10 in resources, you will be charged for those resources until your maximum daily budget is exhausted.
「paid app」=最低2.1$/週 + それを超えて使った分(最大課金額は指定できる)
Q: 有料アプリケーションの $9/app/month は手数料なのですか?それとも最低の利用料なのですか?
A: 現在までにいただいたフィードバックによって、$9 を元々は手数料としてアナウンスしていましたが、それを変更し最低利用料として徴収することにしました。言い換えると、アプリケーションをスケールさせるためには依然として月額 $9 をお支払いいただく必要がありますが、毎月の利用料のうちはじめの $9 を別途お支払いいただくことはありません。プレミアムアカウントの $500/アカウント/月 は依然、運用サポートのコストとして計上されます。
Write $0.10 per 100k operations
Read $0.07 per 100k operations
今のところ苦しい料金は上記2つ。
ちなみに無料分は、両方とも50k/日。
$9課金の場合、他が全て$9に収まる範囲とすれば、単純計算で4500kずつR/Wの範囲ならOKということ。1日あたり、150k?
今のアプリの場合、非常にざっくりだが1ユーザーが5~10分ぐらいゲームを行うと、0.2kぐらい使っているっぽい。
毎日20ユーザーがアクセスして、1時間ずつゲームをしたとして、0.2k * 12 * 20ユーザー = 50k程度か??
ということは、とりあえず月$9でかなり使える範囲になりそうだ。
2012/1/12
スマホ向け ⇒ HTML5 + jQuery Mobileが現段階で最強かなあ?
PC向け ⇒ HTML5 + jQuery + CSS3? …ってとこでOKな感じかな~?
サーバー側が落ち着いたら、HTML5に手を出してみるかな~。
2012/1/11
あと、Twitterとの連携とかも可能みたい。面白いなあ…。
メッセージ機能を、Twitterと連携して…というのも面白いかもしれない。
2012/1/3
無料枠へ入れる基本方針はとりあえず以下参照。
http://goo.gl/R99Uj
ソートやフィルタに使用しないプロパティに@Attribute(unindexed=true)を付ける事で、
「Datastore Write Operations」はいくらか少なくなりました。
でも、所持金加算+ログ更新を100回行うと、5%(2500Writes)の使用量なので、まだ大きい。
slim3のmodelにはversionとかが付いてるけど、その辺りがunindexedになってないのか、
そこの更新コストが大きいような気がする。slim3が新料金体系に対応されることを祈る。
Datastore.beginGlobalTransaction() じゃなく、フツーのDatastore.beginTransaction() で、Cross-Group Transactionsに対応しているとか。
5 entity groupsまでなら、複数Entity Groupをぶっこんでも、問題なく更新とかできる様になっている筈。
High Replication Datastore(HRD)を使用している場合はSlim3はトランザクションをXGトランザクションとして開始します。
あれー、そっちだけっすか。とりあえず様子見ってとこか。
あとは、Datastore Read Operationsを減らすために、memCacheを採用してみようかな。
⇒memCache採用してみました。
Datastore Read Operationsが大幅減!速度も速くなった気がするし、良いことづくめ!
2012/1/2
いつの間にか、GAEの様相が若干変わってる。
個人的に詰まった事2点。
- com.google.appengine.repackagedが警告出るように。
JSON関連で使いまくってるので、早いうちに変更が必要だな。
2011/8/4
げ、前回の更新から3カ月以上が経過してる。時間の経つ速さといったら…。
GAEjを使ってみた欠点は、トランザクション処理が難しい(グループを跨ぐトランザクションが作れない)という点。
ちょっと難しい処理を行って、グローバルなトランザクションを行う必要がある。
それを一挙解決してくれるのが、Slim3!
ただ、Lowlevel APIを薄くラッピングしたというSlim3 Datastoreに馴染む必要があるなあ~。
明日さっそく試してみよう!
2011/4/30
Javaサーブレット⇒JavaScript へのデータ受け渡し形式ですが、
JSONというのが、よく使われているっぽい。
ActionScriptとの連携でもよく使われるらしいし、
ちょっとこれは有力。
でも、Ajaxの本来の道筋から行くと「XML」が王道かな?
JSONなら、サーブレット側のフォーマット生成が非常に楽だしライブラリも不要。
よし、JSONで行こうかな!
2011/4/29
今のとこの特徴
- Ajaxを使って、リダイレクト無しの動的なデータ読込み
- jQueryで、装飾的な動作を付ける。
- GAEjによる、サーバー管理・フリーサーバーの負荷考慮とかからの開放
- 開発、アップロードはEclipseから行えるので便利
ってなとこでしょうか。
1番については、「キャラ情報修正」のところで、
IDのみ記載すると、その他の情報を裏でロードしてきて、
入力欄に自動で反映される…というところで確認できます。
特に今回「良い!」と思ってるのは、3番ですかね?
サーバーっていっつも探すのに困りますし、
有料サーバーを借りて使うのも、自分でサーバーを立てるのも、何かと苦労はありますし。。。
その点、GAEjならサーバーは無料!
アクセス数とかに制限はありますが、その制限の範囲でも十分なので、
無料の範囲でもかなりなんとかなってしまう。
(その気になれば、制限を越えた分だけの課金…というのも可能)
逆に、今のとこ気になってるのは以下です
- Eclipse上で開発していて、jQuery、JavaScriptのデバッグってどうやってやるの??(ステップ実行とかしたい…)
- Eclipse上で開発していて、jQueryコードの部分は補完機能が働かない??
- jQuery⇔Javaサーブレット間の通信方法自体は簡単だけど、沢山やりとりを作る必要があるので面倒。
(I/Fをしっかり決める必要も当然ある)
- jQueryからJavaサーブレットへ投げる時は、連想配列で投げれるんだが、逆で同じような便利な方法がまだわからない。
こんなところでしょうか。
とりあえず最後の1つから考えてみます。
2011/4/25
調べてみた感じ、jQueryの性能がかなり高そうなので、
クライアント側はGWTではなく、jQuery使用で作っていきたいと思います!
で、さっそくちょこちょこ作ってみます。
とりあえず、エンバトの劣化版からだなあ!
2011/4/21
4/20で紹介した本では、基本的にGWT(Google Web Toolkit)をOFFにして…という説明がされてたのですが、
試しにONでやってみました。
下記は、GWT自動生成のサンプル。
…す、すげえ…。何このダイアログみたいなヤツ…。
ブラウザ上で動作するリッチコンテンツが簡単に作れるんじゃね…?
とりあえず、これを前提にしてブラウザゲーム作ってみるかな!
ちなみにIE6とChromeで動作確認。
Chromeの方が、なんか若干良い感じで表示されてるような気もするけど、
とりあえずブラウザでの「訛り」はGWTで吸収されるらしいです。
それにしても、IE6って8とか9が最新なんだね!気づいたら時代遅れになってたよw
2011/4/20
本に書いてあるサンプルを入力して動きを試すのが面倒…とか思ってたら、
出版社のHPにサンプル置いてあるじゃん…。
検索してみるもんだなぁ。
ちなみに、本は秀和システムの「Google App Engine for Java 実践クラウド・プログラミング」です。
カバーが黒でカッコイイ!(?)
さて、さっそくサンプル試すか~!
そういえば、1ユーザーにつき10個までしかアプリをデプロイ出来ないっぽい。
最初の方のサンプル消さねば。
でも、それぞれ10個ぐらいまでバージョン違いも登録できるみたい…。
あれれ、結局バージョン違いとして登録すれば良いのか…?
IDの入力(5文字)を検知して、裏でデータを取得・更新します。
昔のこういうのって、必ずページ切換あったよな~。
これが技術の進歩なのか。。。
2011/4/16
その際に下記のエラーが出てコンパイルが通らない問題がありました。
「Your project must be configured to use a JDK in order to use JSPs」
POSTを投げているのに、サーブレット側の関数をdoGetにしていたり
(当然、POSTはdoPostで受けるのです)
web.xmlのURL指定を間違えていたり、と色々ありましたが…。
ネットって便利ですねw
2011/4/14
Android開発に引き続き、開発環境はEclipse。
無料でこれだけの開発環境が揃うのは非常に凄い。
開発の流れは、
1、Eclipseでソースコード編集
2、Eclipseで実行
3、ブラウザで、localhostに対してアクセスすると、内容が閲覧できる!
非常にやりやすく、良いですね!
そして、サーバー上へのアップは、
1、Google上でアプリケーションID、アプリ名を設定
2、Eclipse上のappengine-web.xmlの<application>を設定
3、Eclipse上でデプロイボタンを押下!
たったこれだけで、アップロード完了です。
↓テストプログラム
xmlファイルのオープンが出来ない、という問題もありましたが、
とりあえずテキストエディターで開いて編集しました。
⇒eclipse.exe -clean.cmdの実行でいけました!それにしても、クリーン後のEclipse起動が遅い…。
2011/4/13
備忘録として開発日誌をつける事にします。
- ネットワーク対戦が出来るゲームを作りたい
- ってことは、TCP/IPを使ってネット対戦!?
- いや、もしくはブラウザゲームでも良いんじゃね?
- …今流行りのクラウド上で動くブラウザゲームなんてどう??
ということで、ここ1週間の興味は、クラウドに向いています!
ここで、キーワードをピックアップ!
○GAEj(Google App Engine for Java)
○Javaサーブレット
○Ajax(わからんけど、XHTML+jQuery(JavaScript))
サーバーサイドは、GAEj上で動くJavaサーブレットを作って、
クライアントサイドはAjaxで動くようなブラウザゲーム、
これがもしやネットワーク対戦として思ってたものに、一番近いものかも知れない。
スタンドアローンのゲーム作成も楽しいが、
昔のブラウザゲームの余韻を噛みしめながら、クラウドブラウザゲームを開発するのもまた一興。
というわけで、エンドレスバトルの第二世代(という名の劣化バージョン)を作ります!
最終更新:2012年04月21日 08:36