Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Altseed

2,492 views

Published on

ゲームエンジンをお探しのあなたに

Published in: Engineering
  • Be the first to comment

Altseed

  1. 1. Altseedの紹介 toyukan
  2. 2. 自己紹介 ID:toyukan 京都大学大学院情報学研究科知能情報学専攻 西田研究室所属修士課程1回生(M1) ゲーム作るよ ISU,しまつしょっ!,PLANT-PLANT,…… ゲームやるよ ポケモン、世界樹、メトロイド そういえば格ゲーを入れてなかった
  3. 3. 今日の予定 Altseedなるものを見つけたので紹介 公式のチュートリアルをたどりながらざっくり 機能紹介
  4. 4. 発端 Monogameなんか辛い 音周りとか プロセス残るところとか Unity2D嫌い なんか嫌い 顔も見たくない なんか他にないか!
  5. 5. Altseedって? C#でゲームを作るためのフレームワーク C++,Java用もあるそうな Windows,Mac対応(らしい) Linuxは自力でビルドしてくれだそうな Mac版はドキュメントやサンプルが一部Windows版 のままらしい 大丈夫かいな……
  6. 6. Altseedって?
  7. 7. Altseedって? HP http://altseed.github.io/ Github上でソースコードを公開中 https://github.com/Altseed/Altseed HP上でマニュアルやチュートリアルを見れる
  8. 8. 触ってみた感想 すごい! 恐ろしいぐらいすごい! どのぐらいすごい? めっちゃすごい!
  9. 9. どうすごい? 画像を持った物体のクラスが既に定義されている 画像の部分的な描画も可能 文字列描画用のクラスや簡易な図形描画用のクラスも 図形にテクスチャをのせることもできる 図形は当たり判定ができる! なんと多角形と多角形の当たり判定もできるようで
  10. 10. どうすごい? シーンの基底クラスは既に実装されている 各シーンにはレイヤーを追加することができる シーン遷移のフェードインフェードアウトが1行で 書ける カメラさんもいる psdファイルからUIが作れる フォトショなどで作った画像がそのままゲームに
  11. 11. すごい Unityの2D版では? Unity2Dなんて使わなくてもこれで十分では uGUIに相当するものはないけど
  12. 12. 主要な機能紹介 チュートリアルをなぞりながら機能紹介していく C#のチュートリアルを兼ねている節があるので適宜 省略 シューティング作るよ
  13. 13. 00.初めに 環境構築 Windows Visual Studio + DirectXをインストール Mac Xamarin Studioをインストール
  14. 14. ウインドウを表示してみよう……の前に Altseedの準備 適当なプロジェクトを用意する DLLを入手する 配置する 参照に追加する できた!
  15. 15. Altseedの準備 DLLの入手 RocketChatにzipを貼る 配置 プロジェクト内の適当な位置に置いて追加する 実行時にコピーするようにする 参照に追加 Altseed.dllを参照に追加する
  16. 16. 01.ウインドウを表示してみよう ~ゲームの初期設定~ おまじない usingに以下を追加 Main関数内に以下を追加
  17. 17. 出た!
  18. 18. 01.ウインドウを表示してみよう ~キーボードからの入力~ while内に以下を追加
  19. 19. 02.プレイヤーキャラクターを描画してみよう ~画像の描画~ 適当な画像を用意 適当な位置に配置 Initializeとwhileの間に以下を記述
  20. 20. 02.プレイヤーキャラクターを描画してみよう ~物体の位置~ 以下を追加記述 ベクトルには他にもVector2DIというクラスも 要素がint型
  21. 21. 03.キャラクターを移動させよう ~MathHelper便利~ 移動範囲を制限 while内に以下を記述
  22. 22. 04.弾を撃ってみよう これまでの機能で作れる カット
  23. 23. 05.ソースコードを整理してみよう ~TextureObject2Dの仮想関数~ TextureObject2Dの継承 他の主要な(仮想)関数とか OnDrawAdditionally……描画時の追加処理 DrawingPriority……描画の優先度
  24. 24. 05.ソースコードを整理してみよう ~TextureObject2Dのメンバ関数~ Dispose関数で物体の削除が行える 他の主要な関数とか AddChild……オブジェクトと親子関係を結ぶ Draw(……)Additionally……なにかを追加描画 IsUpdated, IsDrawn……更新するか,描画するか Color……基準色
  25. 25. 06.敵の表示 カット
  26. 26. 07.敵のショット ~ベクトルクラス~ ベクトルの回転 時計周りに10度(度数法で)回転したベクトル 弧度法で設定したい場合はRadianというメンバで
  27. 27. 10.敵を倒した時の処理 ~TextureObject2Dのメンバ変数~ Srcというメンバ変数で画像を部分的に描画できる 他のTextureObject2Dの主要なメンバ Scale……倍率 TurnLR, TurnUL……左右反転,上下反転フラグ AlphaBlend……描画モード指定 Angle……回転
  28. 28. 11.タイトル画面を実装してみよう ~シーン、レイヤー、オブジェクト~ シーン、レイヤー、オブジェクトの概念 オブジェクトはシーンに直接存在しているわけでは なくレイヤーに登録されている
  29. 29. 11.タイトル画面を実装してみよう ~シーンとレイヤー~ シーン Onregistered……遷移してきたときの処理 Layer2D……2次元物体を登録できるレイヤー
  30. 30. 11.タイトル画面を実装してみよう ~シーンとレイヤー~ シーン AddLayer……レイヤー追加 layer.AddObject……オブジェクトの追加
  31. 31. オブジェクトの追加方法 今まで:Engine.AddObject2D これから:layer.AddObject 違いは? Q.Engine.AddObject2Dはどのレイヤーに追加 しているのか A.プログラムの中で一番最初に生成したレイヤーに オブジェクトを追加する
  32. 32. 11.タイトル画面を実装してみよう ~シーン遷移~ シーン遷移 フェードイン,フェードアウトなし フェードイン,フェードアウトつき フェードインアウトは秒数指定
  33. 33. 13.ゲーム画面の背景を実装してみよう ~レイヤーの追加と描画優先度~ 優先度は手前が正の方向
  34. 34. 16.効果音を鳴らそう ~音声の読み込みと再生~ 対応しているファイル形式はwavとogg 読み込み bool値は読み込みをストリーミングにするかどうか 注:falseにするとストリーミングしない 再生
  35. 35. 17.BGMを流そう ~音声の操作~ ループ設定 開始点を指定しなかったら最初から 終了点を指定しなかったら最後まで
  36. 36. 17.BGMを流そう ~音声の操作~ 停止 まず音声の再生時にIDを取得する IDを用いて停止を実行する
  37. 37. 17.BGMを流そう ~音声の操作~ その他操作 どれもIDを必要とする
  38. 38. 19.スコア機能を付けて画面に表示してみよう ~文字列の表示~ まずはフォントの用意 FontGeneratorという付属ツールを使う
  39. 39. 使い方
  40. 40. FontGeneratorの使い方 FontGeneratorでaffファイルというものを作る 使用するのは作ったaffファイルと一緒にできた pngたち pngの名前を変えると動作しなくなるそうな 適当な位置に配置する
  41. 41. 19.スコア機能を付けて画面に表示してみよう ~文字列の表示~
  42. 42. 20.公開の準備を整えよう ~各種素材の隠蔽~ 今度はFilePackageGeneratorというツールを使う
  43. 43. 20.公開の準備を整えよう ~各種素材の隠蔽~ ツールを使うとhoge.packというファイルができる このファイルを適当な位置に配置 ゲームの初期化部分の直後に以下を追加 注:元のフォルダ内のファイルが一段上にある ↓でDebugとReleaseで変更部分が少ないはず
  44. 44. 21.Tips:エフェクトを導入してみよう ~エフェクトの表示~ Effekseerで作ったエフェクトを読み込んで 表示できるらしい
  45. 45. チュートリアルおしまい 他の有用そうな機能をちょっと紹介 図形描画機能 当たり判定機能
  46. 46. 図形描画機能 円、四角形などが描画可能
  47. 47. 当たり判定機能 円、四角形などでの当たり判定が可能 図形同士ならたとえ多角形同士でも判定できる! (?)[要出典]
  48. 48. まとめ 図形同士の当たり判定機能あり シーン遷移に簡単にフェードインアウトができる (今回使ってないけど)psdファイルをそのままゲーム に表示できる 神では?
  49. 49. 紹介終わり 使ってみたくなった? 最後に使ってて思った欠点を並べる
  50. 50. ここが辛いよ シーン遷移周り シーンをまたいだオブジェクトが作れない? 文字表示周り 直接文字を描画する関数が使いにくい 付属ツール周り いちいち付属ツール走らせるのめんどいのん……
  51. 51. おわり Monogameなんて捨てようぜ!

×