自転車の物語

画像 プログラマーが独自の「バイク」を発明することもありますが、特に作成がオリジナルと区別がつかず、作成者が非常に貴重な経験を得る場合、本当に悪いのでしょうか?



この話は、妻の最新のスマートフォンが登場して1年以上前に始まりました。 彼女は、かつてデスクトップWindowsにあったソリティアソリティアを見つけるように頼みました。 数十のプログラムをレビューした後、私は不愉快な驚きを覚えました-ほとんどどこにでも、不便なコントロール、物議を醸すカードの絵、250のソリティアゲームのような追加のベルとホイッスルの海があり、シャツと遊女のブラックジャックに写真を置いていました。 その結果、彼らは多かれ少なかれ適切なオプションのいずれかを選択し、しばらくそれを忘れていました。

一年が経ち、私はモバイル向けのプログラムを書き始めました。 同時に、クロスプラットフォームの問題、アプリ内購入のデバッグ、さまざまなプラットフォーム向けのコンテンツの準備が最先端になりました。 テトリスペンまたはテスト用の別の計算機を作成するというアイデアがありましたが、それでも、「自転車」として、「スカーフ」を選択しました。 このプロジェクトのイデオロギーの中核は、一連のWindowsゲームからの古くて優れたソリティアの最も正確な繰り返しでした。





内容



画像 グラフィックに関して最初の問題が発生しました。インターネットはカードの絵でいっぱいで、その多くは無料ですが、ほとんどすべてがかなり芸術的で、モバイル画面では奇妙に見え、cards.dllの古いカードのようには見えません。 Maps for Windowsは、1989年に才能のあるデザイナーSusan Kerによってピクセルごとに16色モードで描かれました。 必要に応じて、ネットワーク上で簡単に見つけることができますが、IP違反なしで使用することはほとんどできません。 Linuxの世界のいくつかのゲームで使用されているカードは、はるかに興味深いことが判明しました。GPLライセンスの下で配布されましたが、少し奇妙に見えましたが、白黒のシニアカード(数字)でした。 これらのカードの作者は同志でした。 Oxymoron。そのサイトには、写真自体とその組み立ての台本があります。 彼は自分のスーツの番号とアイコンを描き、未知の情報源から数字を取りましたが、元のものと非常に似ていました。 スクリプトを少し修正して、マップをPNGで保存し、透明度を追加すると同時に、シニアマップを手動でペイントしました。 スペードのエースアイコンには、元のケルトパターンに似た、独自の定型化された絵が描かれました。 彼女はプログラムのアイコンにもなりました。



シャツについては、ビーチとand子の木を手作業で描くことで、(私の意見では)最も楽しい写真が選ばれました。 それは非常に認識できることが判明しました-写真の外観は長続きしませんが、よく見ると違いは明らかです。

画像



ゲームプレイ



画像 判明したように、「スカーフ」のゲームプレイは、スコアリング、タイマー、1/3カードの発行、およびVegasモードのため、それほど単純ではありません。 たとえば、1枚のカードを発行する(つまり、デッキを裏返すことができない)お金のゲームは、標準のゲームとは著しく異なります:その目標は、できるだけ多くのカードをエースに転送し、マイナスを出して次のゲームを開始するために42ドル以上を集めることです、ソリティアがうまくいかなかった場合。 ゲームでは、アカウント上で、カードを「ダウン」デッキからエースに転送すると、15ポイントが得られますが、すぐにエースに送られます-当然、これは非常に条件付きで文書化されているため、元のゲームをワインにドライブし、本格的なレズを行う必要がありました。



コード



サードパーティのライブラリ、Android、Swingなどを使用せずに、プログラムのビジネスロジックを純粋なJava 1.6で記述しました。Androidの場合、この部分は別のライブラリとしてアセンブルされ、GUIプロジェクトに問題なく接続されますが、他のOSの場合は非標準の方法で行くことにしました他の言語に額を移植しないでください。 いくつかのファイル処理の後、 Sharpenプロジェクトはこのコードを純粋なC#に変換することができました。これにより、MonoTouchを使用したiOSでの実装、およびWindows Phone 7/8の実装が可能になりました。 最も単純な単体テストでは、作業のロジックが変更されておらず、ブロードキャストが成功したことが示されました。 MonoTouch環境では、ニュアンスのないGUIディスプレイを実装し、エミュレーターとiPod Touchでゲームをデバッグし、承認のためにiTunes Storeに送信しました。 KGN.InAppSettingsへの外部バインディングを使用してプログラム設定を実装し、外部ライブラリの親指サポートの欠如などのいくつかの小さな問題につまずきました。



問題



画像 Appleでの1週間のテストの後、「クラシックスカーフ」がiTunes Storeに登場しました。 グラフィックスやライセンス紛争の可能性に対する批判を期待していましたが、初日にはすべてのレビューが明確でした。ゲームは起動時にすぐにクラッシュします。 ゲームをストアから削除し、問題の調査を開始しました。 私の友人はゲームを完璧に開始し、エミュレーターとiPod Touch 4gでも不具合は見られませんでした。 最初の重大なバグを見つけるのに数日かかり、フォーラムのメンバーの助けが必要でした。ヨーロッパとウクライナの地域iOS標準では、小数点区切り「ドット」が示され、ロシアではすでに「コンマ」です。 したがって、フロートからストリングへの変換は、一部のデバイスでは機能し、他のデバイスではクラッシュしました。 アプリに送信されてから1週間以内に、ランドスケープモードで起動したときにゲームもクラッシュすることが判明しました。 iPodおよびiPhoneでは、すべてのプログラムは縦向きで起動します。これは、iPadでしか見つからないためです。 再承認にはさらに1週間かかりました。その間、高速ゲームはついに「新規」カテゴリから姿を消し、トップ1000の外で首尾よく姿を消しました。きれい。



高精細



画像 プロジェクトが正常に動作し、アイコンが置き換えられたときなどに、新しいiPadを手に入れました。そこでは、カードの解像度が9.7の「スクリーン、およびRetinaディスプレイ」のジャンプカードに対して明らかに不十分であることがわかりました。遅れには数日かかりましたが、そのためにCore Animationと完全に仲良くすることができましたが、解像度を向上させるためにデザイナーを雇わなければなりませんでした。彼の作品の結果は、オリジナルに最も似たスタイルの数字、文字、スーツです。負けないズームプロ ntichnostピクセルグラフィック。それはまだ非常によく理想的ではない判明、しかし。



この作業には多大な労力が費やされたため、別のHDバージョンをリリースすると同時に、ゲーム内購入を通常バージョンに追加するのが論理的でした。 MonoTouchでのアプリ内購入の実装では簡単ではありませんでしたが、オーガニックに見えるようにするために、KGN.InAppSettingsを取り除き、設定と購入用の単一のインターフェイスを作成することにしました。 ここでは技術的な詳細は説明しませんが、システムの設定と同じ独自の設定の作成に関するMonkeyの作業、StoreKit for Monoのドキュメントの欠如との戦い、購入のデバッグに関するさまざまなバグなど、多くを集めました。



利益



ゲームは傑作にならなかったし、頂点に達しなかったし、開発コストとデザイナーの仕事にお金を払う可能性は低いが、今では私は自分のデバイス(すべてが始まったスマートフォンを含む)にオリジナルに非常に似ている「スカーフ」を持っているWindows 3.1以降のネイティブ。 ポータブルコードをJavaで記述してC#に移植した経験は、非常に貴重であることがわかりました-私のチームがいくつかの大規模なAndroidプロジェクトをiOSに移植した同様の方法であり、小さなゲームでデバッグするため、MonoTouchの水中レーキとiOS開発全般を研究し、同時に書くことは良いアイデアであることが判明しましたいくつかの便利なライブラリ。 誰かがこの物語を笑うかもしれませんが、私にとっては、「自転車」は非常にぴったりで、時間は無駄ではありませんでした。



ポスト台本



MonoTouchの移植と作業の詳細には触れないようにしました。それぞれのトピックには個別のトピックが必要だからです。 遅かれ早かれ、私は自分の力を集めて、ゲーム内設定、ショッピングマネージャーなどのクラスをレイアウトします。

広告と見なされないように、プロジェクトへのリンクを投稿しません。

更新されたマップ生成スクリプトが必要な場合は、scanwords @ runserver.netに書き込みます。これはGPLプロジェクトの派生物であるため、問題なく投稿します。



All Articles