Giter VIP home page Giter VIP logo

10k-gamedev's Introduction

10k-gamedev(WIP 作業中)

1万円(+インターネット)ではじめるゲーム開発用リポジトリー。Phaser3用です。

まだ作業中です。

インストール

Lubuntuのインストールが済んで起動したら、以下を実行します。

  • 左下のメニューをクリック > 実行
  • lxte と入力して、 LXTerminal を起動
  • 以下のコマンドを実行
cd ~
wget -N --no-check-certificate https://am1tanaka.github.io/10k-gamedev/install-gdev
chmod 700 install-gdev
./install-gdev
  • 開始すると、すぐに Lubuntu の管理者パスワードの入力が要求されるので入力してください

apt-get updateがで警告が表示される

Chromeの設定によっては、インストールした後に以下のような警告が大量に表示される場合があります。

W: ターゲット Packages (???/???/???) は /etc/apt/sources.list.d/google-chrome.list:3 と /etc/apt/sources.list.d/google.list:1 で複数回設定されています

以下で解消できます。

  • LXTerminalを起動
  • sudo atom /etc/apt/sources.list.d/google-chrome.listを実行して、設定ファイルをAtomで開く
  • パスワードの要求があったら入力して[Enter]キー
  • 以下の通り、設定の行頭に#を入力してコメントアウト
# deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
  • [Ctrl]+[S]キーで保存
  • Atomを閉じる

まだ失敗する場合

サーバーの応答が遅く、時間切れになっている可能性があります。LXTerminalで以下を実行してください。

echo 'Acquire::Queue-Mode "access";' | sudo tee /etc/apt/apt.conf.d/75download

以上で、Chromeのインストールに関する不具合以外は解消されると思います。Chromeの更新は、Chrome自身が行うのでそれに任せれば良いかと思います。

Phaserのサンプルを動かす

Phaserのサンプルはインストール済みです。LXTerminalを起動して、以下を実行して、ローカルサーバーを起動します。

cd ~/phaser/phaser-examples/examples
http-server

サーバーが起動したら、LXTerminalは待機状態になります。Webブラウザーを開いて、 http://0.0.0.0:8080/sideview.html を開きます。画面の左にサンプルの一覧が表示されます。サンプルは800以上もあるので、下にスクロールさせてリストを見てみましょう。動かしてみたいサンプルをクリックすると、画面の右で実行されます。

一部、インターネットが繋がっていないと動かないサンプルがあるようですが、多くのサンプルはオフラインで見ることができます。色々と試してください。

サーバーを停止する

サーバーを起動していた LXTerminal に切り替えて、[Ctrl]+[C]キーを押します。以下のようにプロンプトが表示されたらサーバーが停止しましたので、不要であれば LXTerminal を閉じて構いません。

プロジェクトを作成する

非常にシンプルなPhaserのプロジェクトを作成して、自分でコーディングができることを確認します。

プロジェクトの作成方法

LXTerminal で以下のコマンドを実行することで、新しいプロジェクトフォルダーを作成します。ここでは最初のプロジェクトということで first という名前のプロジェクトを作成します。

cd ~/phaser
./phaser-new-smpl first

プロジェクトが作成できたら、以下のコマンドで、作成したfirstフォルダーに移動します。

cd first

プロジェクトを起動する

作成したプロジェクトの動作をWebブラウザーで確認できるように、サーバーを起動します。

npm run serve

サーバーが起動します。LXTerminalはサーバーに専念するので入力は受け付けなくなります。

Webブラウザーを起動して、 http://0.0.0.0:8080 を開いてください。黒い画面の左上に星が表示されれば成功です。

プログラムをエディターで開く

新しいLXTerminalを開くために、先ほどのLXTerminal上で右クリックして、[新しいウィンドウ]をクリックしてください。

これで、新しいLXTerminalが、先ほどと同じフォルダーを開いた状態で起動できます。以下のコマンドを入力して、Atomエディターを起動します。

atom .

しばらく待つと Atom エディターが、 first フォルダーを開いた状態で開きます。

プログラムを編集する

プログラムを書き換えて動きを確認してみましょう。Atomの左の一覧から、_site>src フォルダーを開いてください。以下の5つのプログラムが確認できます。

  • boot.js  - Phaserを起動させるスクリプト。当面使わない
  • create.js  - キャラクターなどをゲームに登録する場所
  • preload.js  - ゲームに必要なファイルを登録する場所
  • render.js  - デバッグ用の文字を表示したり、直接画面を描画する場所
  • update.js  - 画面が更新されるたびに呼び出される場所。ゲームを動かす主要な処理を書く場所

処理は、以下の順番で呼び出されます。

  1. boot.js
  2. preload.js
  3. create.js
  4. update.js
  5. render.js
  6. 画面が更新されたら、4から繰り返し

ここまで。


以下はメモ

Phaserで開発を始めるスタート地点として、Phaser Webpack Loaderというパッケージを利用します。これを複製したものを改造していきましょう。

複製するためのスクリプトは準備済みですので、

開発を始める

開発を始める時の手順です。

cd ~/phaser/プロジェクトフォルダー名
atom .
npm run dev:serve

以上でビルドが実行されて、待っていると自動的にブラウザーが起動して、ライブプレビューが始まります。

変更

最初はWEBGLが有効なので、AUTOに変更します。

ボイラープレート(これはシェルでスクリプトを作成中)

PhaserをWebpackでビルドするパッケージPhaser Webpack Loaderを組み込みます。 ひな型に丁度良いボイラープレートがあるので、これを利用します。

cd ~/phaser
git clone https://github.com/goldfire/phaser-boilerplate.git プロジェクトフォルダー名
cd プロジェクトフォルダー名
npm i
npm i tern-phaser

選択肢

似たもので https://github.com/mattcolman/phaser-manifest-loader があったが、圧縮テクスチャへの対応、Retina対応、サンプルプログラムの出来から、phaser-webpack-loaderを採用しました。

サンプルの改造目標

  • 画面サイズを固定
  • タイトル画面、ゲーム、ゲームオーバーを設定
  • 岩を出現させて動かす。跳ね返るごとにスピードアップ
  • 左右キーで旋回、上下キーで加速、減速
  • どれだけ長く生きられるか
  • BGMと効果音の実装

install.shの短縮

https://goo.gl/SZ8WXk

これをwgetでダウンロードするには?

10k-gamedev's People

Contributors

am1tanaka avatar tanakaedu avatar

Watchers

James Cloos avatar  avatar

Forkers

tanakaedu

10k-gamedev's Issues

install-gdevの修正

  • 以下を実行しておく
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
  • npmインストール済みの時、n stableを実行

インストール失敗箇所

Atomで、apt-getからインストールに失敗

  • 以下は成功
wget -q --no-check-certificate -O - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
  • 以下が動いていないか、反映されていない
sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
  • 以下、実行失敗
sudo apt-get update

sudo apt-get install atom -y

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.