🎮

ゲームに関する記事を投稿できるサービス作ったた!【GaArt】

2023/12/23に公開

はじめに…

某メディアさん(ここで名前出すのは控えます)が、 「ゲームのクラン(一緒に遊ぶ人達のグループ、以降コミュニティと呼ぶ)のWebサイトなどが出来るアプリつくるでー!」 みたいなことを今から6年ぐらい前におっしゃってたのですが、残念ながら、アプリ化・サービス化はされませんでした。

で、で、ワイがつくりましたああああああー!(∩´∀`)∩ワーイ

https://gaart.net/

読みは、「ガァート」です。

本記事では、「開発動機(企画コンセプト)」「サービスの概要」「開発体制」「サービスのシステム話」「今後の展望」 を書きました。

ワイは誰

職業は無職です。(超大事)
一応、個人開発として、タブレットで使えるノートアプリも作っています。(開発中・未リリース)
あと、AuTextという文字起こしアプリ(Windows)をMicrosoftStoreでフリーソフトで提供しています。
https://zenn.dev/test_myname/articles/5742cff0a18df5

作ったもの

「はじめに…」で述べた通りの「ゲームのコミュニティのWebサイトなどが出来るもの」を作りました。
ですが、「スマホなどのアプリ」ではなく「Webサービス」として作りました。
詳しくは、「企画提案」以降を読んでください。

開発動機

さっきから述べている「某メディアさん(ここで名前出すのは控えます)が~」という理由以外にも、理由はあります。それは、「自分が所属しているFPSゲームのコミュニティのホームページの管理簡素化や告知、宣伝」が出来ないか? というものです。

SEOに類似した問題もありますし、WordPressを使用して開発・展開しているのですが、はっきり言って、 「使いづらい」「管理しづらい」「そもそも論WordPressテンプレート作成自体が大変」 というのがあります。
なお、金銭が関わらないカジュアルなコミュニティ圏では、私が所属しているコミュニティだけが、WordPress使っていると思います。他は、専らFC2ブログなどの無料で立ち上げることが出来るものを利用したサイトです。
(金銭が関わるプロゲーミングチームでも、心なしか苦労している姿が見える時がある)

(グループ宣伝問題)様々な要因によって情報公開の形式が異なる

これは、ゲームごとにコミュニティの宣伝の方式が違うという話です。1つのゲームであっても、2つ以上の選択肢があることは、よくあります。

  • 「ゲーム公式が提供しているコミュニティ募集欄で」
  • 「各ゲームのWikiで」
  • 「1つのゲームの大規模Discordグループ内で」
  • 「X(旧:Twitter)やTikTok、Youtube、TwitchといったSNSで」
  • 「自身らが作ったWebサイトで」

という複数の宣伝方法が存在して、そこにプラスして

  • 「ゲームの分野」
  • 「ゲームタイトルシリーズ」
  • 「言語や国の違い」
  • 「ゲームの発売年代」

という様々な要因が複雑に絡み合い、コミュニティの存在を把握することは困難です。

X(旧:Twitter)で、小規模な団体や個人が、ゲーム大会を開こうとしている場面を見ることがありますが、上手く宣伝出来てないのか、いいね・リツイート数が少ない時もあります。
X以外では、メディアに取り上げてもらう手段が挙げられますが、これは、知名度がない団体・個人では至難の業と言えます。
このように、ゲーマーと繋がって広く宣伝する手段がないため、結局、殆どXに頼るしかないというジレンマに陥っています。

WordPressを使って宣伝してみた場合

じゃあ、自分でホームページ作ればいいじゃん!と思うかもしれません。
実際に作って2年ほど運用しました。で、結論ですが、「大変」「利点が少ない」でした。
なお、実際に作ってみたぜー!という記事は、以前書いたので、ぜひどうぞ読んでください。

で、実際に運用して分かった問題点は、下記の通りです。

誰も来ない

そもそも論、ホームページに来る人なんて稀です。
X(旧:Twitter)から来るか、たま~~~~~に、ホームページに載せているいい感じの情報提供ページに、Google検索経由で来るぐらいです。

WordPressが動かせる環境は、ほぼ有料

WordPressのようないい感じのデザインに出来るものを使ってやろうとすると、ほぼ確実に有料のレンタルサーバーか有料のWebサービス(STUDIO)を利用する必要があります。
カジュアルにコミュニティ運営をやりたい人達にとっては、とてもではありませんが、気安く手が出せません。

(※ STUDIOに関しては、2022/11/22時点で、無料プランがありますが、登録出来る記事数が5だけなので…)

WordPressテンプレート作成自体が大変

WordPressは、テンプレートの作成が非常に面倒です。実際に、テンプレート作成が、お金を得る仕事として大きくなりたつほどに、手間が掛かります。(自分が所属しているコミュニティのホームページに関しては無償で作りました)
「自分が所属しているFPSゲームのコミュニティのホームページ」の要望の内の1つにあった「メンバーが記事を投稿できるように」は、正確には、「通常記事以外に、ニュース、メンバー記事という3つの要素にしてほしい」という要望でした。3つの要素の展開は、基本のテンプレートには、存在しない機能です。
この場合は、ある程度は、手をかけてあげる必要があります。

WordPressの要らない機能

「自分が所属しているFPSゲームのクランのホームページ」には、開発時に 「メンバーが記事を投稿できるように」「なんか宣伝できる感じに」「告知もしたい」「カッコよく」 という要望がありました。
その中の「メンバーが記事を投稿できるように」では、書いて記事を投稿して貰う訳ですが、

使う際に、要らない機能・ボタンがあるせいで、「どのボタンを押せばいいのか分からん」「使い方が分からない」となってしまう ことを、Webサイト新規導入時に言われてしまいました。

WordPressの管理しづらさ

私は、HPのデザインはしてないのですが、動くための仕組みや実際に動かすためのCSS化など色々しました。その延長線上で、Webサイトの管理もしていました。
WordPressは、脆弱性対策などあるため、頻繁にアップデートするのですが、その際に細かい挙動が変わることがあり、CSSでデザインした部分がおかしくなったり、追加したプラグインが動作しなくなるなどの問題点がありました。
2回程度なら、まだ修正する気が湧きましたが、流石に4回とかなってくると、やる気がなくなりました。

企画提案

「コミュニティや個人がゲームに関して記事を投稿できるサービス」

ということで、「コミュニティや個人がゲームに関して記事を投稿できるWebサービス」 を作ってみようと思い立ちました。
具体的には、 大会告知・募集記事何気ないゲーム話プレイヤーとしての記事 を投稿できるWebサービスです。

想定利用者

読者層

  • ゲームに興味がある人
  • 大会などのイベント情報を知りたい人
  • 実況者に興味がある人

簡単に述べると、「興味はあって、色んな人のゲーム話を聞きたいな?」という方が読者として利用することを想定しています。

筆者層

  • ゲームについて書き殴りたい人
  • 大会を運営したい人
  • コミュニティを紹介したい人

簡単に言うと、「ゲームをやっている自分のことを知って欲しい!」という方が筆者として利用することを想定しています。

搭載機能の紹介とその理由

サービスの機能の紹介をしたいと思います。なお、「ブラウザで閲覧できるWebサービスにしたのか」のという理由はありまして、情報を探すときは、皆さん、普通はGoogle検索を使うと思います。
ブラウザで出てくる情報というのは、パソコン以外のスマートフォンやタブレット端末のブラウザでも閲覧可能です。
アプリにも、綺麗な形で閲覧できるという利点はありますが、わざわざインストールする必要があり、端末を問います。そのため、告知・宣伝という点において、不適切です。
そのような理由で、Webサービスとして開発 しました。

コミュニティ情報の提供(ゲーム別)

コミュニティを紹介するためには、コミュニティことを知ってもらう必要があります。

コミュニティ記事投稿機能

ゲームの大会の告知宣伝にも、利用できるように考えて開発 しています。
それぞれのコミュニティや個人なりの記事を投稿することにより、コミュニティの宣伝に貢献すると考え、機能を付けました。
なお、スター機能が、サブで付いています。

コミュニティ紹介情報(言語別)

コミュニティを深く具体的に知ってもらう ために、付けました。
言語によってどうしても書く内容(言語含めて)が、変わってしまうので、言語別に記載できるように設けてあります。
これにより、世界中の人々に、コミュニティ紹介が行えます。

各ゲーム公式が提供する記事情報の一覧表示

ゲームによって、公式WebサイトのURLは、当然のことながら違います。
ですが、ゲーム公式サイトには、遊ぶ上で有益な情報が載っています。
そのような理由があり、各ゲームの記事を一括で見られるようにしました。

ですが、記事のコピペなんて言語道断です。そのため、転送という形を取っています。

開発体制

1人です。資金以前に生活費ないです。ワロタ。

サービスのシステム概要

え?資金ないよ???100円でもいいから削減したいだよ…「C++でもGoogleSheetsを使いたい!(Firebase未使用)」を書いちゃうぐらいお金使いたくない族です(ある意味、OAuthの知識付いたので良かったのですが)。

…と言っておきながら、SQLServerを使っているですが、これ最初は何も考えていなくて、とりあえず「Blzor使って見てぇ…SQLServerがオススメか…」とポチッたせいです。
後で冷静に考えたら、SQLServerってライセンス的にAzureで動かさないと大金とられることが分かって、泣く泣くAzureで運営してます。
本当は、VPSを使って運営した方が安いだろうなぁ…分からん。

項目 使用物
フレームワーク Blazor(初期開発時Docker内)
DB SQLServer(初期開発時Docker内)
サーバ Azure
デザイン bootstrap , blazor.radzen , editor.js(記事エディタ部分)
課金システム(予定) stripe

ちなみに、統合開発環境とDocker以外は、今回、初めて使うものでした。
特に、Webサービスのためのフレームワークは、Djangoをちょっと1週間ぐらいしか触ったことしかなかったので、マジで初心者レベルの知識しかなかったです(Mysqlを直に触ってシステム構築の経験はありました)。

bootstrapは~と思われそうですが、今まで直にCSSでゴリゴリゴリゴロやってたので、触った経験なかったです。最初は、CSS直書きがよくない?とか思ってましたが、30分もしたら、いいかも…という感じで、超簡単に寝取られました。チョロい。

ER図

ER図

テーブルの数が多すぎて、Zennで文字が見えませんが、53テーブルあります。関係を表す線は113本あります。(画像のは古いバージョンなので、記事の数値とは違います)
なお、認証系のテーブルは、この図に入ってません。
描画は、plantuml使ってます。使いやすかったです。設計後は、実装に入りますが、ちゃんとテキストでデータ型も書いてあるので、Blazor用に書き起こすのが楽でした(実際1週間未満で済みましたし)。

ER図描いて思ったのですが、これ大規模なサービスになると、大変だと実感しました。

今後の展望

この後は、サービスをブラッシュアップするのにプラスして、スマートフォン・タブレットのアプリ化をします。
スマートフォンのアプリ開発は、Android優先です。iOS対応は、得られた資金次第です。mac持ってないので。

オワリ(本日のお話が)

ここまで読んでくださりありがとうございます。

開発には、8か月?(企画自体は1年前)ほど掛かっています。DB設計時は、正直に言って楽過ぎて「こんなもん2か月もあればリリースレベルまで行けるだろwww」とか思いましたけど、全くそんなことはなく、普通に時間が掛かりました。

このGaArtですが、かなりUIがゴミなのは自覚しているので、ドントコ直したいと思います。
(一度作り直してはいるですけどね…なんだろう滲み出る才能かもしれない)
よろしくお願いいたします。

おかね…てにはいると…いいなぁ…
というか、しごと…みつからないかなぁ…だれかひろってくれないかなぁ…|д゚)

Discussion