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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
蒼時弦や
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
200
20230916 - DDDTW - 導入 Domain-Driven Design 的最佳時機
elct9620
0
450
2023 - WebConf - 選擇適合你的技能組合
elct9620
0
660
20230322 - Generative AI 小聚 ft. Happy Designer
elct9620
0
420
2022 - 默默會 - 重新學習 MVC 的 Model
elct9620
1
490
MOPCON 2022 - 從 Domain-Driven Design 看網站開發框架隱藏
elct9620
1
510
2022 - COSCUP - 我想慢慢寫程式該怎麼辦?
elct9620
0
270
2022 - COSCUP - 打造高速 Ruby 專案開發流程
elct9620
0
300
Other Decks in Technology
See All in Technology
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
ランサムウェア対策としてのpnpm導入のススメ
ishikawa_satoru
0
240
Azure Copilot Migration Agent / #jazug
koudaiii
1
100
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
620
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
270
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
4
510
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
720
Claude Code for NOT Programming
kawaguti
PRO
1
120
Greatest Disaster Hits in Web Performance
guaca
0
310
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
110
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
67
A designer walks into a library…
pauljervisheath
210
24k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
460
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The SEO identity crisis: Don't let AI make you average
varn
0
330
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
Making Projects Easy
brettharned
120
6.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The Cult of Friendly URLs
andyhume
79
6.8k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
240
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