ROSEVERTE開発ブログ

開発に関わるあれこれなど~

エントリー

2020年01月の記事は以下のとおりです。

Adobe Airについて。事前にユーザーにair アプリをインストールさせる必要がありません!

2034394938_9e36bcefe2.jpg

いや、もうほとんどの方が知っているはず、と信じたいです。

ただ、どうも、いまだに「このゲームを起動させるにはまずAIRアプリをインストールしてください」と指示しているところがあるみたいなので、ここでもう一度話したほうがいい気がします。

以前、AIRが初めて出たとき、確かにEXE化するためにADOBE社に許可をもらう必要がありますが、しばらく経って、この必要がなくなりました。

というか、そもそもフラッシュは2020年で終わりという話もあって、AIR事態はフラッシュを動かすためのツールの一つなので、まだまだ先があるかもしれません。

今は、HARMAN社が受け継いでいますが、AIR SDK 33リリースされた後も、なぜかAIR SDK32がまだしばらくADOBE社より更新されました。

例えばMACカタリナに対応するための更新とかですね。記憶違いでなければ、確か32版が先にカタリナ対応機能が追加されました。

SDK33は、主にアンドロイド64bit (arm64v8) 用に作られている感じです。現在すでにカタリナ対応になったのですが、こちらのフリー版(収入1年間50万USD/5百万円前後の方向け)だと、HARMAN社のロゴが入ります。

ま、それはそうとして、まず簡単にネイティブアプリについて説明します。

①WINDOWSまたはMAC用のCAPTIVE RUNTIME BUNDLE(.EXE/.APP)

ドキュメント:

https://help.adobe.com/ja_JP/air/build/WSfffb011ac560372f709e16db131e43659b9-8000.html

これとはほかに、target nativeというのもあるのですが、こちらは、単に『事前にAIRアプリをインストールしてね』と表示するインストーラーを作るためです。

今ご紹介するのはCAPTIVE RUNTIME BUNDLE (target bundle)であって、この機能使うと、AIRをインストールしなくともすぐにダブルクリックで起動できるゲーム(またはアプリ)を作るためです。

ドキュメントに書いてある通り、ウィンドウズでビルドするコードは

adt -package 
    -keystore ..\cert.p12 -storetype pkcs12 
    -target bundle 
    myApp 
    myApp-app.xml 
    -C bin .

最後の行は『-C bin .』に変更したのですが、これは、ディレクトリーにある bin フォルダの中身を全部 myAppというゲームインストーラーフォルダに含めるという意味です。EXEは、myAppフォルダの中にXML表記通りに作られます。

MACの場合は、ビルドする際に、MACのパソコンが必要になります!!!(WINDOWSでビルドできません!)

adt -package 
    -keystore ../cert.p12 -storetype pkcs12 
    -target bundle 
    myApp.app 
    myApp-app.xml 
    -C bin .

これで同じく『-C bin .』 の中身が新しく作られたアプリ『myApp.app』に入ります。このアプリをダブルクリックするだけで、ゲームが起動します。

※注意:MACでビルドすると、appファイルの中にsymlinkファイルが含まれています。このファイルは、新しいセキュリティパッチにより、windows端末にコピーできません!ZIPにしてから、windowsに展開しようとしても、展開の最中にエラーが出ます! また、windows端末を使いアップロードしようとしても、このファイルははじかれるので、オンラインストアなどにアップする場合、必ずMAC端末からすべて行ってください。(ZIP形式のものをWINDOWSでアップロードできるかどうかは、まだわかりません)

symlinkファイルを無視してアップロードすると、Steamなど、クライアントで起動するものならはいいのですが、スタンドアロンとして、ダブルクリックでAPPファイルを起動すると、ファイルが破損したというエラーが出てしまいます。

②アンドロイドアプリの場合

iOSアプリはもともとairランタイムが含まれているようなので、省きます。

アンドロイドの場合は、もう知っている方がほとんどかと思いますが、こちらのコードを使ってください:

adt     -package 
        -target apk-captive-runtime 
        -storetype pkcs12 -keystore ../codesign.p12 
        myApp.apk 
        myApp-app.xml 
        -C bin .

ただ、アンドロイドの場合は今64bitが必要になるので、2回ビルドする必要があります(32bit版と64bit版)。両方、SDK33で行えますが、32bit版だけSDK32を使う、ということも可能かと思います(HARMAN社のロゴが入ってません)、こちらは2020年8月以降だと必須になります。64bit版は、64bit対応のものがないと、64bitの端末からゲームがストアに表示されなくなるということらしいですが、現時点では、まだまだ32bitしか対応してない端末が多いです。

つまり、両方がないといけません(ややこしい)。

ちなみに、ANEを使う場合、32bitのANEが64bitのアプリでは使えません。ええ。使えないのです……😫😫😫😫

しかも64bitANE対応のものって、案外数が少なくて、結構高いものが多いです💸💸💸

③STEAMの場合

STEAM版は、何もしなくても起動できるはずですが、かなり前それをやってみたら、タイトル画面にてshift+tabを押して、コミュニティを開いてみたら、ゲームがフリーズしてしまいました。

なので、念のために必ずfresteamworksのANEを入れてください:(v0.6以降はカタリナに対応できます)

https://github.com/Ventero/FRESteamWorks

これを使うと、WINとMACでも、STEAMAPIが使えます。例えば、事績や、購入を確認するためのAPIなど。

ただし、MAC カタリナに対応したければ、使うSTEAMSDKが、必ずver46以上にしてください。redistributable_binにosxフォルダがあるほうです(osx32ではありません)

Steamに入ったからって、安全? 海賊版対策について。

ちゅみです!

まだたまに質問が来てるので、少しSteamや、海賊版対策について話したいと思います!

まずですね、よく勘違いされますが、Steamに配信したからと言って、プロテクトがかかって、ゲームがコピーできなくなるわけじゃありません!!!!

逆に、Steamに入ったから、海賊に知られて、やられてしまったケースのほうが多いかと思います……。

さて、まず話したいことをリストアップします。

ちなみにですが、私は凄腕のプログラマーというわけではなく、単に自分の経験に基づいて話しているだけですので、内容の一部が素人臭いかもしれません💦

1.海賊たちの目的

2.海賊版の影響

3.SteamDRMや、ほかのストアのコピー防止の仕組み(一部Pixiv Fanboxまたはnoteにて)

4.コピー防止の形式(Pixiv Fanboxまたはnoteにて)

5.モバイルアプリの場合(Pixiv Fanboxまたはnoteにて)

6.ファン翻訳について

7.そもそも海賊版対策が必要なのか?

思ったよりも多いですね。🤔🤔🤔

上記の目次の中から、一部Pixiv Fanboxに移動させようと思っております。記事の更新が2週間に一回ぐらいと予定しております。
Pixiv Fanboxの記事:https://www.pixiv.net/fanbox/creator/2800835/post/794234

noteにも記事載せました! https://note.com/roseverte/n/ndd80c9b9d2fa

1.海賊たちの目的

そもそもどうしてゲームを無断に配布する?広告で稼ぐため、というのは多いですが、それだけじゃないです。いくつかのパターンがあります。

  • 単純に、広告で稼ぐため。
    このタイプの海賊版は、ほとんどコピペだけをして、プロテクトを削除したりしてません。つまり、実際の犯人と言いますか、ゲームの元データのプロテクトを外すものは別にいます。ほとんどブログなどでゲームを無断に配布して、基本サーバーをわかっていれば、サーバーに連絡してサイトを削除してもらうことができます。blogspotなどの場合、Googleにさえ連絡すればだいぶ減らします。ただし、アップしたURLを削除するのが、かなり大変です。アップ先次第では、裁判からの資料求めたりするので、大手でないとやりづらいです。
    ちなみに、サイト運営者はゲーム自体に興味がないことが多いです。単にコレクションをコンプリートさせたいということで。

  • 同じコミュニティの方とシェアするため。
    感覚的には、友達とシェアする。一緒に遊ぶということです。ほとんどメンバーだけが入れるフォーラムで配信しています。
    プロテクトかかってるものを買って、フォーラムでハッカーを探して、プロテクト削除してからフォーラムで配布してたりします。
    もっとすごいところだと、ツール作って、フォーラムからのログインが確認できないとゲームが起動できないところまでありました。
    ここから他のサイトに流れることも多いです。(上記のように)

  • コレクションのため
    これは最初の理由に近いですが、例えばSteamに配信されてるゲームのすべてが自分のサイトに配信したかったり、Steamのアニメ絵系ゲームのすべてが自分のサイトに配信したかったりなどですね。
    特に、有名なサイトだと、ハッカーがメンバーに入ってるところが多くて、ますます対策が難しいです。

  • 感謝されるため
    単に感謝されるため。よく、海賊版サイトに「〇〇に感謝」という表記があります。つまり〇〇が購入して、データをシェアしてもらったとのことです。

2.海賊版の影響

売り上げが悪くなることも、よくなることもあります。

私のゲームのような、ADV系だと、悪くなることがほとんどです。ジャンル事態はニッシュなので、海賊版にやられても、お客さんがあまり増えたりしてません。逆に、減ることが多いです。

ただし、もっと王道なジャンルのゲームだと、製作者がわざと海賊版をトレントなどで流したことによって、知名度が上がって、もっと売れることが確かにあります。良くも悪くも運次第なので、よく考えるように。

一つだけ確実なのは、私なら、時間かけて作り上げた作品が海賊版にやられると、すごく、へっこみますし、今までの動力って何と、自分に問い始めます。
確かに、簡単に避けられるような事態じゃないのですが、ファンたちにもっと開発者の気持ちを知ってほしい。

作品が盗まれるのは、つらいです。

3.SteamDRMや、ほかのストアのコピー防止の仕組み

Steamで配布すると、Steamからのみゲームが起動されるので、安全と、勘違いしている方が多いではないかと思います。

Steamでは最も一般的な対策として、exeをDRMでラップして、Steamがないと起動できなくするというのがもっとも一般的ですが、面倒のせいか、それとも知らないせいか、それをしない開発者が多いです。

ただ、このやり方だとexeがない場合、つまり、音楽ファイル、MACアプリや絵のDLCなどにはプロテクトがついてません。

基本、Steamデベロッパコンソールにexeをアップして、数秒後に包み終わったものをDLして、ゲームフォルダに入れれば完成。ただし、これだけではすごく、突破されやすいので、SteamAPIと組み合わせてプロテクトを許可したほうがいいかと考えます。が、基本ソースコード開けてしまったら、何をしても海賊版にやられてしまうので、トリックが必要です。

exeを包むほかに、キーを発行して、それを入れるとプロダクトがアクティベートされる対策もあるのですが、こちらは、あまり触らないやり方なので、今回は書きません。

私がよく知っている対策は、大きく分けて、exeを包む方式のほかに、URL使う方法(独自のサーバーのphpファイルと連携)ぐらいですが、こちらはpixiv fanboxにて説明します。
URLを使うやり方が、最近では一番確実のではないかと思うのですが、日本のダウンロードサイトでは、対応してないことが多くて、またはストアのポリシーでは使えないことが多いです。
開発者サーバーでは問題があると責任持てないという理由で(海外ベースのストアやアプリでは、ほとんど使えます)

また、最近のMacのセキュリティアップによるプロテクトも少し触ります。 

https://www.pixiv.net/fanbox/creator/2800835/post/794234

4.コピー防止の形式と海賊版の仕組み(Pixiv Fanboxまたはnoteにて)

https://www.pixiv.net/fanbox/creator/2800835/post/794234

5.モバイルアプリの場合(Pixiv Fanboxまたはnoteにて)

https://www.pixiv.net/fanbox/creator/2800835/post/794234

6.ファン翻訳について

ファン翻訳は、いつもグレイのエリアにある。

多くのファンが、これは開発者を手伝う、いいことだと思っているけれど、実際ファン翻訳を動かすために、海賊版をいれてる方がほとんどです。

また、やり方からして、まずソースコードを開ける必要があります。この時点でさえ、許可なく行えるべきではありません。勝手に他人のカバンの中を開けるようなことです。
残念ながら、いけないことだと、わかる方が案外少ないです。

では、開発者目線からどうでしょう? これはゲーム作る目的によってさまざまだと思います。
とにかく、利益よりももっと多くの方に楽しんでもらいたい場合は、やってほしいという方もいるかもしれませんが、ほとんどの方は嫌がるかと思います。

じゃ、ファンが「翻訳したい」と連絡したらどうでしょう? そこまで単純ではありません。

ファンがよく忘れているのは:翻訳すること=開発者の手間が増える。

そして、「翻訳して終わり、というわけではありません」

起動テスト、フォントが目的の言語に対応してるかどうかの確認、スクリプト形式ではなければ、いちいち翻訳のコピペ作業が必要、海外OS環境でちゃんと動いてるかどうかの確認、翻訳の誤りがあるかどうかの確認、ボタンが絵になっているところのグラフィック編集など、かなり手間がかかります。

ローズヴェルトゲームでは、翻訳しやすくするように、作業テンプレートを制作したので、かなり作業が簡単になりますが、それでも、開発者の手間が0というわけではありません。

なので、もし、翻訳したいとオファーして、開発側が断っても、この件についてはご了承ください。

7.そもそも海賊版対策が必要なのか?

これは議論になっているところですね。

海賊対策というのは、時間がかかります。しかも、時間とお金かけたのにどの道足止めにしかならなくて、最終的に突破されてやられる、というケースが多いです。

そう考えるとそもそも抗う必要があるのかと、思う人も出てくるでしょう。

どの道、買いたい人は買う。海賊版をやる人は、そもそも買う意図が最初からないのではと。

ただし、私は対策をします。自分の作品を守りたいし、自分の努力結果を、他人に盗まれたくありません。
例え本の足止めだとしても、自分の心を守りたいからです。

と、なにかかっこよく聞こえるかもしれませんが、ま、長くとも半年の足止めぐらいしかできなかったので、私もまだまだです(;^ω^)

では!

あけましておめでとう!と、その他(●'◡'●)

  • 2020/01/13 13:07
  • カテゴリー:経験談

🎍あけましておめでとうございます🎍(遅すぎ)

年明け早々、サイトのサーバー引っ越しなどで忙しくて、なかなかブログ更新できなくてすいません💦

では、大事な報告から発表していきます!

アニメイト店内で『貴方の仮面の外し方』のPVの放映が開始されました!

IMG_1203.jpg

おっと、テレビに何かが写ってる?

近づいてみると・・・

IMG_1205.jpg

お! 黒猫とグランマが?

 やっぱり、こう、実際見るとうれしいですね(❁´◡`❁)(❁´◡`❁)

ちなみにPVは、前にあったものを少し編集しました。

サイトのサーバー(ホスティング)の引っ越し 

なぜ年明け早々? と気になる方もいるかもしれませんが、ま、たまたま更新の通知が来て、確認しましたら、思ったよりも高かったのと、検索したら年末セールで安く借りられるところが見つかりました。

引っ越しで、1~3日間サイトがアクセスできなくなるという話を耳にして、大変だなぁと思ったのですが、そこまでひどくはなくて、データの転送が終わって、実際のサイトのクリック先の変更しましたら、数時間で終わりました。

というか、2~3時間ぐらいでしたね。「お引越しします」と告知して間もなく終わりました(;^ω^) サイトがダウンして、アクセスできなくなることもありませんでした。
ただ.htaccessの設定間違いで、数時間~一日ぐらいゲームのほうのプロテクトがうまく作動できないことがあったのですが、すぐに修正できました。

ドメインも、節約のため、前のホスティングから、グーグルドメインに移動しました。かなり安くなりました。

ちなみに、前と同じくアメリカサーバーのホスティングを選択しました。理由は、安くて、無制限に使える機能(メール、MYSQL.などなど)が多いからです。

思った以上に簡単にお引越しできて安心しました(❁´◡`❁)(❁´◡`❁)

 

とりあえず今年初めの報告は以上となります。

読んでいただいてありがとうございます╰(*°▽°*)╯

ページ移動

  • 前のページ
  • 次のページ
  • ページ
  • 1

ユーティリティ

2020年01月

- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

カテゴリー

検索

エントリー検索フォーム
キーワード

ユーザー

広告

新着コメント

Re:パッケージ版
2012/01/25 from Chu-3
Re:パッケージ版
2011/12/15 from ゆうひ

Feed