FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ポッ拳ロビーというWebサービスを作った話

最近ポッ拳ロビーというWebサービスを作ったので、忘備録として諸々を書き残しておこうと思う。
概要ポッ拳シリーズを用いた対戦交流Webサービス
URLhttp://pokkenlobby.com/
サーバーさくらインターネット
使用技術HTML.CSS,PHP,JavaScript,MySQL
お世話になったサイトキノコログ,ドットインストール,teratail
共同制作者姉(ロゴ制作)




-動機



私はポッ拳DXが発売されてからというものポッ拳に夢中になり、毎日のようにプレイしていた。そして2017年11月ごろにランクマでB5くらいに到達したと思うのだが、この時点でランクマへの不満があった。

不満は主にラグに関してだった。 ランクマでラグが発生して満足な操作ができずに負けて、大きくポイントを奪われてしまうことがままあったのだ。また海外の方と対戦して、これまたラグのせいで自分の実力が発揮できずに負けてしまうことが少なくなかった。 同帯の人に辛勝して得たポイントがラグによって溶けていくのはとても虚しいし、ストレスが溜まるし、面白くなかった。

そこできちんと実力が反映されるランクマのようなものがあったらもっとポッ拳を楽しめるようになるだろうと考え、ポッ拳ロビーを作ろうと思い至った。
もちろんこの時頭にはスマメイトの存在があり、これを目標に作ろうと思った。

到達目的は快適に対戦できるレーティング環境を作ること。そのために2先にしたり、回線相性が悪い人は簡単にブロックできることは必須だった。 ついでにそれがポッ拳プレイヤーの強さの一つの指標になればいいな、と思っていた。



-日記



- 2017.11

作りたいなーと思った。

-2017.12

思ったのはいいものの、そもそもそのようなシステムを構築する知識も能力もなかった。当然一から勉強することになる。 主に勉強したのはHTML,CSS,PHP.JavaScript,MySQLである。これらを勉強したのは、スマメイトがこれらで作られていると、制作ブログに書いてあったからである。

主に近くの書店で購入した書籍と、ドットインストールを用いて勉強した。もともとプログラミングに関する知識は少しあったので、スムーズに学習することができた。

-2018.1

学生に襲いかかるもの、それはテストとレポートである。 ということでこの月はポッ拳ロビーどころではなかった。

-2018.2

待ちに待った春休み。この春休み中に公開しようと決めていた。というかそうしないと、また大学が始まって公開どころではなくなるからである。

スマメイトを参考にしてサイトの構成を決め、セコセコセコセコ来る日も来る日もパソコンの前に座ってコードを書いた。参考書や勉強サイトとにらめっこしながら書き進め、毎日新しいエラーを発生させながら少しずつ少しずつ作って行った。

この月が終わる頃には、マッチングシステム自体は既に完成していた。

また自分を追い込む意味も込めて姉にポッ拳ロビーのロゴ作成を依頼した。これは自分の想像を上回るかっこよさで、このロゴを使うためにも完成させなければと思ったのを覚えている。またこの一件で姉に久々に怒られたのも、緊張感を高めるのに一役買ったように思う。
これがなければ今もポッ拳ロビーは公開されていないかもしれない。本当にありがとう、マイシスター。

兎にも角にも、ここまではおおよそ順調に制作は進んでいた。

-2018.3

ここで一つ大きな壁にぶち当たる。それがチャットシステムと、対戦相手が来たことをブラウザに表示する機能であった。 どちらも自分以外のユーザーの操作に反応して何か動作を起こす、というもだ。これが全くさっぱりどうすれば良いかわからず、teratailで質問すると「PHPではなくNode.jsを勉強するといいよ!」というアドバイスをもらったので、素直にNode.jsの勉強をした。

しかしよく調べてみるとNode.jsを動作させるためにはレンタルサーバーでなくVPSが必要だということで、まあ勉強かと思いえいやと2ヶ月くらい借りてみるものの、やはりよくわからず、セキュリティがとても不安だったのもあり今回はレンタルサーバーでできる範囲でやってみようと決意した。

そうこうしているうちに春休みの終わりが見えて来たので、急いでレンタルサーバーを借りて実際にテストをしてみて、色々と細かい修正を加えたり、サイトの体裁を整えたりした。
そしてもうとりあえず公開しちゃえ、どうせ学生の工作じゃ、ということで、全く良いサービスだとは思えなかったが、3月31日に公開した。

-2018.4

ようやく公開、めでたしめでたし。
とはもちろん行かなかった。運用していくにあたって問題が多すぎたのである。

もっと正しく言えば、Twitterでこのサービスを公開したと投稿したところ自分の想像を超える反響があり(200RTを超えた時は本当に驚いた)、こんなしょぼい機能しかないサービスはきっと期待に応えられない、もっと頑張らねば、と思い機能の追加を行っていった。その結果未熟さが露呈し、エラーを吐きまくることとなってしまったのである。

小さなエラーは今でもたくさん発生していると思うし、これからもメンテナンスを続けて行こうと思っているが、特に酷かったミスがある。それについて戒めとして書いておこうと思う。

4月1日のお昼頃のことである。私はその日ある機能の実装に明け暮れていた。
その機能とは、対戦相手は現れたときにその旨をブラウザに表示する機能であった。これは以前PHPでは実装が難しいと諦めたものであったが、さらに調べてみるとcometという技術を使えば実装できるかもしれないということが判明したのである。
これはいいことを知ったと、その調べたサイトを参考にしながらコードを書き、よしできたとファイルをアップロードし、テストしてみるとなんとまあ、本当に対戦相手が表示されるではありませんか。
これは今晩にでも良い報告ができそうだと上機嫌になったのですが、次の瞬間。
データベースにアクセスできなくなりました。もちろんサイトはダウン。
そんなあと思いエラーコードを調べてみると、どうやらクエリが溜まって接続可能人数の上限に達してしまっているとのこと。原因はすぐに判明し、while条件文が甘かったせいで無限ループに入ってしまい、その中で無限にデータベースにアクセスしていたのだ。
すぐにレンタルサーバー会社に連絡し、クエリ削除の依頼をするも、悲しいことにその日は日曜日で営業しておらず、その日は終日サイトを一時閉鎖することになってしまった。
翌日クエリを削除してもらいコードを書き換えて問題を解決できたが、この件は深く反省した。
ここ1年で一番焦った日だったし、夜も寝られなかったのを覚えている。

そんなこんなで、毎日毎日ポッ拳ロビーに関する問い合わせがきて、それに対応し、またコードを修正し、そして機能を追加し、そのエラーを修正し、というような日々を送っていた。
現在は落ち着いている。



-これから


正直作成も公開もとても疲れたし、もうやめたほうが楽なんじゃないかと思ったこともあった。
しかし今ではありがたいことに登録者数は200人を超え、比較的順調に運用できている。
正直一過性のブームで終わってしまいそうだが、もう少し頑張ってみようと思う。

と思ってはいるのだが、学生という身分な以上講義期間中は忙しく、ポッ拳ロビーに色々手を加える余裕はなさそうだ。ポッ拳をする時間すらあまり取れそうにない。オンライン大会の方も休止せざるを得ないだろう。
また長期休暇に入ったら活動を再開したい。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

戎崎

Author:戎崎
戎崎(えざき)といいます。
ポッ拳やってます。

よろしくお願いします。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
訪問者数
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。