Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Shun Moriya
PPTX, PDF
4,724 views
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
ゲームへ組み込む独自スクリプト言語を設計する時に気を付けている事。および著者の独自言語を少しだけ紹介しています。 https://github.com/shun126/Mana
Engineering
◦
Related topics:
Game Development
•
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 15
2
/ 15
3
/ 15
Most read
4
/ 15
5
/ 15
Most read
6
/ 15
7
/ 15
8
/ 15
9
/ 15
Most read
10
/ 15
11
/ 15
12
/ 15
13
/ 15
14
/ 15
15
/ 15
More Related Content
PPTX
サウンドクリエイターがほんの少しBPに触れるだけで起こる革命
by
Satoru Okubo
PDF
デジタル水遊び (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4における自動プレイのポストモーテム
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
by
弘幸 赤崎
PPTX
ゆるゆるUE4ネットワーク入門
by
ssuser221848
PDF
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
by
Tatsuya Iwama
PDF
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
PDF
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
by
エピック・ゲームズ・ジャパン Epic Games Japan
サウンドクリエイターがほんの少しBPに触れるだけで起こる革命
by
Satoru Okubo
デジタル水遊び (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4における自動プレイのポストモーテム
by
エピック・ゲームズ・ジャパン Epic Games Japan
3dsMax+UE4 ~映像制作におけるリアルタイムエンジンの活用~
by
弘幸 赤崎
ゆるゆるUE4ネットワーク入門
by
ssuser221848
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
by
Tatsuya Iwama
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
by
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
PDF
UE4モバイルブートキャンプ
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
ブループリントマニアックス
by
Masahiko Nakamura
PDF
UE4とUnrealC++について
by
Masahiko Nakamura
PDF
Redmineをつかったスクラム開発のはじめの一歩
by
kiita312
PDF
UE4における大規模背景制作事例(データメンテナンス・大技設定編 )
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Blender で作ったアニメーションを Unreal Engine 4 で利用する
by
rarihoma
PDF
次世代ゲームにおける自動生成技術
by
Youichiro Miyake
PPTX
UnrealBuildTool勉強会まとめ
by
Shun Sasaki
PDF
Hair Groom入門 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
自宅で出来る!ゲームサーバの作り方
by
光晶 上原
PDF
「3Dゲームをおもしろくする技術 」のいろいろな読み方
by
Kouji Ohno
PDF
UE4.25 Update - Unreal Insights -
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
トリコの動かし方
by
株式会社ジェンデザイン
PPTX
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4モバイルブートキャンプ
by
エピック・ゲームズ・ジャパン Epic Games Japan
ブループリントマニアックス
by
Masahiko Nakamura
UE4とUnrealC++について
by
Masahiko Nakamura
Redmineをつかったスクラム開発のはじめの一歩
by
kiita312
UE4における大規模背景制作事例(データメンテナンス・大技設定編 )
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
Blender で作ったアニメーションを Unreal Engine 4 で利用する
by
rarihoma
次世代ゲームにおける自動生成技術
by
Youichiro Miyake
UnrealBuildTool勉強会まとめ
by
Shun Sasaki
Hair Groom入門 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
自宅で出来る!ゲームサーバの作り方
by
光晶 上原
「3Dゲームをおもしろくする技術 」のいろいろな読み方
by
Kouji Ohno
UE4.25 Update - Unreal Insights -
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
by
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
トリコの動かし方
by
株式会社ジェンデザイン
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
ゲーム組み込み向け独自スクリプト言語の設計で気を付けている事
1.
ゲーム組み込み向け 独自スクリプト言語の設計で 気を付けている事 2015年12月25日 守屋 俊
2.
自己紹介 守屋 俊
コンシューマゲーム機のゲーム開発を主にしてきました Twitter: @shun_moriya
3.
ターゲット ゲームにかかわる制御をプログラムから切り離したい スクリプト記入者がプログラマ以外で、しかも経験が乏しい
しかも3人以上を相手にする必要がある
4.
なんで独自言語を作るの? スクリプト実装者がプログラマなら、LuaやSquirrelなど既存の言語を利用させ てもらった方が断然に効率が良い プログラムに興味を持たない大勢の人達に、スクリプトで制御をしてもらう為 の手段を提供する必要がある
でも、大抵の作業者はコピペで済ませる傾向・・・ ガチガチに機能を制限した言語が欲しい!
5.
スクリプト設計時に気をつけている事 コンパクトである 静的型である
簡単にリスタートができる コンパイル方式である 文法に強い要望は受けた経験は無い メッセージの為の文字列型は必要無い デバッカーはあればより良い アクター指向
6.
コンパクトである コンシューマ機は例外なくメモリが十分にある事はなく、 ユーザーの目に触れないスクリプト系の処理は高速かつコンパクトである ことがいつも求められます。 しかし、効率を求めすぎてシンボルなどの情報を完全に切ってしまうと、 デバックなどの開発効率を落としてしまう事になるため、 絶妙なさじ加減が必要です。
7.
静的型である 特定の状況でのみ使われるスクリプトは良くある話です。 しかし、ゲーム開発において実行されない限り簡単な名称エラーや型違い エラーを検出できない事は非常に問題があります。 例えば100回に1回実行されるレアな条件があった場合を考えてみましょう。 この場合、変数の型の違いや名前の間違いなど非常に簡単なエラーですら 発見が難しくなります。 そして、修正の変更が入ることで、多くの確認事項のやり直しになってし まいます。
8.
簡単なリスタートができる 特にコンシューマ機の開発環境のコールドリセットは想像以上に遅いもの があります。 プログラムのチェックにassertを利用してしまうと、ちょっとしたパラ メータの間違いでもコールドリセットによる待ち時間が発生してしまいま す。 メモリ不足など継続が困難な状態にならない限り、 ボタン1つでスクリプトを高速にリスタートできる事がとても重要です。
9.
コンパイル方式である インタプリタ方式ではなくコンパイル方式である事を推奨します。 理由は二つあります。 実行環境のメモリは十分にある事が少ないので、メモリの消費が多い翻訳 部分があるインタプリタ方式は薦めません。 そして、リスタートが遅い環境が考えられるので、実行前に早く間違いを 検出する事ができる点でコンパイル方式を薦めています。
10.
文法に強い要望は受けた経験は無い 今のところスクリプターからスクリプトの文法に対して強い要望を受けた 事がないので、あなたの好きな文法で開発して問題ないでしょう。 もしも、ゲームアプリケーションの開発がCやC++で行なわれるのならば、 定数や構造体の定義はc言語に合わせておくと同期が便利かもしれません。
11.
メッセージの為の文字列型は必要無い 文字列型を用意するのは問題ないですが、 海外展開する予定のゲームのスクリプトにメッセージを表示する命令を組 み込もうとしているなら、 それは止めておいた方が良いでしょう。 私の笑えない経験で、スクリプトの命令ごと翻訳されてしまった事があり ました。 メッセージはExcelなど表で管理できるフォーマットにしておくと、 自分が読めない言語でも対応がわかり便利です。
12.
デバッカーはあればより良い デバッカーを用意できれば最も良いが、 最低限printfさえあればどうにかなります。 それすらも無い場合は問題です。 もしも、あなたが、デバッカーもprintfもない状態でデバックしろと言わ れたら何と答えるか想像してみましょう。
13.
アクター指向言語 経験した方ならお気づきだと思われますが、 全てのスクリプターが賢明である保障は残念な事にありません。 オブジェクト指向?スレッド?コルーチン? とにかくイメージしている事が動けばよいのです。 クラスやポインターなど複雑そうな機能を導入する事をやめるかわりに、 私のスクリプトではアクターモデルを導入しています。 アクターは世の中の物事と同じで、常に並行して行われています。 そして、アクターという用語もゲーム内のキャラクターを制御するスクリ プターに受け入れられやすい事も理由の一つです。
14.
私が実装した言語の紹介 アクター指向言語Mana Manaは疑似並列処理を行うことを目的にしたスクリプトで、 複数のアクターという単位によって構成されます。 アクターとは日本語で直訳する通りに「役者」の意味であり、そのシーン(シチュ エーション)に必要なアクターが、そのシーンのソースファイルの中に存在してい ます。 そして、各アクターがお互いの動きに応じて反応しあい、一つのシーンを作り上 げていきます。 Manaはリクエストと呼ばれる割り込みで動作するシステムです。 複雑な処理はプログラム側に任せて、タイミングや分岐など演出部分だけをスク リプトに任せることができます。 詳しくはWebで… https://github.com/shun126/Mana
15.
まとめ プログラマ以外の方が作るスクリプトは十分な設計を考えられている事は 少ないです。 実行前のコンパイラによるチェックと、実行時のトライアンドエラーの繰 り返しの効率化が最優先になります。 実機での実行回数が、最終的に高品質につながると考えてほぼ間違いない でしょう。 この文章が今後ゲーム向けスクリプトを作ってみようと考えている方のヒ ントになればうれしいです。
Download