「FarCry3」を含む日記 RSS

はてなキーワード: FarCry3とは

2018-05-27

吾輩は無職である。暇だから初めてWebサービスを作ったのである

吾輩は無職である。職はまだ無い。どこで無職になったか、とんと見当けんとうがつかぬ。

何でも薄暗いじめめした所で手斧を投げられていた事だけは記憶している。

吾輩はここで始めて増田というものを見た。

しかもあとで聞くとそれは増田という人間中で一番獰悪な種族であったそうだ。

・・・

まぁ、前置きの冗談はこの辺までとして、前々から作りたいな思っていた

Webサービスを中々時間が取れず作るのを諦めていたのだけど、

まぁ無職になって時間も取れたので作った次第です。

自身プログラミング生業とする職業では無く、学生時代特にプログラミングついて何か

勉強をしていた訳では無かったので一から勉強になりました。

始めたのが昨年末大晦日ちょい前なので、約5ヶ月掛かり、当初想定していた期間より

かなりの時間が掛かってしまい、反省点等含めその辺の事を書けたらなと思います

■やりたい事(実装した事)

ゲームユーザー同士を繋げるマッチングサイト出会い系ではないよ。)

ログイン機能

タスクベースでのチケット管理

・簡易コメント機能

・簡易評価機能ポイント

ステータス動作変更処理

タグをつける

上記DB管理

構成を書いた方が良いと思うので

以下になります

構成

--------------------------------------------

サーバさくらVPS 2G

OS:CentOS 7.5

WebサーバNginx 1.14

WSGI:uWSGI 2.017

FW:Flask 1.0.2

RDBSQLite3 3.7.17

ORM:SQLAlchemy 1.2.7

言語Python 3.6

フロントPure JavaScriptのみ

その他ツール等:Let's Encrypt/fail2ban/等々

--------------------------------------------

上記を見て貰えれば分かるかと思いますが、最近流行りの

フロントエンド技術等は一切入ってはいないです。

ほぼ、既存ベーシックサーバーサイド側の制御のみです。(jsで非同期通信はしてます

SPAとかVueとかの言葉最近知りました。。。

ほぼ開発終わりかけに知ったので、流石に今から構成

変えるのもなと思い、取り敢えず上記です。

■選定理

まずWebサービス作るにあたり、何が必要だろうと思い

まずは開発言語だろうと、プログラミング言語の選定で

RubyPythonかで悩みました。

Rails名前を良く聞くのでRuby on Rails触ったのですが、

Railsには馴染めなかった(扱えなかった)ので

何かマイクロFWの方が良いのだろうと、Sinatraいこうか思いましたが

Railsの印象が強く残った為、Rubyは止めてPythonに移りました。

今度は初っ端からマイクロFWが良いだろうとFlaskのサンプルを試すと

比較プログラミング学者でも扱いやすく覚える事も少ないので、PythonとFlask

の組み合わせで決定。

(気軽にプログラムを書け、自分イメージしている処理や制御を素直に実現できる点が

 書いていて気持ちが良いです。まぁ分からない所も有りますが、そう思わせてくれる点

 が良いです。モチベーション的に)

NginxとuWSGIの組み合わせはFlaskで検索すると一番でてくるのでこれに決定。

SQLite3 はマイクロFWから軽めのDBでたぶん大丈夫だと思ったのでこれに決定

ORM(SQLAlchemy)も検索で一番出てくる為。

■開発概要

・まずPythonの開発環境を整えようとなり、WindowsVagrantインストールして

 仮想マシン環境構築。ゲストOSの中にPyenv等を入れPython環境構築

上記構築後に取り敢えず小さなサンプルから作ろうとなり、簡単CRUDをFlaskで行える様にしました。

 これができた時は嬉しかったです

上記が出来てから、本番の開発に移りCRUDベースにひたすら肉付けていく

ユーザー登録機能作成/ログイン機能作成/ユーザー情報表示/編集機能/チケット作成/及び編集/バリデーション

上記平行してDB機能作成実装/検索機能作成

・細かいViewの調整とスマホ用のView作成レスポンシブルでは無いので)

・本番用のさくらVPS環境構築とセキュリティ用のツール導入とLet's Encryptでhttps

上記以外の細かい調整等含め、約5ヶ月になります

■悩んだ点/反省

・悩んだのがタグ機能周りになるとどうすればよいか、かなり悩みました。

結論を言うとToxi法を使用しましたのですがここにたどり着き、理解するのに結構時間がとられました。

また、実装したらしたで、今度はそのタグ機能検索するとなると検索ワードが1つとは限らないので

クエリーを動的に生成する必要が有り、これも実装するのにかなり時間が掛かりました。

SQL文だけならば比較的すぐに検索でヒットしますが、それをSQLAlchemyでどう実現すれば良いかから

かなり時間が掛かりました。DB設計SQLAlchemyの文法に自信は無いですねぇ。。

・1次情報リファレンスから情報得ることがほとんど出来ず(たまにはできたが)、

他人咀嚼した情報からしか情報を得る事ができなかった。

(恥ずかしながら、咀嚼されなければ理解がおぼつかない状態

Stack OverflowQiita個人ブログが無ければこのサイトできなかったので

自信の咀嚼力強化が必須だと思いました。

作成結構時間が掛かったのでもっと短くしたい

総評

・5ヶ月と時間が掛かりまた反省点も多々有るが、とりあえずサービス公開まで

もっていけた事が嬉しいです。ただただ嬉しい。

・FlaskとSQLAlchemyの情報日本語が少ないので公式リファレンスとStack Overflow

行ったり来たりしたおかげで英語アレルギーがそこまで無くなった。

成果物

・で、作った成果物は以下になります

https://gamesanka.com/

ゲームサンカと言います

オンラインゲーマー向け(e-sports)のマッチングサイトになります

名前安直小学生が5秒で考えたような名前ですが、安直で気に入っています

作った理由は、僕はBF1が好きなのでオペレーションキャンペーンと言うモード

やろうとしたのですが、時間帯が悪いのか過疎なか分からないが全然マッチングしないのですよ。

やりたいのにマッチングしないので出来ないどうしよう、と。

また、昔セールFarCry3をかなり昔に購入した時(既に4が発売済み)にCO-OPモード全然マッチしない事が有り

旬が過ぎたオンラインゲームは中々マッチしなくてほぼシングルモードしか出来ない事は割とあると思うんです。

今だとBF4もかなり人数がいない状態なので特定マップのみとか。

なのでオンラインゲームマルチプレイCo-opで人を集めたい時、PUBGやFORTNITE等バトロワゲームスクワッドを

募集する時、オンラインゲーム大会e-sports)を開きたい時に利用して貰えると嬉しいです。

主に想定ユーザーと考えているのは、FPS/TPS/RTS/MOBA等のPCゲーマーをメインに考えていますCS機やTCGでも

使って貰えると嬉しいです。

あとViewレスポンシブでは無く、PC用とスマホしかなくタブレット用の中サイズViewが無いのでご了承下さい。

タブレット解像度が高い方はPC用で見て頂ける助かります

最後にお願いがあります

僕と一緒に以下のゲームを遊んで頂ける方を募集しています

遊んでも良いよという奇特な方がいましたら当該サイト内でコメント頂けると幸いです

・BF1(PC版)

・Dead by Daylight(PC版)

それでは長々とありがとうございました。

・・・

無職はただ楽である。いな楽そのものすらも感じ得ない。

日月を切り落し、天地を粉韲して不可思議無職に入る。吾輩は死ぬ

死んでこの無職を得る。無職は死ななければ得られぬ。

南無阿弥陀仏なむあみだぶつ南無阿弥陀仏

ありがたいありがたい。

2016-10-18

http://anond.hatelabo.jp/20161018083728

そうじゃないんだよなあ。金のためにベータテストしてるわけじゃないことぐらいわかってるよ。

ActivisionとかInfinity Wardみたいな大手ベンダーがそんな端した金に困るわけない。

恐らく、無料だとすごい人数が押し寄せるので、テストサーバーが負荷に耐え切れず接続障害

ユーザーが離反することを懸念して有料にしたんだろう。

過去に、Overwatchが3日間無料キャンペーンをした時、本番サーバーでしたんだが、

DDoS攻撃新規ユーザーの多重ログインが重なって3日間ずっと無料ユーザーふつうに買ったユーザー接続できず、

新規ユーザーは獲得できない上に、常連ユーザーも離れる結果を招いたし。

有料にしとけばとりあえず、接続できなかったら連打するサーバーの天敵リアルキッズくんたちをある程度、退けられるしな。

俺が危惧しているのは、この前例によって、有料ベータテストをやるベンダーが他に現れること。

例えば、FarCry3体験版日本のみ10円かかる。北米版は無料なのに。

北米版の存在を知っている人なんてごく少数だろうし、まあこれの場合

買っても後で返金してくれるらしいけど、金かかるんなら最初からもうしないや、ってやつが絶対いると思うんだ。

それって機会の損失じゃね?

実際、今の据え置きゲームDLC商法ゲーム通貨システムでどんどんユーザーが減ってるじゃん。

周りで据え置きゲーム話題するやつ、いる? みんなソシャゲばっかりだろ。

COD場合は上のような事情があっての有料と予想されるが、2流、3流ベンダー場合はただの金稼ぎだろ。もしするとしたら。

2流、3流の開発中のゲームを金がかかってまで、しか期間限定しかできないものをしようなんていう狂信者はそうそういないだろうし、

端した金に目がくらんで、将来獲得できたかもしれないユーザーを失うのは、据え置きゲーム市場全体を縮小させることに繋がる。

俺はそれを危惧してるんだ。

グラビティデイズとかちょっと前まで体験版配信してたけど、あれ期間限定配信だったじゃん。

しかプレイ時間一定時間いくとそれ以上遊ぶことができないし。

失礼ながら、あれはそんな大作ゲーじゃないか体験版期間限定にしたところで、

急いでダウンロードしようってユーザー全然増えないと思うんだ。

ただ、偶然見かけたかダウンロードしてみた、っていうのが期間限定だったら

そもそも見かけることすらないんだから、偶然、ってユーザーを獲得できない。

俺はSkate3ってゲーム北米版の体験版を遊んでから購入した。

あれは時間制限こそあるけど、一定時間以上で二度と遊べないなんてことはないから、

面白いと思ったら何度も体験版プレイした後、実際の購入に踏み切る。

有料にするとか、遊べる期間を制限するとか、そんなことをしたら、

無料だったら買っていたかもしれない、配信をずっとやっていたら買っていたかもしれないユーザーを獲得できない。

そういうのをしてほしくないから、俺はCODにそんな前例を作ってほしくないんだよ。

大手のやることが業界に与える影響は絶大だからな。すごく心配

 
ログイン ユーザー登録
ようこそ ゲスト さん