Cocos2d-JS の Scale9Sprite で画像を伸縮する代わりにタイルする方法

こんにちは。

Cocos2d-x/JS では Scale9Sprite という、フレーム画像を9分割し、必要な大きさに応じて角や縁の比率を保ったまま伸縮してくれるクラスがあります。

これは非常に便利なのですが、元画像と使用サイズがあまりにも違いすぎると、伸縮が目立ってしまい、綺麗にならないことがあります。

そこで角や縁以外の画像を伸縮するのではなく、サイズはそのままで繰り返し配置(タイル)してみたところ、かなり改善したので、やったことをメモします。

尚、Cocos2d-x でもできるはずですが、JS のようにクラス継承ルールがゆるくない(private/protected 指定がある) ので、同じように簡単にできるかどうかは不明です。

確認した環境

Cocos2d-JS v3.2

Scale9SpriteTiled

既存の cc.Scale9Sprite を継承して “Scale9SpriteTiled” を作りました。Scale9Sprite が、各辺と中心部を伸縮するのに対して、この Scale9SpriteTiled では各画像をタイルすることで全体のサイズ変更を実現します。

Figure1

変更を少なく抑えるために現在の Scale9Sprite にべったり依存した実装をしたので Cocos2d-JS のバージョンが上がった際に動かなくなる可能性はありますが、まあ大丈夫でしょう・・。

 

<Scale9SpriteTiled.js>

_updatePositions というメソッドは、Scale9Sprite のサイズが変更された時に呼ばれるので、これをフックして必要な処理を行いました。

_top, _bottom, _left, _right, _centre というのは Scale9Sprite のおいて、9分割されたスプライトのそれぞれ 上、下、左、右、中央部分です。四隅に対しては何も変更する必要はありません。

_addChildInsteadOfScaling というメソッドで、各スプライトの拡大率 (scale) を元に、自分自身の画像を必要な数だけ複製してならべます。サイズがぴったりになることはまれなので、最後半端なサイズに対して cc.Sprite のコンストラクタに範囲を指定してサイズを合わせます。

最後、もともとの引き伸ばされているスプライトは不要なので、不可視にします。

使用例

実際に現在制作中のゲームに使用する予定の枠の素材でやってみます。

FrmDate

 元画像

これを Scale9Sprite と Scale9SpriteTiled で拡大した結果が以下の画像です。

 

Screen Shot 2015-10-13 at 11.57.16 AM

Scale9Sprite

 

Screen Shot 2015-10-13 at 11.57.24 AMScale9SpriteTiled

この画像では Scale9SpriteTiled のほうが綺麗になってますね!

以前『ネット上で公開されているコードをコピペする前に確認すべきこと』とか偉そうなことを書いたので名言しておきますが、この Scale9SpriteTiled.js は自由にコピペしてお使いください。その際、一声かけていただけると嬉しいですが、必須ではありません。

今回は以上です。

vim を less とか more の代わりに使うと便利

こんにちは。

久しぶりに小ネタ書きます。

プログラマーの皆さんはコマンドライン(ターミナル)で作業されることも多いと思いますが、コマンドの結果が長くて1画面に収まらない場合どうしているでしょうか?

「スクロールしてターミナルの履歴を見る」でもよいですけど、ターミナルの設定によっては見たい結果がバッファに残ってなかったりしますよね。あと検索できないのが辛い。

なので less とか more というコマンドに渡して見る方法が一般的なのではないでしょうか?
less だと “/” を押せば検索もできますし。

しかしこの less なんですけど、なんとなく vim っぽい操作性でありながら vim ではありません。

そこでいっそのこと vim を less の代わりに使えばいいのではと思いついて、5年くらい前からやってますが、いい感じなので紹介です。

「そんなの普通にやっている」という方はスルーしていただけるとありがたいです。

確認した環境

Max OS X Yosemite 10.10.5

やり方

vim はファイル名として “-” (マイナス記号) を指定すると、標準入力を編集対象にできます。また、vim は “view” という別名を持っていて、この名前で起動するとリードオンリーモードになります。

この2つのオプションを使えば vim を less の代わりのページャーとして使えます。具体的には、

$ ls | view -

などのようにします。

こうすれば、検索はもちろん、vim の機能がすべて使えるのでいろいろ便利です。

使用例

例えば Cocos2d-x のソースファイルの一覧を見たい場合、

$ cd cocos2d-x-3.8
$ find . | view -

このようにします。すると結果は以下のような感じになります。

Screen Shot 2015-10-10 at 12.54.03 PM

14,787行もでました。

しかしここは vim ですので、あとは何でもできます。例えばこのなかに “SpriteBatchNode” を含む行だけを残したい場合

:%!grep SpriteBatchNode

などと打てば、(「リードオンリーですよ」って警告は無視)

Screen Shot 2015-10-10 at 12.57.23 PM

となりました。
クラス SpriteBathcNode に関連する C++, JavaScript, lua のファイルが6件あったってことですかね。

さらに例えばファイル名は不要で、ディレクトのリストにしたい場合は、ここから

:%s/[^/]*$//

とかやって、

Screen Shot 2015-10-10 at 1.03.39 PM

重複した行は

:%!uniq

などで消せるので

Screen Shot 2015-10-10 at 1.05.31 PM

こうなりました。
これでディレクトリのリストができました。自由自在です!

上記のように結果を編集してしまうと終了時に怒られるので、結果が不要な場合は

:q!

のようにします。

というわけで vim を less の代わりに使うのはおすすめです。

組立式35倍の望遠鏡+iPhone6で月の写真撮ってみました

こんにちは。

科学史をテーマにしてゲームを作ったりしていますが、調査と称していろいろな分野のサイトを覗いています。

先日たまたまこんなサイトを見つけました。

星の手帖社
http://business3.plala.or.jp/starbook/

 

Screen-Shot-2015-10-03-at-11.16.40-AM

35倍の天体望遠鏡・・・、3千円・・・。

天体望遠鏡というと、何万円もするマニア向けのものだと思っていましたが、3千円くらいで35倍とか言う結構すごそうなのが買えるとは知りませんでした。

というわけで、気づいたらポチっていました。

組み立て

写真 2015-10-02 23 15 19

届いてからしばらく放置していたのですが、昨日やっとその気になったので開封!

写真 2015-10-02 23 24 27

レンズが4枚入っていていい感じ・・・。

尚、1枚に見えるレンズも、実際には2枚のレンズが貼り合わされてできている「アクロマートレンズ」(色収差低減レンズ)とのことです。アクロマートレンズは Wikipedia によると1729年ごろ発明されたものなので、ニュートンの時代にはなかったものです。そんな優れものがこんな安価なキットに含まれているとはいい時代になりました・・・。

組立は簡単です。工具もいらない。接着剤もいらない。

「10分で完成!」は看板に偽りなしです。

写真 2015-10-02 23 34 04

最後にシールを貼って完成!

写真 2015-10-02 23 41 46

三脚に乗せると結構それっぽい!

写真 2015-10-03 12 30 50

これで3,056円は安い!!

ひとつ注意点があります。カメラ用でもなんでもよいのですが、三脚は必須です三脚がないと手ぶれでまともに観測できません。三脚がない方は、2千円くらいのやつでいいので一緒に買いましょう。

観測

さっそく自宅のベランダに出て観測しました。

この日は2015年10月2日、場所はさいたま市某所です。

写真 2015-10-03 0 02 52

おお、結構よく見える!

せっかくだから iPhone6 で写真とれるかな〜と思い、特に固定などせず接眼レンズのところに iPhone 持って行ってパシャパシャ撮ってみました。

一番きれいに撮れてたのがこれ!

写真 2015-10-02 23 59 22

クレーターもしっかりと確認できますね!

4日前が「中秋の名月」だったので、満月に近いかなあ〜と思ったんですけど、すでに結構欠けていました。月の満ち欠けも速いんですね・・・。

満月の時に撮ればよかった・・・。

しかしこれは癖になりそう!

「倒立像」について

尚、この望遠鏡は「倒立像」です。上下左右逆さまに見えています。(逆さまにならない「正立像」の望遠鏡は、構造が少し複雑になるので少し高級品になります。)

上下は逆さまになるのはわかりやすいですが、左右はどうなの?とちょっとわかっていませんでしたが、ガソリンスタンドを見てみてわかりました。

写真 2015-10-02 23 53 50

ちょっと写真では見えにくいですが、「セルフ」と読めますよね。鏡像になっていないということは、上下だけでなく左右も逆になっているということですね。180度回転させれば日常的に見ている像になります。

感想

たったの3,056円(三脚お持ちでない方は+2,000円) でここまで見える望遠鏡が買えるとは知りませんでした。買って大正解。

iPhone のカメラを接眼レンズのところに持って行ったら結構きれいな写真が撮れたのも驚きです。専用の器具とか、画質にこだわらなければとりあえず必要なさそう。

説明書きによると「土星の輪の存在が確認できる」そうなので、天気の良い日に挑戦してみたいと思います!

 

誰にも聞かれていませんが9月のブログアクセスはこれくらいでした

こんにちは。

今日から10月です。書くこともないので当ブログ9月のPVの内容を報告させてください。

内訳(月別)

まず月別の内分け。

記事数 PV AdSense
2015年6月 19 8,341 ¥1,292
2015年7月 9 6,724 ¥1,012
2015年8月 5 17,520 ¥2,517
2015年9月 7 8,071 ¥1,198
合計 40 40,656 ¥6,022

9月は特に拡散されるような記事も書けなかったので、過去の記事と後述する「ゲーム開発とは関係の無い記事」でPVを稼いでいた感じです。

ついでに AdSense 収益も併記しました。

プロブロガーの存在を、自分は信じません。

内訳(記事別)

よく読まれた記事TOP10は以下の通り。

1位と2位が全くゲーム開発と関係無い記事なので、ブログのアクセスが欲しいならゲーム・アプリ開発ネタは不向きという事実を再確認してしまいました。

 

Screen Shot 2015-10-01 at 10.32.27 AM

 

【1位】 中国・天津の爆発と核爆発のエネルギーを比較してみた

先月からじわじわとオーガニック検索アクセスされている記事。9月も毎日平均80PV稼いでいますね。(8/19)

【2位】 日本初上陸!本格中国火鍋『海底撈火鍋』池袋店に行ってきた!

これもオーガニック検索でよくアクセスされてます。池袋にオープンしたての某中国火鍋店に連れて行ってもらう機会があり、ネット上に情報が少なかったのでブログに書いてみました。9/23〜30の1週間で1200PVなのでなかなかの集客力。アプリと全く関係ありませんが・・・。(9/23)

【3位】 トップページ

今月はトップページ (tomeapp.jp) にアクセスしていただくことが比較的多かった気がします。おそらく、9/19 の INDIE STREAM FES 2015のライトニングトークで登壇させていただいたからだと思います。

その時 24時間限定公開した PRINCIPIA PERFECTUS は 145人の方がプレイしてくれた形跡(月間アクセス9位)があります。ありがとうございます!

 

今後の方針・・・

当ブログの目的は「ゲーム・アプリの宣伝」なのですが、まったく関係無い記事がアクセスを稼いでいることがかなり明確になってきました。それもありなんですかね・・・。

今のところ、ブログがどれだけ宣伝になっているかは疑問ですが、気分転換としては最高に役に立っています。

当面はゲーム開発の息抜きブログ(?)として続けていきます。

日本初上陸!本格中国火鍋『海底撈火鍋』池袋店に行ってきた!

こんにちは。

池袋東口に突如として出現し、その割にはぐぐってもあまり情報がでてこない謎の中国火鍋店に連れて行ったもらったので、食レポします。

『海底撈火鍋』とは?

海底撈火鍋(かいていろう ひなべ)は中国では有名な高級火鍋チェーン店で、中国の公式サイトによると北京・上海・深圳などに中国国内に100店舗以上あるようです。海外進出もしており、アメリカ・シンガポール・韓国にも出店しています。

海底捞火锅 (中国語)
http://www.haidilao.com/index.php

Screen Shot 2015-09-23 at 1.10.33 PM

火鍋のメインは牛肉だと思いますが、この「海底撈」は名前の通りシーフードも充実してます。ちなみに「撈(ろう)」という字は、「すくい上げる」という意味があります。

なんか気になる名前だと思ったら、麻雀の最後のツモで上がった時の役が『海底撈月(ハイテイラオユエ)』でした。1文字足りませんが。

予約は・・月末までいっぱい?

その有名店が日本に上陸するとのことで、日本在住の中国人が歓喜して殺到しているようです。

しかし予約をしようとしても日本語の公式ページは見当たらず、ぐるなびとか食べログとかにも情報は見当たりません。

いろいろ探してみたところ、以下のページを見つけました!

海底捞火鍋日本1号店がオープンしたアル – アジアビジネスなう
http://iyota.asia/haidilao

どうやら2015年9月11日にオープンしていたようです。

2015年9月20 日に予約しようと電話してみたところ「予約は今月はいっぱいです。来月分なら可能ですがどうしますか?」との回答・・・。ネット上などの告知を(おそらく)全くしていないのに予約がいっぱいとはすごいです。中国国内での人気がうかがえます。

しかし「夜の部は17:00開店で、16:30頃から並んでいただくことは可能です」とのことだったので、並んでみることにしました。

開店15分前に行ったら「2〜3時間待ち」と言われた・・・

2015年9月22日に4名で開店前から並ぼうと池袋に向かいました。ちょっと迷ってしまい、着いたのは16:45頃でした。

パチンコ屋さんPREGOが目立つビルの5・6階です。正面ではなく裏通り側のエレベーターに乗らなければならないので注意。

写真 2015-09-22 16 55 10

エレベーターで5階に上がってみると、受付前はすでに人だかりでした・・・。

受付をしたところ、番号札44番を渡されて(すでに43組待っているってことかな・・)「19〜20時くらいに入れると思うので、そのころ来てください。」とのことでした。

仕方ないので池袋の街で時間をつぶして、19時ちょっと前に店に電話したところ「今40番まで案内しています」とのことだったので、店に戻りました。結局19時くらいに着席できました!

店内

店内は、5階の天井を取り払ったと思われる吹き抜けになっていて、広々としており、綺麗でした。中国の本気を見ました。

写真 2015-09-22 19 03 24

お客さんは半分以上が中国人だったと思います。東京の真ん中で飛び交う中国語・・・。

スタッフは日本人も中国人もいました。

4人席では、各席に専用の鍋が設置されており、個別に温度が調節できました。これって日本では見たことないです。

写真 2015-09-22 19 19 10

自分で好きなタレをサラダバーのようなテーブルからもってきて、使います。ご飯も食べ放題。たぶん。

注文は各テーブルに置かれた iPad で行えます。アプリのプロ(?)としては、操作性に疑問を感じながらの注文。

言語は中国語、日本語、英語から選択可能です。

写真 2015-09-22 19 11 35

あと、なんか店内で麺をこねている職人がいました。

写真 2015-09-22 19 22 22

なんかあんまり料理の写真撮ってなかことに気づきました。

料理が美味しくて写真を撮る暇がなかったとお考えください・・。

4人で心ゆくまで飲み食いして、1人7000円くらいでした。結構なお値段なので、あんまり頻繁には行けなさそうですが、特別な日などにはいいかもしれません。

店舗情報

■ 店名: 海底撈火鍋(かいていろうひなべ)

■ 営業時間: 11:00〜(昼の部)/ 17:00〜24:00(夜の部)

■ 電話番号: 03-5956-9666 / 03-5956-9668

■ 住所: 東京都豊島区南池袋1-21-2ヒューマックスパビリオン南池袋5F

■ 地図:

 

INDIE STREAM FES 2015 ライトニングトークに参加してきました!

こんにちは。

2015年9月17日(木)〜20日(日) まで幕張メッセで東京ゲームショウ2015が開催されていました。

で、それに合わせて2015年9月19日(土) 18:30 から、同じ幕張で INDIE STREAM FES 2015 と言うイベントが開催されていました。

そのなかのコーナーの1つでライトニングトークと言う、自分のゲームを2分間宣伝できるという素晴らしいコーナーがあることを教えていただき、申し込んでみたところ枠を1つもらえました!

どんなイベントなのかもよくわからないまま参加し、発表してきましたのでどんな感じだったか紹介してみようと思います。

INDIE STREAM FES 2015 とは?

国内外のインディークリエイターが集まり、互いに刺激し合える場として、インディーデベロッパーのためのサイトが集うための場所の提供を目指して開設されている INDIE STREAM 様が主催するイベントです。

クリエイターとしての参加か、パブリッシャーおよびその他の関係者としての参加が可能ですが、TGSの一般公開のような「一般参加」はできません(!)。チケットは一人4,000円でしたが、立食パーティー形式でお酒も飲み放題でしたし、確実に元が取れます!

自分はもちろんクリエイターとして参加です!

当日の様子

会場は幕張メッセの最寄駅の海浜幕張の目の前でした。

TGSが17:00までなので、TGSに参加した流れで二次会的に参加した人が多かったのではないかと思います。自分は前日にすでに回っていたので、この日はこちらの会場に直行でした。

2015-09-19 18.33.16

250人分のチケットが完売していたそうなので、それくらいの人数がいたようですね。

結構な人口密度・・・!

2015-09-19 19.13.15 写真見てわかるかもしれませんが、外国の方が結構きてました。

プレゼンも英語でやったほうがいいのかな〜と思いもしましたが、英語でやると日本の方に分かりにくくなると思ったので、日本語でやりました!(けっして英語でできなかったわけではありません、たぶん・・)

開始前からアルコール飲み放題で、参加者がいい感じにできあがってきたあたりで、開会の挨拶から始まりました。

最初に INDIE STREAM AWARDS 受賞作の発表と表彰が行われていました。来年は自分もこっちにノミネートしてみたいなあ・・・。

2015-09-19 18.47.52 で、スポンサー企業様たちのお話などもあり、いよいよその時間が近づいてきました。

ライトニングトーク!

自分は20組中2番目に登壇という、緊張する時間が短めのよい順番でした!

宣伝したのはもちろん「PRINCIPIA PERFECTUS」です! プレゼン資料はこんな感じ。(SlideShare とかにあげちゃおうかな?)

Screen Shot 2015-09-22 at 1.21.03 PMScreen Shot 2015-09-22 at 1.21.21 PMScreen Shot 2015-09-22 at 1.21.37 PMScreen Shot 2015-09-22 at 1.23.00 PM

発表時の写真は・・・、無いです。撮ってくれる人がいなかったので・・・。(どなたか持っていたらください!)

肝心のプレゼンは、2分間オーバーしてもちょっとしゃべってしまい、司会の方に「時間過ぎたら新しいページに行かないでくださいね!」みたいに怒られてしまいました。すみません・・・。

他の皆さん、ほとんどの方が2分にきっちり収めてきてたので、ちゃんと練習してきてるんだなあという感じでした。いや、自分も机の前でブツブツいいながら練習しましたけど、いろいろ発表内容を微調整しているうちにうやむやになっちゃってたんですよね・・・。

発表後

そのあとのことはよく覚えていませんが、結構話を聞かずに勝手に交流している人が多かったです。酒飲んでますしね・・・。しかしそれこそがこの INDIE STREAM FES の醍醐味だと感じました。

会場で Rogue Ninja などの作者 Q-Cumber Factory さんにご挨拶できました!去年の INDIE STREAM AWARD で受賞されている方です!

他にも何名かの方にご挨拶したのですが、あんまりじっくり話せなかったので、覚えてくれているかは不明です・・・。

帰りに Unity ボールペンUnreal Engine グラスもらいました!

写真 2015-09-22 13 48 34

感想など

インディークリエイターの方々の熱いモチベーションを感じるには十分すぎる機会でした!料理も美味しかった!

あと外国の方が多い(20%くらいは外国の方だったんじゃないですかね?)のも印象的でした。もし次回があればプレゼンは頑張って英語にしようかな・・・。

ライトニングトークの宣伝効果ですが、自分のプレゼンがグダグダだったり、肝心のゲームがまだ未完成(むりやりアルファ版と称してできてるところまで公開しましたが)だったりしたこともあってか、今の所あんまり手応えはないです。

しかしこんな感じの積み重ねが大事だと思っていますので、こういったイベントには機会があればどんどん参加していきたいなあと思います!

【9/19限定】PRINCIPIA PERFECTUS アルファ版を公開します

こんにちは。

本日2015年9月19日(土) に幕張で INDIE STREAM FES 2015 というインディークリエイターのイベントが開催されるのですが、そのなかにエントリーしたクリエイターが自分のゲームを宣伝できる「ライトニングトーク」というコーナーがあります。幸運にも自分もここで2分間宣伝する機会をいただいたので、これからしゃべりに行ってきます!

宣伝するのはもちろん現在開発中の「PRINCIPIA PERFECTUS」(プリンキピア・ペルフェクトゥス)です。それに合わせて、PRINCIPIA PERFECTUS のアルファ版を Web 上で公開しました!!

 

【24時間限定公開】PRINCIPIA PERFECTUS アルファ版(ブラウザバージョン)

Screen Shot 2015-09-19 at 1.27.55 PM

完成品は Windows/Mac OS 用にしてリリースを予定していますが、気軽に試していただけるように Web アプリとして公開しています。

(※24時間後を目処に、9月20日(日) 14:00ごろ公開停止する予定です)

よろしくお願いいたします!

————————————————

【2015/9/20 14:00追記】公開停止しました。11月の正式リリースにご期待ください!

プログラマー歴20年ですが goto がどんなに有用なのか聞いてほしい

こんばんは。

ちまたの新入社員教育では「goto を使うとプログラムが汚くなるから使用禁止ね」と教えられ、会社では goto の入ったコードは忌み嫌わせているようです。自分も20年くらい前に入社した会社でそのように教えられた記憶があります。しかしいまいち納得がいかないまま今に至っています。

以下に、自分が知る限り「goto を使ってよかった!」「goto を使ったら彼女ができました!」「gotoを使い始めてからパチンコも勝ちまくりです!」といった事例をあげていきたいと思います。例によって反論は歓迎しますので、一緒に正しい結論にたどり着きましょう!

なお、言語は限定しませんが、C/C++ での例をあげていきます。

多重 for ループからの脱出に有用

まずは1番わかりやすい例です。普通の for ループだと、break で抜け出すことができますが、for がネストした2重以上のループの途中で、その一番外のループから抜け出したい場合、どうしたらよいでしょうか?goto を使うと美しく記述できます。

goto を使わない場合、そのためのフラグを用意する必要が出てきます。 これは goto をつかった記述とどちらが美しいですかね?

エラー検知時の処理に有用

次に外部システムとのやりとりを行う関数中でのエラー処理を考えてみましょう。一連の処理の途中、復旧不能なエラーに遭遇し、処理をあきらめる場合に goto が便利です。

 

gotoを使わない記述では、フラグを用意するくらいしか思いつきません。やはり goto のパワフルさが際立つ一例です。

[※2015年9月7日 @ooee81 さんのご指摘に従い、return では実現できない例になるよう、エラー発生後に共通の処理を追加しました。]

ユーザー対話式処理の記述に有用

アクションゲームではあまり必要になりませんが、ユーザーの入力にしたがってシナリオを進めていくようなRPGのような処理を記述する場合、goto が欲しくなりますよ。

ユーザーがキャンセルしたときに、1つ前の選択画面に戻る必要があると思いますが(この例では、攻撃を選択した後、攻撃方法の選択でキャンセルした場合)それってgotoを使う記述がもっとも適していると思うんですよ。

例外でも似たようなことできるんじゃないですか?

場合によってはできます。しかし例外は関数を飛び越えられるので危険です。特にC++ではメモリリークの元。まあガーベージコレクションのある処理系(例:Java)なら例外でもいい場合もあります。

Linuxの作者も goto が大好き!

「そんなこと言ってるのはあなたくらいじゃないですか?」と言われそうなので、goto大好きな有名人を紹介します。泣く子もだまるLinuxカーネルの開発者リーナス・トーバルズさんです。

Screen Shot 2015-09-07 at 9.07.12 PM

2015年9月7日現在最新のLinux カーネルのソースコードの一部をみてみましょう。

goto がいっぱい!\(^o^)/

https://github.com/torvalds/linux/blob/master/kernel/signal.c

Screen Shot 2015-09-07 at 9.08.56 PM

 

別に彼が goto を使っているから使っていいんだと言うつもりはありませんが、世界的なプログラマーが世界中で使われているコードの中で goto を多用しているという事実は興味深いと思って紹介しました。

まとめ

Linux 開発者のリーナス・トーバルズは goto 大好きらしいです。

そうは言っても、使い方を間違えると、わかりにくいプログラムを生み出す元になるのはご存知の通りですので、むやみに使うべきではありません。

というわけで嫌われ者の goto ですが、言語によっては(特にC/C++)時として有用だと思います。

【宣伝】会社作るのやめてゲーム作り始めました!

こんにちは。

さいたま市の創業相談会に行ったら「まず会社作らなくていいからゲーム作りなさい」と言われた」というブログが Togetter などで拡散されてから、早いものでもうすぐ3ヶ月。

遠い昔の話になりつつありますが、その後どうしているか、誰にも聞かれていませんが、自主的に書いてみました。

会社つくるのやめました

自分は「起業=会社設立」だと思っていたのですが、そもそも個人事業という形態であれば、会社にしなくてもほとんど不利なことはない、という事を知りませんでした。逆に言えば、会社を作っても、あまり有利にならないと言ってもいいかもしれません。

知らなすぎて恥ずかしいですが、なんとなく会社にすればお金を借りやすいとか、認められる経費が多いのかな、と思っていたのですが、そもそも実績がないと会社にしてもお金が借りやすくなったりしないようですね・・・。

ですので、アドバイスに従い、まずは個人事業としてゲームを開発することを決意しました。

ゲームを作り始めました

会社を辞めてまでゲームが作りたかったわけですが、なかでも1番作りたかったものを作り始めました。

別ページの「過去公開したソフトウェア (スマホアプリ以外)」にも書いてあるのですが、15年前の2000年に開催された第4回アスキーエンタテインメントソフトウエアコンテスト(通称Aコン)で準グランプリをいただいた「PRINCIPIA(プリンキピア)」という作品があります。

2582af1f56f13ccad070fe1da30dae75

17世紀の科学者をテーマにしたわりと珍しいゲームで、自分の知る限り発表から15年経ったいまでも、似たような作品はみかけません。(マニアックすぎて売れなさそうだからでしょうけど・・・)

この時の PRINCIPIA は、グラフィックは自分で書き、音楽はフリー素材を使わせてもらい、制作期間も短く、本来目指した完成度には達していませんでした。

この PRINICIPIA の「完成版」を作り始めました。

PerfectusNewton1

(※画面は開発中のものです)

タイトルは PRINCIPIA の完成版という意味のラテン語で『PRINCIPIA PERFECTUS(プリンキピア・ペルフェクトゥス)』にする予定です。

PRINCIPIA PERFECTUSの現状

いろいろあって本格的に制作を始めたのは先月(2015年8月)です。2015年9月5日時点で、完成度は10%と言ったところです。

ディレクションとプログラムは自分で行っています。

音楽に関しては、椎葉大翼さんが担当してくれることになりました。ありがとうございます!

グラフィックに関しては、グラフィック制作会社様やクラウドソーシングを利用しながら制作していただいています。(現在もランサーズ様にて仕事依頼中ですので、興味がある方はご提案をお待ちしてます!)

先日、インディーゲームデベロッパーのためのサイトを運営されている INDIE STREAM 様にページをお借りすることができたので、紹介用のページを作らせてもらいました。ありがとうございます!

tomeapp – INDIE STREAM
https://indie-stream.net/userpage/tomeapp

Screen Shot 2015-09-05 at 3.44.21 PM

とりあえず紹介用の(簡単な)動画や、画面イメージを置かせていただきました。

開発費はどうしてるの?

会社員時代の貯金を切り崩して、グラフィック等発注しています。
不安しかない・・・・。

今後の予定

というわけで、PRINCIPIA PERFECTUS はまだ全然完成してないのですが、

2015年9月19日(土)に幕張で行われる INDIE STREAM FES 2015ライトニングトークというコーナーがあるそうなので、参加を申し込んでしまいました。もし採用していただけた場合、2分間、自分のゲームを宣伝できるそうなので、まずはそれを目標に開発しています。(もう2週間しかないのか・・・・

その後、

2015年11月15日(日)に秋葉原で開催されるデジゲー博においてWindows/Mac用の完成版を販売することを目標にしています。(ゆくゆくは iOS/Android版も出したいです)

計画性もあまりなく、思いつきでどんどん進んでいるので、不安しかありませんが、人生は時としてノリで進めるしかないと思っています。

皆様のご支援よろしくお願い致します!

 

ネット上で公開されているコードをコピペする前に確認すべきこと

こんにちは。

佐野研二郎氏による2020年東京五輪エンブレムのデザインがパクリではないかという疑惑が持ち上がり、ついには使用停止に追い込まれました。

さて、アプリ開発をやっていると、ことあるごとに問題に遭遇し、その度にググっている(Google検索している)という方が多いとおもいます。その際に検索して見つかるコードを、自分のコードにコピペしてよいのでしょうか?

肌感覚ではだいたいわかっているつもりですが、せっかくなので明文化してみました。(問題等のご指摘歓迎します)

公開する予定のないアプリへのコピペ

もしコピペする先が、なんらかのテスト目的などで、公開する予定のないアプリの場合、問題はありません。がんがんコピーして使いましょう。

特に何かの機能が実現できるのかできないのか、本格的な開発に入る前のフィージビリティテスト(実現性試験)はこのケースに当てはまります。

注意すべき点は、「最初は公開するつもりでなく作成したコードを、いつのまにか公開する本番コードにも使ってしまった」ということがいかにも起こりそうなことです。特に会社で開発している場合、前担当者が作ったコードなどを引きついだ場合などもちょっとリスクがあります。

「公開する予定がない」というのは、言い換えれば「それで儲けないし、他人の儲けも阻害しない」という意味です。

公開する予定のあるアプリへのコピペ

会社の仕事などでコード開発している場合、コピペして良いかどうかはケースバイケースです。以下いくつかの例を考えてみます。

使用条件(ライセンス)が明記されていない場合

技術ブログなどで「個人の覚書です」などとだけ書かれていて、使用条件(ライセンス)についての言及がないことがよくあります。この場合、そこに掲載されているコードをコピペして良いかどうかは、それを公開している人(ブログ作者)にメールなどで「あなたが公開しているコードを、会社で使用するコードに部分的に使用したいけど問題ないですか?」と確認するのが確実です。しかし自分はそこまでやることはないです。じゃあどうしているかは後述します。

使用条件(ライセンス)が明記されている場合

技術ブログなどで「本ブログのコードは自由に使用してください」などと明記されている場合、ほとんど問題は発生しないはずです。コピペしましょう。(この場合、リスクは0ではない)

もちろん「無断転用などは禁止です」と書かれていたら、だめです。

オープンソースソフトウェアのコードの場合

GPL, Apache ライセンス、MIT ライセンスのもとで公開されているコードの一部を使いたい場合は、「コードの改変」に相当するため、ライセンス規約にしたがう必要があります。

GPL ライセンスのコードを使ってしまうと、自身のコードも GPL のもと、公開する義務が発生します。おそらくアプリ開発においてはこれは受け入れ難いはずです。コピペはあきらめましょう。

Apache, MIT ライセンスの場合、自身のコードには同等のライセンスを適用する義務はないですが、もともとのコードの著作権情報とライセンス情報を、わかりやすい場所に表示する必要があります。たとえばアプリであれば、アプリの著作権表示に「このアプリはXXXXXのコードを使用しています」などと明記する必要があることになります。個人的には、ほんのちょっとのコピペのためにこのような義務が発生するのは、のちのち負担になるので、あまりやりたくはないです。しかしコピペは禁止されてはいません。

(参考ページ)

ライセンスの選択を恐れる必要はありません – Qiita
http://qiita.com/tadsan/items/99d816e78ca429093b75

じゃあどうすればよいのか

あなたが開発しているアプリが会社名義で公開予定であったり、ものすごい利益をもたらす可能性がある場合は、基本的にコピペはしないほうが確実です。

コピペはばれます。ソースコードのままだともちろんですが、コンパイルした後でも場合によってはばれます。ダウンロード数が10とかのアプリなら、そもそも調査されないと思いますが、まちがって何億、何十億の利益を生んだり、あるいは他人の利益を阻害したりすると調査される可能性がでてきます。

自分の場合は以下の方法を取っています。

  1. コピーしたいコードを100%理解する
  2. 理解した内容を、自分のコーディングスタイルで一から書く
  3. それでも結果としてまったく同じコードになってしまった場合、「このコードは標準的な技術を持つ技術者であれば、別個に思いついた可能性がある」と判断して、そのまま使う

「自分のコーディングスタイル」というのは、たとえば変数名や関数名などです。コピペがクロ認定されるのは、だいたい「こんな変数名、普通つけないだろ」というのがかぶってたりする場合です。(ただし変数名だけ変えろと言っているのではありません。)

ここまでやっておけば、万が一裁判にでもなったりしても、まず問題ないはずです。

まとめ

  • 公開予定のないものへのコピペは問題ないが、意図せず公開されることもあるので注意。
  • コピペは他人の利益を阻害する可能性があるので特に許可された場合以外やってはいけない。
  • コピペしたいコードは、そのコードを自分で100%理解して、自分で一から書くべき。

 

1 2 3 4 5 7