2015年03月15日

P2PでTCGを対戦するソフトでイカサマを対策するには(実装編)

※この記事は、前記事「理論編」の続きです。

誰得記事の続きです。長くなったので2つに分けました。
今回は、アリスとボブに実際の実装内容を、実演してもらいます。
 
続きを読む
posted by TCT at 13:12| Comment(0) | 日記

P2PでTCGを対戦するソフトでイカサマを対策するには(理論編)

※やや専門的な記事です。この記事を理解するには、基本情報技術者レベルの知識が必要かもしれません。
※TCG(トレーディングカードゲーム)の知識も必要です。


リアルでTCGを対戦するのは楽しいものですが、忙しくなるとそうもいかなくなってきます。
また、オンライン対戦の方がリアル対戦に比べて、短時間で対戦できるというメリットもあります。

そんなわけで、オンラインでTCG対戦ができるソフトの需要は確かにあるのですが、オンライン対戦ソフトを作るにあたって、1つ考慮しなければならない事があります。

それが「イカサマ」や「チート」と呼ばれるものです。

普通のネトゲなんかでも、チートプレイヤーなるものが居たりするのですが、ソフトの設計に問題があると、TCGでもこれができてしまいます。
そこでこの記事では、TCGのネット対戦で「悪いプレイヤー」が使うであろうイカサマと、それを対策するにはどのようなロジックにすれば良いか? という事を考察していきたいと思います。

−ご注意−
最初におことわりしておきますが、私はオンラインTCG対戦ソフトを開発しているわけではありませんし、そんな計画もありません。
ただ単に、こういうヤヤコシイ事を考えるのが好きなだけです。

 
続きを読む
posted by TCT at 12:40| Comment(0) | 日記

2015年03月14日

[libGDX]Androidアプリケーションが起動できない問題

Androidとデスクトップの両方で動くアプリをJavaで開発できる、という素敵ライブラリ、libGDXを先週あたりから色々いじって勉強中です。(Gradleを入れたのもそのためです。)

が、デスクトップ向けはどうにか動くようになったのですが、Android向けが全く動かないのです。
具体的には「LogCat」の所にこんなエラーが出ます。

Libgdx requires OpenGL ES 2.0

色々調べてようやく下記のページに行き着いて解決したのですが、英語ですので日本語で解決法を書いておきます。
http://stackoverflow.com/questions/22703940/libgdx-helloworld-project-crashes-when-run-on-android-emulator
 
続きを読む
posted by TCT at 19:32| Comment(0) | 技術情報

(覚え書き)Gradle初回実行時に「指定されたパスが見つかりません」と言われた場合の対処

カテゴリ:Java Gradle

わけあって、Gradleをインストールする事になりました。
Gradleとは何ぞや? という説明はこの記事の趣旨ではありませんので、それについてはこの辺をご覧ください。簡単に言うとJavaでプログラムをする時にプロジェクトをひとまとめにできる物? っぽいです。

さて、私がハマったのは、下記のような現象です。
・EclipseでGradleのプロジェクトをインポートすると「指定されたパスが見つかりません」と出る。
・C:\Users\(ユーザ名)\.gradle にファイルが無いと書かれていたので、ユーザーフォルダを見てみたところ、そもそも「.gradle」なんていう名前のフォルダは存在しない。


ちゃんとインストールできていないのかと思い、コマンドラインから「gradle --version」と入力してみたところ、やっぱり英語で「C:\Users\(ユーザ名)\.gradle にJNLライブラリを作成できない」(could not create jna native library)とか言われました。

結論を言うと、「.gradle」フォルダを作ろうとしたけど、管理者権限がないからフォルダを作れなかったのが原因です。
C:\Users\(ユーザ名)\ は特別なフォルダなので、管理者権限がないとアクセスできないのです。
(ユーザーアカウント制御(UAC)を切ればアクセスできると思いますが、さすがにそれは怖いですよね。)
 
続きを読む
posted by TCT at 11:56| Comment(0) | 技術情報