とりあえず動くものを!という方向けです。
はじめに
ゲームにおいて、ネットランキングは他のプレイヤーとの実力差を測る面白い機能であり、やり込み要素の重要なファクターになる可能性を持っています。人間、誰しもが上位を目指す気持ちはあると思いますので、その気持ちに火をつける方法の1つにネットランキングがあると思います。ミニゲームだとかだと特にその効果は発揮されやすいかと思います。心理的に、少しのやり込みで上位ランクを保持できたりする場合があるため、やってやろうという気持ちになりやすいからです。
はじめに
ゲームにおいて、ネットランキングは他のプレイヤーとの実力差を測る面白い機能であり、やり込み要素の重要なファクターになる可能性を持っています。人間、誰しもが上位を目指す気持ちはあると思いますので、その気持ちに火をつける方法の1つにネットランキングがあると思います。ミニゲームだとかだと特にその効果は発揮されやすいかと思います。心理的に、少しのやり込みで上位ランクを保持できたりする場合があるため、やってやろうという気持ちになりやすいからです。
準備
ネットランキングを実装するのに必要なものはなんでしょうか。まずは、データを集積する場所が必要になります。そう、サーバーです。サーバーは無料レンタル(広告付き)されているものから、有料レンタル、自宅に設置するなど様々なものがあります。私がそもそもネット関連の技術に疎いことから、簡単でわかりやすく、敷居が低いものを求めることにします。また、ネットランキング自体がそこまで、大規模な機能ではないので、無料レンタルで問題ないかと考えました。
次に、Javaアプリ(もしくはアプレット)とサーバー間でデータをやり取りする方法、それからサーバーに置くデータベース、そのデータベースをどうやって操作するか、などを考える必要があります。
これも如何に楽して実装するかをベースに考えていきます。ネットで情報をあさる限りでは、データベースには「MySQL」が、データベース操作には「PHP」が、そして、JavaとPHPで連携する方法がよさそうでしたので、その方法で実装することを検討していきます。
ネットランキングを実装するのに必要なものはなんでしょうか。まずは、データを集積する場所が必要になります。そう、サーバーです。サーバーは無料レンタル(広告付き)されているものから、有料レンタル、自宅に設置するなど様々なものがあります。私がそもそもネット関連の技術に疎いことから、簡単でわかりやすく、敷居が低いものを求めることにします。また、ネットランキング自体がそこまで、大規模な機能ではないので、無料レンタルで問題ないかと考えました。
次に、Javaアプリ(もしくはアプレット)とサーバー間でデータをやり取りする方法、それからサーバーに置くデータベース、そのデータベースをどうやって操作するか、などを考える必要があります。
これも如何に楽して実装するかをベースに考えていきます。ネットで情報をあさる限りでは、データベースには「MySQL」が、データベース操作には「PHP」が、そして、JavaとPHPで連携する方法がよさそうでしたので、その方法で実装することを検討していきます。
- 無料レンタルサーバー:@PAGES
このサイトの兄弟コンテンツのようです。選んだ理由は、MySQLが使えることと、PHPが使えること、それからブラウザでMySQLを操作できるということ、などです。@PAGES自体は普通にホームページ作成に使えるのですが、今回はデータベース扱いすることに致します(ランキングを改めて見やすくHTMLで表示させるのも、面白いかもしれないですね)。
- データベース操作とJavaとの連携をするもの:PHP
PHPにはデータベースを操作するfunctionがすでにあること、HTMLに簡単に埋め込め、もしくは直接PHPを参照してもいいのですが、実行結果を確認することが容易なこと(デバッグが楽そう)、普及率が高いのでネット上での情報量が多そうだということ、などが選んだ理由です。
実装してみる
はじめに、データベースを作成します。MySQLは@PAGESに登録した際にすでに使える状態になっています。レンタルですので、もちろん管理者権限を持ってどうこう・・・といういったことはできないようになっています。あくまでユーザーとしての利用になるので気をつけてください。できることが絞られるということなのですが、今回実装するものに関しては問題なさそうです。
ブラウザからMySQLを使えるので、それで必要なテーブルの作成を行いデータベースの準備は完了です。
はじめに、データベースを作成します。MySQLは@PAGESに登録した際にすでに使える状態になっています。レンタルですので、もちろん管理者権限を持ってどうこう・・・といういったことはできないようになっています。あくまでユーザーとしての利用になるので気をつけてください。できることが絞られるということなのですが、今回実装するものに関しては問題なさそうです。
ブラウザからMySQLを使えるので、それで必要なテーブルの作成を行いデータベースの準備は完了です。
次に、PHPの実装ですが、ここが私にとっての難関でした。データベース接続の際に必要な情報として、データベース名、ホスト名、ユーザー名、パスワードなどが必要なのですが、これが最初よくわかりませんでした。結局、@PAGESの管理ページのMySQL基本情報をコピペすればよかったことがわかったのですが、最初、データベースは自分が管理者になって操作できるものだと勘違いしており、ユーザ名をroot、パスワードを無しで接続しようとしたりして、紆余曲折してしまいました。上記にて、「あくまでユーザーとしての利用になるので気をつけてください」というのはこういうことがあったからでした。接続ができれば、あとはMySQL文でクエリーを投げてやれば、行の追加やランキングの一覧データの取得をすることができます。これらはすべて基本的なfunctionを使えばできることですし、ネットにもたくさん情報があるようでした。動作確認はブラウザから直接PHPファイルを指定して実行してやれば問題ないかと思います(PHPファイルのアップロード又は更新を忘れずに)。わざわざTELNET?とか使う必要はなさそうです。このとき、PHPファイルの場所とデータベースの場所(階層構造てきなもの)を意識しないといけないのでは?という疑問があったのですが、とりあえず、割り当てられたアドレスのroot直下にPHPファイルを置いて試したのですが、問題ありませんでした。
このへんについては詳しくありませんのですいません。
このへんについては詳しくありませんのですいません。
最後は、JavaからPHPを呼び出す処理です。とは言っても、これも比較的簡単です。PHPの実装の際、動作確認をする際はブラウザのアドレスに「http://(割愛)/hoge.php?data1=aaa&data2=123」などと打ち込んで・・・という感じでやっていたかと思いますが、それをJavaのクラス内でやるだけでいいのです。つまりはHTTPコネクションクラスを使用すればよいということになります。操作毎にPHPを個別で容易するのか、はたまた、渡すパラメータによってPHP内で処理を振り分けるか、は都合のよい方法を選べばよいかと思います。
終わりに
自分がつまづいた点を中心に記述しました。
自分がつまづいた点を中心に記述しました。