スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



私的なGitサーバ2

前に私的なコードを使えるGitサーバは「Assembla」だけって書いてたけど,
どうやら他にもあったようだ。

無料Gitサーバ「Assembla」
http://www.assembla.com/

その名は「bitbucket」
https://bitbucket.org/
http://www.atlassian.com/software/bitbucket/overview

ただし使用するユーザが5名以上になったら有料になるってある方のブログに書いてありました。
プラン内容(https://bitbucket.org/plans)を見ると,

・5ユーザまで
・プロジェクト管理用のWeb画面(Wikiなど)もあり
・容量無制限
・パブリックだろうがプライベートだろうがリポジトリの数は制限しない


「Assembla」は
「A free, commercial quality, private repository with unlimited users, 1GB storage and the world's best features.」(http://www.assembla.com/plans)と書いてあったので,
自分の英語力が間違いなければ,

・無制限のユーザ
・使用できる容量は1GB

また他の日本の方のブログによれば,プロジェクト管理用のツールはない。
単純にリポジトリをストレージするだけってことだろう。

容量で制限するか,ユーザ数で制限するかということでしょう。
サービスの内容をみても「bitbucket」の方がよさそうですね。
(どちらもサイトデザインが似ているのはなぜでしょうねw)


Androidへ移植するときに,お手伝いしてもらうことができたので,
共有サーバで作業することになりそう。

そしてその方が使用しているのがMacとあって,
Gitクライアントをどうしようか迷っている...。

とりあえず「bitbucket」を調べて,Mac用のGitクライアントを探さないと。

続きを読む

スポンサーサイト



今日はずっと寝てた><

今日もいい天気だったんだけど。。。
あれもこれもやろうと思ってたけど,なぜか眠すぎて布団からでれなかった><

で,な~んもしなかったw
昨日までサーバ構築本は400ページまで進みました。(遅)
DNSサーバ, メールサーバ(SMTP, Postfix, sendmail)の構築方法。


CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)
(2012/02)
サーバ構築研究会

商品詳細を見る


このあたりから読みにくくなってきました。
あまり知らない知識が多いから(?)というのもあるかもしれないけど,
前半のあるストーリーに基づいてリズムの良い説明...でなく,
よくありがちな技術本の説明になってきたのが原因だろうと。

設定ファイルやプログラムの仕様ベースの説明で,
ユースケースによる説明ではなく,
さらに1000ページと少ないページ数で説明しきらないとという
詰め込み型の説明になっているからだろうな。

この本は一通りの構築内容を把握することはできるけど,
一つ一つの掘り下げて説明されているかというと,
ページの制限からできていない(できない)。

なので,各項目(DNSならDNS)がさらに詳細を知りたいと思ったら
専門の本を買うほうがいいだろう。

つーことで今週までにあと600ページ!!
がんがれ自分w



アプゲのサポートに問い合わせてもダメでした

アプリゲットサイトからダウンロードしようとしたときに「無効なデータのためダウンロードできません」というメッセージが表示されてダウンロードできない問題について問い合わせていました。
(アプリを削除することでダウンロードはできるんだけど,この方法だとセーブデータが失われてしまうので...)

ここが直らない限りアップデート版を簡単に上げるのが難しいなぁと。
なので原因を特定したいところだったのだけど...

アプリゲットのサポートでは「数台で検証したが問題が発生しないということで対応しようがない」とのことでした。

アプリの問題か,端末の時計の問題といわれましたが...
JADファイルはずっと同じものを使用している(ファイルサイズやバージョンは変えても,それ以外は変えていない)ということからアプリの問題とも言えないでしょうし,
そう考えると時計の問題ということなんだけど...本当に時計なのかな!?

おなじモジュール(JAD, JARファイル)を旧開発者サイトにアップロードしても問題がでなくて,
通常のサイトでは問題がでる。
と考えると,通常サイトのアップロード時に問題があるようにも思えるんだけど...。

とサポートに言っても旧サイトはサポート外ということで,ダメだったね。
アプリゲットとしては,フューチャーフォンアプリはお金にならないからサポートも冷ややかなんでしょうか...。

残念な報告でした。

開発者側から問い合わせても限界なので,問題がでたらユーザ側からアプリゲットへ問い合わせてもらえれば,
事態が動くかもしれませんね。



私的なGitサーバ

アプリゲットのダウンロード問題についてサポートに調査してもらっています。
なにか進展があれば,またこちらで告知していこうと思います。

さて話は変わってバージョン管理システムの話。
iko2ではSubversionを使用していました。
SVNクライアントはTortoiseSVNで,WinCVS時代と比べると管理が楽になりました。

ただSubversionは仕様上,常にサーバに接続できなければいけないので,
ネットワークに接続していない環境だとコミットできないという問題がありました。

iko2のときは常にサーバに接続できる状態だったので,特に問題はありませんでした。
(というかローカルにリポジトリを作成したので,サーバうんぬんじゃないというw)

将来的にマルチデバイス,自宅のPCと出先用のノートPCと両方で開発するときに,
ノートPCがサーバに接続できないかもしれない...
そう考えるとサーバに接続できなくてもバージョン管理ができる仕組みがあればと思いました。

なので次にバージョン管理するときはGitでいこうと決めていたわけです。
(Gitでこういう管理ができるかどうかは調べてないw)

ただ無料のGitサーバは,オープンソースであることがほとんど。

ネットで検索して唯一,プライベートなコードを管理できる無料Gitサーバ「Assembla」があることを知りました。
http://www.assembla.com/

ここを使うのも1つの手なんですが,
自宅でテスト用のPHPサーバも欲しいなぁ,メディアサーバも欲しいなぁ...とか,
「いっそのこと自宅サーバを立てちゃえ」
という考えに至り,先日紹介した本を読み始めたのでした。


CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)
(2012/02)
サーバ構築研究会

商品詳細を見る


約1000ページあるなかの6章(100ページ未満)までしか読んでいないのですが,
文章がとても読みやすくて,かなりの良本なんじゃないか!?と思ってます。

ただLinuxは,ほんとちょっとしか触ったことないので,
基本的な説明がない上記の本だけでは,わからない点もありそうです。

SELinuxの部分については,ロールやレベルの使われ方とか,
理解できてなかったので,他の情報で補足しないとなぁと思ってます。

最近はそんな感じで次に向かって知識を蓄えるモード。



RC版をすっとばして公開手続きをしました...

予定ではRC版へ移行するつもりでしたが,1週間,特に不具合報告もないことからファン限定配信から一般公開に変更するように申請しました。
申請は今週中にも許可されるものと思います。

更新内容はアプリゲットの登録情報のみでアプリ自体は変わりありません。

予定を変更した理由には...
7月になったら夏モデルのスマートフォンに機種変する予定なので,
機種変したらサポートすることができなくなってしまうためです。
(サポートは2012/6/30までです)

一般公開になればさらなる強者が現れる...はず。

開発した自分は裏を知っているので4年と1ヶ月でクリアできました。
テクノロジーの取得順を変えれば,もっと早くクリアできると思います。
是非,最速クリアを目指してみてください。



Java本の続き

iko2の称号取得のチャレンジしているコメントをみて,
かなり遊んでもらえていて嬉しい限りです。

一段落している間に,以前途中まで読んでいた以下の本を,読み直しました。


パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)
(2009/09/24)
アリエル・ネットワーク株式会社、井上 誠一郎 他

商品詳細を見る


残っていたのは,JAVAのサーバサイドプログラミング,データベース(JDBC),GUI(AWT,Swing)のフレームワークまわり。
S!アプリには全く関係ない箇所なので読み止めていました。

読んでみたけど半分理解できたかどうか...。

C#でサーバサイドプログラムをしたことがあるけど,プログラム言語からHTMLを生成する処理,
つまり,ある言語から異なる言語を生成する処理がネックになっているということがわかりました。

Javaの世界でも,どうやってHTMLのページを生成するのか,かなりの試行錯誤があるようです。
また一般的にHTMLを作るのはWebデザイナーで,サーバサイドはプログラマーという分業をとっている会社が多いので,サーバサイドからHTMLをつなぐ処理をさらに難しくしているところだったんじゃないかな。

この本ではサーブレットの処理とJSPで最終的にHTMLを生成する処理を紹介しています。
Webの技術は毎年のように変わっているので,この本に書かれている方法が「現在のスタンダードか?」と言われると疑問に思う。
自分はPHPなどのスクリプトを知らないので,こんなもんなんだなという程度で読みました。

Javaでデータベースを扱う部分もC#のものと似ていて,この本のORMに書かれていたレコードとクラスを対応させる技術があるんだなと。
やはりHTMLのとき同様,データベースとプログラム言語間を扱いやすく,難点をどのようにライブラリで吸収するか,ということが大事なんだなと思いました。
ただSQLに関してはやはり言語に直接文字列として書いて実行するという手段をとっているようで,これは他の言語でも同じような手法なので,今後も劇的に変わらないのかなと思いました。
(C#ではLinQってあったけど,Javaにも似たようなアプローチがあるんだろうか?)

最後にGUI部分ですが,GUIの使い方というよりは,GUIのフレームワークがどのようになっているか,というところが説明されていました。
iko2を作るときもGUIなどのフレームワークを作るところから始まったのですが,作るときになにかを研究してから始めたわけじゃないので,この本で仕組みをみていくと,改善要素がかなりあったなぁと感じました。
ただ,そこまで複雑に作るには時間がかかるだろうから,今回はまぁまぁだったなと思います。

iko2で作ったフレームワークには更新領域を扱う仕組みがなかったので,毎回オフスクリーンに対して全画面を描画しています。
ここを改善すれば,FPSもかなりあがったんじゃないかなぁと考えています。
が,この本をよんで,もし更新領域を扱うとなると,最終的には,この本で言う「包含階層」を実装しないとなぁと。
やはりフレームワークは自分で作るものじゃないなw
と思ったので,Androidでは既存のものを流用していこうと思いました。


次は以下の本を買ったので,今のうちに手早く読んでおきたいな。


CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)CentOS 6で作るネットワークサーバ構築ガイド (Network Server Construction Guide S)
(2012/02)
サーバ構築研究会

商品詳細を見る



称号のヒント

ネタバレとはいかないけど称号のヒントを書きます。

1.まずは完全コンプリートクリア。
 これで数個の称号を取得できます。
2.死亡回数
 これに関連する称号は4つ。
 全く死なないのもあれば,死にまくりもあり!?
3.地図に記載したセルの数
 オープンにしたセルの数で,これに関する称号は3つ。
 一度に全部取得できないので注意!!
4.街の状態のステータス値
 極限まであるステータスを増やすと取得できる称号が3つ。
 この条件がかなり厳しいので見直さないとかもしれない...。

とまぁ,こんな感じです。
中にはかなりハードのものがあるので,取得者がでるかな!?



version10がリリースされました

今日からアプゲからversion10が配信されました。
不具合報告がなければ6/19にRC版にします。
さらに6/26まで不具合がなければ正式版として,
ファン限定ではなく一般公開アプリにする予定です。



version10を申請しました!!

version10を申請しました。
version9のセーブデータを流用できます。
(DLの問題が解決されていればいいんですが...)

version10の変更点は以下のとおり。

・称号を新に実装しました。
 エンディング時に条件を満たしていれば称号を得ることができます。
 獲得した称号はハイスコア画面から見ることができます。
・アイテムの説明文を実装しました。
・村人の会話条件を見直しました。
・ライオンを少し弱くしました。
・熟練度による遠距離攻撃命中率の補正値を下げました。
・遊び方の説明文を追加,変更しました。
・ロード後にゲームを新規に開始すると成長レポートがロードしたもののままになっている不具合を修正。


不具合があればブログに報告お願いします。
もしversion10リリース1週間後から不具合報告がない場合は,RC(リリース候補)版に変更します。

変更といってもアプリゲットのサイト上のアプリ名のみ変更でアプリファイル自体は変わりません。
名前が変わってもダウンロードする必要はありません。
RC版以降のスケジュールについてはファンクラブ会報にて説明します。


ダウンロードのときに「無効なデータのためダウンロードできません」
と表示されたときは,アプリケーションを削除してください。
これ以外の対応方法は見つかっていません。
(アプリゲットのサーバ処理とJava環境の関係になるので,
一開発者にはどうしようもできない問題です)

手順は以下のようになります。

1.アプリをアンインストールする。
 もしくはSDカードに待避後にSDカードをはずす。
2.アプリをダウンロードする。


SubVersionのリビジョンは736...736回も更新作業したのか...。
これが最終バージョンになればいいなw



遊び方がわからない箇所ありますか?

称号の画面やボーナスの機能を実装しました。
称号を取ると新規ゲームのときにボーナスが付くようになります。

称号の取得条件は非公開にしておきます。
完全なやりこみ要素なので,
探してみてください。
製作者からの挑戦状ですw

ヒントとしては...
どれも厳しい条件ですが,プラスもあればマイナスもあるよ。

今日は改めてプレイしなおしてみると,一件不具合が見つかった。
ロード後に新規ゲームをすると成長レポートが初期化されていない問題が...。
すぐ直したのでversion10では修正されます。

あと昨日はバランスの再調整。

・ライオンを弱体化させました。
 磨製石器でもギリギリで倒せるようにしていたのを,もう少し楽に倒せるようにしました。
・熟練度によるステータスアップ値を若干下げた。
 称号と関連させて調整しました。

タイトルにも書きましたが,
遊び始めて,わからなかった点を募集します。
遊び方に追加しようと思っています。
(テキストのみの説明なので,ちょっと限界がありますが...)

コメントにもらった「クリア状態(フラグ)」についての説明を公開しようか,
どうか迷っている。
クリア状態を初期化する仕組みをいれたんだけど,理解できるかなぁと。
version10がでるまでに入れらるものがあれば入れていきます。

さて,もうちょいやって寝るか。



次のバージョンが最後になる予定

今version10を実装中です。
version10をリリース後は不具合などなければ,正式版となる予定です。

正式版へのタイミングとしては,
version10のリリース後から1週間はβ版とリリースして,
その間に不具合報告がなければRC版とし,
さらに1週間問題がなければ,正式版としてリリースする。

こんなことを予定しています。
正式リリースはファン限定から一般公開に変更します。

version10はコメントで提案してもらった「称号」が入ります。
称号はおまけなので,かなり簡易的に実装されます。
詳しくはまた今度。

昨日から村人の会話条件など見直しました。
他,いろいろ気になった点を修正していました。

やっと完成が見えてきたな。



version9を申請しました。

version9を申請しました。
早ければ今週,遅くても来週に配信されます。

version9はマップの変更があったため,
version8のセーブデータをロードすることができません。

version9の変更点は以下のとおり。

・クリア年数が30年から10年に短くなりました。
・成長レポートが追加されました。
 メニューから成長の記録を見ることができます。
・マップの一部を変更しました。
・死亡カウントが導入されました。
 ゲームクリア時にカウントが表示されます。
・発見した地図のセル数をハイスコア項目に追加しました。
・あとがきを読んだときの食料ボーナスを新規ゲーム時に付加するようにしました。
・村人のヒントを強化。
 またセーブデータに既出のものを記憶するように変更したので,
 同じヒントが1ゲーム内で表示されないようになりました。
・人口,食料,建材の最大値を32767にしました。
・クリア状態を初期化できるようにしました。
・テクノロジーの説明が表示しきれないものがあったが表示できるように修正。
・ロード後にニューゲームを実行すると村の画像が初期化されていない問題を修正。
・保存先の変更,ニューゲーム時にクリア状態を正しく処理できていない問題を修正。


ダウンロードのときに「無効なデータのためダウンロードできません」
と表示されたときは,アプリケーションを削除してください。
これ以外の対応方法は見つかっていません。
(アプリゲットのサーバ処理とJava環境の関係になるので,
一開発者にはどうしようもできない問題です)

手順は以下のようになります。

1.アプリをアンインストールする。
 もしくはSDカードに待避後にSDカードをはずす。
2.アプリをダウンロードする。


version10はバランスを再調整する予定です。



version9に向けて着々と作業中

今日は成長レポートのキー制御部分の実装と,村人のヒントとあわせて永続化処理の実装。
これで村人もボケたように同じことをいうことはなくなりましたw

ただ心配はヒープサイズを圧迫し始めているように考えられ,
終盤はゲームがまともにうごかないじゃないかと...。
それについては今後調査します。

あとはマップを変更。
ちょっとした変更です。
ライオンを倒しに行きやすくする近道を作った程度。
マップは変更するのが凄く気を使うのと,時間がかかるのと,
あと過去のセーブデータが使用できなくなる点を考えると,
今回の変更でFIXしたい。
というか,もう変更しないw

vesrion9の主な実装は終了したので,
あとは溜まった細々としたものを変更,修正していきたいなぁと。

全体を通してみるとversion9はユーザが喜ぶ変更はなく,
完成に向けての変更ということで,
あんまり望ましくない人もいるかも...。

できたら明日かあさってあたりに審査だすかな。



成長レポート画面を作成

昨日はデータ構造を作ったので,
今日は画面を作成。

月が変わる度に,そのときの街の状態などを保存する。
保存したデータを成長レポート画面で見るというもの。

画面作成までできたので,
明日は永続化とキー入力によるデータの変更処理等。

あと別機能の実装として,クリア状態のフラグ消去を実装しました。
まだ画面として完璧ではありませんが,クリア状態を消去することができました。

ロード画面でセーブ済みのデータのものを変更するので,
変更後は再ロードする必要があります。

今日はあともうちょっとやって終了。



成長レポートのデータ構造を用意

今後のバランス調整でも必要になるのと,
プレイしているときに前のプレイと比較するためのデータを用意しようと考えています。

その機能は成長レポートという名前で実装しています。
今日はそのデータとなる構造部分を実装していました。

先ほど書いた記事のように,シリアライズ時またヒープ上のサイズを小さくしたいため
変数の型をできるだけ小さくして扱うように変更。

本当は全部int型で扱えれると楽なんだけどねぇ。

明日以降は画面周りを実装予定。
version9のリリースは来週かな!?



データサイズを抑えるために

成長レポートを実装するためにできるだけ保存するデータサイズを抑えたいと思い。
メモリ上ではint型で格納している変数も値のとりえる範囲から
short型やbyte型とできるだけ小さい型に置き換えてシリアライズしようかと。

http://www.javaroad.jp/java_variable2.htm

キャストってなにかと面倒な問題があるよね。
最上位ビットがたってると負数と勘違いしてしまい,
それをint型に戻すと負数のままになっちゃったり...。

今回はゲームの進行に関係するデータではないから,
あんまり最上位ビットを意識しないでキャストしちゃおうかとw
とりえる範囲からも最上位ビットがたつことも少ないだろうということあって。

さてと,もう6月...早くこのアプリとも決着をつけないとなぁ。



さらに地道な作業が続くよ...

村人のヒントの実装もおわりましたぁ。
シリアライズは新機能を実装時に一緒にいれる予定です。

ヒントは実装したけど,
条件自体がうまく作動するかどうかのテストはしてないので,
用意されているけど,絶対でないなんてヒントもでるかもなぁ。

次は新機能。
とはいっても,楽しくなるようなものではなくて
成長レポートつー自分のプレイ内容を振り返るものをつくる予定。

これはデータ構造から画面まで0からの実装なので,
ちょい時間かかるかな。

さぁ週末もがんばろう!!
そして次の大きな地震が来る前に完成させないとw



アクセス
あなたは
キーワード
カテゴリー
最近の記事
リンク
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

WEB検索
Google

RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。