TECHNOLOGY - kuimoani/defold GitHub Wiki
Features
Defold๋ ํตํฉ ์๋ฃจ์ ์ผ๋ก์ ๊ฒ์์ ๊ฐ๋ฐํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ์ ๊ณตํฉ๋๋ค.
Animation
- ์คํ๋ผ์ดํธ, GUI๋ ธ๋, ํํฐํด์ ์ํ ํ๋ฆฝ๋ถ ์ ๋๋ฉ์ด์ (Flipbook animation)
- ๋ธ๋ ๋ฉ์ ์๋ฒฝํ๊ฒ ์ง์ํ๋ ์คํ์ธ ๋ณธ ์ ๋๋ฉ์ด์ (Spine bone animation)
- ํคํ๋ ์ ์ด๋ฒคํธ
- ํคํ๋ ์์์์ ์ธ๋ฒ์ค ํค๋ค๋งํฑ์ค(Inverse kinematics) ์ ๋์ ์คํฌ๋ฆฝํ
- ์คํ๋ผ์ดํธ์ GUI ํ๋กํผํฐ ๋ชจ๋์์ ์ ๋๋ฉ์ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ๋ชจ๋ ํ๋กํผํฐ ์ ๋๋ฉ์ด์ ์ ์ํด ์ฌ์ ์ ์(Predefined)๋์๊ฑฐ๋ ์ปค์คํ (custom)ํ ์ด์ง ํจ์(easing functions)
Cross-platform
- ๋์ผํ ์ฝ๋์ ์ปจํ ์ธ ์์ ์ ํด๋ฆญ์ผ๋ก 6๊ฐ ํ๊ฒ ํ๋ซํผ ๊ฐ๋ฐ (iOS, Android, HTML5, OS X, Windows, Linux)
- Mac OS X (10.7 Lion ์ด์), Windows 7 ์ด์, Linux (Ubuntu LTS ๋ฐ ์ธ์ฆ๋ Debian 7)์์ ์คํ ๊ฐ๋ฅํ ์๋ํฐ์ ๋๊ตฌ๋ค
Version control
- ํ์ ํตํด ๋ณ๊ฒฝ์ฌํญ์ผ ๋๊ธฐํ ํ๊ณ ์ฝ๊ฒ ์ก์ธ์ค ํ ์ ์๋ Git ๊ด๋ฆฌ ํ๋ก์ ํธ
- ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฝ๊ฒ ๋ณํฉํ ์ ์๋๋ก ํ ์คํธ ๊ธฐ๋ฐ ํ์ผ๋ก ์ ๊ณต
Optimization
- ์์ ์์ง ์ค๋ฒํค๋ (ํ์ฌ ์ฝ 5Mb ์ ๋์ด์ง๋ง ๋ ์ค์ด๋ ๊ฒ์ด ๋ชฉํ์)
- ๋น ๋ฅธ ๋น๋์๊ฐ. HTML5๋ฅผ ๋น๋กฏํ ๋ชจ๋ ๋น๋ ํ๊ฒ์ ์ ์ด๋ง์ ์๋ฃ ๊ฐ๋ฅ
- ์ ์ ์ปจํ ์ธ ์ข ์์ฑ(Static content dependencies)์ ์๋ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ ๊ณตํจ. ์ฌ์ฉ๋ ์์ ๋ง ๊ฒ์ ๋น๋์ ํฌํจ๋จ
- ์ํ๋ผ์ค(atlas)์ ์คํ๋ผ์ดํธ ํจํน(packing)
- ํ๋ซํผ ๋ง๋ค ๊ตฌ์ฑ ๊ฐ๋ฅํ ํ ์ค์ณ ์์ถ
- ๋ ๋๋ง ํ์ดํ๋ผ์ธ์ ๋์ ๋ฐฐ์น(batch)
- ๋น๋๊ธฐ(๋๋ ๋๊ธฐ) ์์ ๋ฐ์ดํฐ ๋ก๋ฉ
Graphics
- ์ ๋ ๋ฒจ ์ ๊ทผ์ด ๊ฐ๋ฅํ ์์ ํ ์คํฌ๋ฆฝํ ๋ ๋๋ง ํ์ดํ๋ผ์ธ
- ์ปค์คํ ๋ฉํฐ๋ฆฌ์ผ๊ณผ ์์ด๋
- emitter์ modifier ๋์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ ์ ์๋ ํํฐํด ์ดํํธ ์๋ํฐ
- ํํฐํด ์๋ช (lifespan)์ ๋ํ ํํฐํด ํ๋ผ๋ฉํฐ๋ฅผ ์ ์ดํ๋ ์ปค๋ธ(Curve) ์๋ํฐ
- 2D ๋ ๋ฒจ์ ์ง์ค๋ฉํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์ผ ์๋ํฐ
- GUI ์๋ํฐ
- ํ ์คํธ, ์ด๋ฏธ์ง, Pie ๋ ธ๋๋ฅผ ์ฌ์ฉํ๋ ๋ ์ด์ด ๊ธฐ๋ฐ GUI
- GUI ํด๋ฆฌํ(clipping)/์คํ ์ค(stencil) ๋ง์คํฌ(masks)
- slice-9 ํ ์ค์ณ๋ฅผ ์ง์ํ๋ GUI ์ด๋ฏธ์ง ๋ ธ๋
- ์๋ GUI ๋ ์ด์์๊ณผ ๋ฐฉํฅ์ ํ(orientation changes) ๊ธฐ๋ฅ ์ง์
- ๋นํธ๋งต ๋ฐ ๋์คํด์ค ํ๋ ํฐํธ(distance field font)
- ํธ๋ฃจํ์ , ์คํํ์ , BMFont ์ง์
Physics
- 2D ์ 3D ๋ฌผ๋ฆฌ(Box2D ๋ฐ Bullet) ์์ ํตํฉ
- ์ ํํ ์ถฉ๋ ๊ฐ์ง
- ์ ์ (Static), ๋์ (dynamic), ์ด๋ํ(kinematic - ์คํฌ๋ฆฝํ ๊ฐ๋ฅ) ๋ฌผ๋ฆฌ ์ค๋ธ์ ํธ
- ๊ฐ๋ ฅํ ํธ๋ฆฌ๊ฑฐ
Audio
- Ogg ๋ฐ Wav ์ฌ์ด๋ ์ง์
- ๋ฏน์์ ๊ณ์ธต๊ตฌ์กฐ, ์๋ฒฝํ ์คํฌ๋ฆฝํ ์ง์
Workflow
- ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ข ์๋์ง ์๋ ํตํฉ ์ํํธ์จ์ด. iOS ๋ฐฐํฌ์ฉ์ผ๋ก Xcode ํ์ ์์
- ์ ๋ฐ์ดํธ๋ ์์ ๋ฐ ๋ก์ง ํซ ๋ฆฌ๋ก๋(hot reload)
- ์ฅ์น์์ ๋ฌด์ ์ผ๋ก ํซ ๋ฆฌ๋ก๋ฉ, ๋๋ฒ๊น , ๋น์ฃผ์ผ ํ๋กํ์ผ๋ง
- ์์ ๊ณผ ๋ก์ง์ ์กฐํฉํ๊ณ ๋ฐฐ์นํ๋ ์ฌ ์๋ํฐ(Scene editor)
- ๋ชจ๋ ํ๋ซํผ์์ ํฌ๋์ฌ ๋ฆฌํฌํธ API ์ง์
- ์์ ์๋ ๋ฆฌํํ ๋ง
- ํ ํ๋ฆฟ์ ์ฌ์ฉํ GUI ๋ฐ ์ปฌ๋ ์ ์ ์ฌ์ฉํ ๊ฒ์ ์์ ์ ํ๋ฆฌํฉ(prefab) ๊ตฌ์ฑ
- ์ปค์คํ ์ํฌํ๋ก์ฐ๋ฅผ ์ํ ๋ ๋ฆฝ ์คํ ๋น๋ ํ์ดํ๋ผ์ธ(Stand alone build pipeline)
- ํ ์คํธ ์๋ํ๋ฅผ ์ํ ํค๋๋ ์ค(headless) ์์ง
- ํ๋ก์ ํธ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณต์
Debug & test
- ์ ์ ๋ฐ ์ถ์ ์ ์ํด ์ปค์คํ Lua ํํน(hooks)์ ์ฌ์ฉํ ํซ ๋ฆฌ๋ก๋
- ๋ผ์ด๋ธ ํ๋ฉด์์ ๋น์ฃผ์ผ ํ๋กํ์ผ๋ฌ
- ๋น์ฃผ์ผ ํ๋ ์ ์ํ๋ง์ ์ฌ์ฉํ ์๊ฒฉ ์น ๊ธฐ๋ฐ ํ๋กํ์ผ๋ฌ
- Zerobrane์ ํตํ Lua ๋๋ฒ๊น
- ๊ฒ์ ์ฅ๋ฉด์ ์ํ ๋ด์ฅ ๋น๋์ค ์บก์ณ
- ๋ค์ดํฐ๋ธ ํฌ๋์ ๋ก๊ทธ API
Scripting
- Lua ์ธ์ด๋ ๊ฒ์ ๋ก์ง์ ์์ ํ๊ณ ์ข์ ์ฑ๋ฅ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํ ์์ ํ๊ฒ ํตํฉ๋จ
- ์์ง์ ๋ฎ์ ์ค๋ฒํค๋์ ํ๋ฅญํ ์ฑ๋ฅ์ ์ํด ๋ฐ์ํ(reactive-style) Lua ์คํฌ๋ฆฝํ ์ ์ง์ํจ
- ๊ฒ์ ์ค๋ธ์ ํธ๊ฐ์ ๋น๋๊ธฐ ์ปค๋ฎค๋์ผ์ด์
Extensions
- Google ๋ฐ Apple ํธ์ฌ ์๋ฆผ API
- Google ๋ฐ Apple ์ธ-์ฑ ๊ฒฐ์ API
- Facebook API
- HTTP ๋ฐ Lua ์์ผ ๋คํธ์ํฌ API