Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
2017 TGDF - 從零開始的遊戲開發框架
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
蒼時弦や
July 02, 2017
Technology
0
400
2017 TGDF - 從零開始的遊戲開發框架
Page 7 Video:
https://www.youtube.com/watch?v=QBYZAZlH9cw
蒼時弦や
July 02, 2017
Tweet
Share
More Decks by 蒼時弦や
See All by 蒼時弦や
2024 - COSCUP - Clean Architecture in Rails
elct9620
2
190
2023 - RubyConfTW - Rethink Rails Architecture
elct9620
0
210
20230916 - DDDTW - 導入 Domain-Driven Design 的最佳時機
elct9620
0
460
2023 - WebConf - 選擇適合你的技能組合
elct9620
0
670
20230322 - Generative AI 小聚 ft. Happy Designer
elct9620
0
420
2022 - 默默會 - 重新學習 MVC 的 Model
elct9620
1
500
MOPCON 2022 - 從 Domain-Driven Design 看網站開發框架隱藏
elct9620
1
510
2022 - COSCUP - 我想慢慢寫程式該怎麼辦?
elct9620
0
280
2022 - COSCUP - 打造高速 Ruby 專案開發流程
elct9620
0
300
Other Decks in Technology
See All in Technology
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
6
840
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
110
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
110
オンプレとGoogle Cloudを安全に繋ぐための、セキュア通信の勘所
waiwai2111
3
1.1k
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.2k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
72k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
OpenClawで回す組織運営
jacopen
1
240
ビズリーチにおける検索・推薦の取り組み / DEIM2026
visional_engineering_and_design
1
100
Devinを導入したら予想外の人たちに好評だった
tomuro
0
870
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
130
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
150
Featured
See All Featured
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
620
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
Designing for Performance
lara
611
70k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
A Modern Web Designer's Workflow
chriscoyier
698
190k
The World Runs on Bad Software
bkeepers
PRO
72
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
What's in a price? How to price your products and services
michaelherold
247
13k
Faster Mobile Websites
deanohume
310
31k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Transcript
從零開始的 遊戲開發框架 Photo from https://www.pexels.com/
WEB DEVELOPER GAME DEVELOPER 襟 儘 䓛⛳ @elct9620
None
None
想做個自己的遊戲引擎
CG from http://www.rpgmakerweb.com/
None
None
None
None
Magica & Seeker
build :main do dynamic_library "sdl2" include_path "extra/include" define :debug flag
"-Wall" source "src/**/*.cpp" dest "build" use :cxx end Magicafile
Seeker Engine mruby Game (C++/Ruby)
RubyVM GameObject C++ GC Bad Address 1 2
RubyVM GameObject (Ruby Object) C++ GC 2 1 Create Ruby
Object
Hiro Framework
mruby Hiro Framework
mruby Hiro Core Hiro Renderer …
Data_Get_Struct( mrb, self, &hiro_scene_type, data ); Type Reference
Premature Optimization Is the Root of all evil
Hiro mruby Hiro.rb … Core Engine
Ruby Script Hiro RubyVM SDL inih …
Domain Specific Language
Character.define :aotoki do name 'Aotokitsuruya' animations( stand: animation('char/stand01.png'), walk: animation('char/walk01.png')
) end DSL Sample
Scene.define :starter do character(:aotoki).say 'Hi, Player' say 'Welcome to use
DSL in your game' confirm 'Are you read to start?' do yes do goto :first_level end no do exit_game end end end DSL Sample
Makes Programmers Happy
Q&A