【enchant.js】自作のブラウザゲームをレンタルサーバーで公開する方法①
自分でゲームを作って公開したい!!と言う方は多いと思いますが(多いのかな?)
せっかく作ったのなら多くの方にプレイして欲しいですよね。
そうなると今の時代、PCゲームよりもスマートフォンで遊べるゲームの方が手軽に遊べるので、せっかくならスマホで遊べるゲームを作りたい!!と考えたりもしますよね。
しかしAppストアやGooglePlayでリリースするのはちょっと大変...という方も多いと思います。私もそうです。
そういう時に便利なのがブラウザゲームです。Android、iPhone等のスマホだけでなく、PCにも対応しているのが魅力です。
こういった理由でブラウザゲームを作りたい or 作った方は多いのではないでしょうか?
ですが、これらのゲームも公開しなければプレイしてもらえません。
幸いHTML5 + JavaScriptで作ったゲームは「9leap」さんで公開することができます。
なので、9leapさんで公開しても良いよ〜って方はそちらで公開するのが一番です。
でも中には自分のサーバーにアップロードしたいという方もいると思います。
私もその中のうちの1人で、ゲーム公開サイトに投稿せず、ひっそりと公開したい派でした。
今回はそんな方向けに、enchant.jsで作ったゲームをレンタルサーバーで公開する方法を記事にしたいと思います。
今でもenchant.jsを使っている方(いるのだろうか...)で、サーバーへのアップロードの方法が知りたい方は是非この機会に知っておきましょう!
そもそもenchant.jsってなんぞや?
そもそもの話ですよね笑。お前はいったい何者なんだと。
enchant.js(えんちゃんとじぇいえす)とは、HTML5 + JavaScriptを用いたフレームワークです。端的に言うとゲームエンジンですね。
PC、スマホどちらでも動くゲームを作れるマルチプラットフォームなのが魅力です。
現在アップデートやサポートが行われていないので、他のゲームエンジンを使い始めている人も増えていますが、今でも使いやすいゲームエンジンとして愛用している方も多いです。
たまにリンク切れの公式サイトを紹介されているサイトも多くてダウンロードに困った方もいるかもですが、以下のURLからサンプルごとダウンロードできます。
github.com
どういうゲームが作れるの?
ぶっちゃけ何でも作れます(ぶっちゃけすぎ)
ブラウザ上で動かすゲームですので、容量が大きくなってしまうゲームや高いパフォーマンスが必要なゲームは厳しいです。
ミニゲームレベルのアクションゲームやシューティングゲームあたりが一番向いていると思います。
参考程度に、私の作ったゲームがこの2つです。
orangelily.hatenablog.com
orangelily.hatenablog.com
他にも9leapさんで公開されいてるゲームをプレイしてみると、何となくどのようなゲームが作れるかわかると思います。
enchant.jsで公開するゲームを作る
ゲームを作る準備
enchant.jsで作ったゲームを公開するためには、まずはゲームそのものが完成しないといけません。
まずはゲームデータを入れるプロジェクトフォルダを好きな名前で作りましょう。わかりやすい名前が良いです。
試しに私は「TestEnchant」というフォルダを作りました。
そしてそのフォルダに必要なファイルを入れていきます。
enchant.jsでゲームを作るためには、最低限以下のファイルが必要になります。
- index.html(作ったゲームを置くページ)
- enchant.js(enchant.jsを使ってゲームを作るのに必要なソースファイル)
- game.js(ゲームのソースコード。名前は何でもいい)
enchant.jsのソースファイルは上で紹介したURL(こちら)からダウンロードできます。
ダウンロードしたファイルを解凍するとbuildフォルダの中にenchant.jsファイルが存在します。
enchant.jsファイルをコピーして先ほど作ったプロジェクトフォルダに貼り付けます。
次にプロジェクトフォルダの中に「index.html」ファイルを作成しましょう。
htmlファイルの作り方がわからなければ以下のURLを参考にしてください。
HTMLファイルを作成する-ウェブ制作チュートリアル
index.htmlファイルを以下のように編集します。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="IE=Edge" /> <meta name="viewport" content="width=device-width, user-scalable=no" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> <!--ゲームタイトルは好きな名前に変える--> <title>GameTitle</title> <script type="text/javascript" src="enchant.js"></script> <!--プラグインが必要な場合はコメントアウトを外す <script type="text/javascript" src="build/plugins/nineleap.enchant.js"></script> <script type="text/javascript" src="build/plugins/ui.enchant.js"></script> --> <!--game.jsのファイル名は自分の作ったゲームのソースコードのファイル名と同じにすること--> <script type="text/javascript" src="game.js"></script> <style type="text/css"> body { margin: 0; } </style> </head> <body></body> </html>
15〜18行目の部分は、自分の使うプラグインによってコメントアウトを消してください。プラグインを使わないのであればこのままで大丈夫です。
このhtmlファイルは最低限必要なことしか書いてありません。
ゲームを置くページにゲームタイトルや操作方法を記述したい場合は、htmlの編集方法を調べて追加してください。
最後にgame.jsファイルを作ります。
このファイルには、ゲームのプログラムを書いていきます。このファイルがメインで編集する部分ですね。
ゲーム作成
enchant.jsでの開発ですが、ゲームの開発自体はサンプルを参考にしたり調べながら作ればできると思うので詳しくは割愛します。
Visual Studio Code – コード エディター | Microsoft Azure
使い方等は調べたらわかりやすく説明しているサイトが出てくるので、それらを参考にしてください。とりあえずはJavaScriptとhtmlが使えるようになれば良いでしょう。
今回私は、画面をタッチしたら熊がその位置にワープするゲームを作りました。
熊の画像はサンプルにも使われているこちらを使いましょう。
ダウンロードしたらファイル名を「chara1.png」にして、プロジェクトフォルダの中に移動させます。
次にgame.jsの中を編集します。
私が書いたソースコードは以下の通りです。
enchant(); //enchant.jsを使うための命令。これがないとenchant.jsの機能を使えない //HTMLのロードが完了したときに実行する関数 window.onload = function () { //ゲーム画面 game = new Game(320, 320); //フレームレート game.fps = 15; //熊の画像読み込み game.preload("chara1.png"); //画像などを読み込んだ後の処理 game.onload = function () { //熊を生成 var bear = new Sprite(32, 32); //座標を真ん中に bear.x = 160; bear.y = 160; //画像指定 bear.image = game.assets["chara1.png"]; //熊を表示 game.rootScene.addChild(bear); //画面をタッチした時の処理 game.rootScene.addEventListener("touchstart", function (touch) { //熊をタッチした位置に移動 bear.x = touch.x; bear.y = touch.y; }); //背景色設定 game.rootScene.backgroundColor = "rgb(150, 200, 255)"; }; //ゲームを動かす game.start(); };
ゲームと言えるか怪しいレベルのものですが...テストプレイなので許してください笑。
まだサーバーにアップロードしていないですが、この状態でindex.htmlをGoogleChrome等で開いてみると動くはずです。
実際に自分で起動して遊んでみましょう!クリックした場所に熊がワープしたら成功です!!何も楽しくないですね!!
これでゲームが完成しました。
それでは次回は公開方法についてです。
orangelily.hatenablog.com