FAQ - kuimoani/defold GitHub Wiki

FAQ

General questions

Defold๋Š” ์ •๋ง ๋ฌด๋ฃŒ์ž…๋‹ˆ๊นŒ?

๋„ค, Defold ์—”์ง„๊ณผ ์—๋””ํ„ฐ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์€ ์™„์ „ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. ์ˆจ๊ฒจ์ง„ ๋น„์šฉ, ์ˆ˜์ˆ˜๋ฃŒ, ๋กœ์—ดํ‹ฐ๋„ ์—†๋Š” ์™„์ „ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฒ ํƒ€๊ธฐ๊ฐ„ ์ดํ›„์—๋„ ๋น„์šฉ์„ ์ฒญ๊ตฌํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์™œ King์€ Defold๋ฅผ ๊ณต๊ฐœํ–ˆ๋‚˜์š”?

์ƒ์—…์šฉ ๊ฒŒ์ž„ ํšŒ์‚ฌ๊ฐ€ ํ•ต์‹ฌ ๊ธฐ์ˆ ์„ ๊ณต๊ฐœํ•˜๋Š” ๊ฒƒ์€ ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์ง€๋งŒ ๋” ๋งŽ์€ ์‚ฌ๋žŒ์ด Defold๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์—”์ง„ ๋ฐœ์ „์— ๋” ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. Defold๋ฅผ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋ฆด๋ฆฌ์ฆˆ ํ•จ์œผ๋กœ์จ ๋ชจ๋‘๊ฐ€ Defold๋ฅผ ๋” ๋‚ซ๊ฒŒ ๋งŒ๋“œ๋Š”๋ฐ ํŠœํ† ๋ฆฌ์–ผ์„ ๋งŒ๋“ค๊ณ , ๋ฒ„๊ทธ๋ฅผ ์ฐพ๊ณ , ๋ฌธ์„œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋“ฑ์˜ ๋„์›€์„ ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‚ด๋ถ€์ ์œผ๋กœ ํ‚น๋‹ท์ปด์ด Defold๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์—”์ง„์ด ์ข‹์•„์งˆ ์ˆ˜๋ก ๋‚ด๋ถ€ ๊ฐœ๋ฐœ์ž๋“ค๋„ ๋”์šฑ ํ–‰๋ณตํ•ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ›Œ๋ฅญํ•œ ๊ธฐ์ˆ ์ด ๊ณง ํ›Œ๋ฅญํ•œ ์žฌ๋Šฅ์„ ์ด๋Œ์–ด ๋‚ธ๋‹ค๊ณ  ๋ฏฟ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ถ๊ทน์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ‚น๋‹ท์ปด ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๊ฒŒ์ž„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ๋” ๋‚˜์€ ๊ฒŒ์ž„์„ ์ด๋Œ์–ด ๋‚ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ›Œ๋ฅญํ•œ ๊ฒŒ์ž„์„ ๋งŒ๋“ค๊ณ  ์ถ•ํ•˜ํ•˜๋ฉฐ ์‚ฌ๋žŒ๋“ค์ด ๋†€๋ผ์šด ๊ฒŒ์ž„์„ ๋งŒ๋“œ๋Š” ๊ฒƒ, ์ด๊ฒŒ ์ „๋ถ€์ด๋ฉฐ ์šฐ๋ฆฌ๊ฐ€ ์ง€ํ–ฅํ•˜๋Š” ๋ฐ”์ž…๋‹ˆ๋‹ค.

Defold๋ฅผ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์ง€์›ํ•  ์˜ˆ์ •์ธ๊ฐ€์š”?

์šฐ๋ฆฌ๋Š” Defold์— ๊นŠ์ด ํ—Œ์‹ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ‚น์˜ ๊ฒŒ์ž„ ์ŠคํŠœ๋””์˜ค๋Š” ์ „ ์„ธ๊ณ„์—์„œ ์ˆ˜ ๋…„๋™์•ˆ ๊ฒŒ์ž„์„ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‰ฝ๊ฒŒ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ „๋ฌธ์ ์ธ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด Defold๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

๋„ค, ์šฐ๋ฆฌ๋Š” "์ง์ ‘ ํ•ด ๋ด์•ผ ์•ˆ๋‹ค(eatting your own dogfood)"๋ผ๋Š” ์†๋‹ด์„ ๋ฏฟ๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฑฐ์˜ ๋ชจ๋“  ์ƒˆ๋กœ์šด ๊ฒŒ์ž„ IP๋ฅผ ํ‚น๋‹ท์ปด์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์™œ Defold ์„œ๋ฒ„์— ๋‚ด ๊ฒŒ์ž„์„ ์ €์žฅํ•ด์•ผ ํ•˜๋‚˜์š”?

Defold๋Š” ์›๋ž˜๋ถ€ํ„ฐ ํ˜‘์—… ๋„๊ตฌ์™€ ์ €์žฅ์†Œ๋ฅผ ํฌํ•จํ•œ ์™„์ „ํ•œ ์„œ๋น„์Šค๋ฅผ ์œ„ํ•ด ์„ค๊ณ„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ด์ ์ด ์žˆ์œผ๋ฉฐ ๋Œ€์‰ฌ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ €๋“ค์—๊ฒŒ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ง€์›์„ ์ง€์†ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ผ๋ถ€ ์‚ฌ์šฉ์ž๋Š” ๋‹ค๋ฅธ ์Šคํ† ๋ฆฌ์ง€ ์ œ๊ณต์ž๋ฅผ ์›ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์ค‘์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ธฐ์ˆ ์— ์ต์ˆ™ํ•˜๋‹ค๋ฉด HOWTO on our forum๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ์ด๋ฅผ ์šฐํšŒํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Defold๋Š” ๋ˆ„๊ฐ€ ๋งŒ๋“œ๋‚˜์š”?

Defold๋Š” Ragnar Svensson ๊ณผ Christian Murray์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ 2009๋…„์— ์—”์ง„, ์—๋””ํ„ฐ, ์„œ๋ฒ„ ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜์˜€์œผ๋ฉฐ King์€ Defold์™€ 2013๋…„์— ํŒŒํŠธ๋„ˆ์‰ฝ์„ ๋งบ๊ณ  2014๋…„์— ์ธ์ˆ˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์Šคํ† ๋ฆฌ๋Š” ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

Defold๋Š” ์–ด๋–ค ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰๋˜๋‚˜์š”?

์—๋””ํ„ฐ, ๋„๊ตฌ, ์—”์ง„ ๋Ÿฐํƒ€์ž„์€ ์•„๋ž˜ ํ”Œ๋žซํผ๋“ค์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

macOS/OS X 10.7 Lion Editor and runtime
Windows Vista Editor and runtime
Linux (32 bit and 64 bit) Editor and runtime
iOS 5.1 Runtime
Android 2.3 (API level 9) Runtime
HTML5 Runtime

Defold๋Š” ์–ด๋–ค ๋ Œ๋”๋ง API๋ฅผ ์‚ฌ์šฉํ•˜๋‚˜์š”?

Defold๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์ง€์›๋˜๋Š” ๊ทธ๋ž˜ํ”ฝ ๋ Œ๋”๋ง์„ ์œ„ํ•ด OpenGL ES 2.0๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Defold๋กœ ๊ฒŒ์ž„์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์ƒ ํ”Œ๋žซํผ(target platform)์€ ์–ด๋–ค๊ฒŒ ์žˆ์„๊นŒ์š”?

ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ Windows, Linux, MacOS/OSX ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ iOS, Android, HTML5 ๋กœ๋„ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ™์€ ์ฝ”๋“œ๋กœ 6๊ฐœ์˜ ํ”Œ๋žซํผ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Defold์—์„œ 3D ๊ฒŒ์ž„๋„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

๋„ค! ์ด ์—”์ง„์€ 3D ๊ธฐ๋ฐ˜ ์—”์ง„์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„๊ตฌ๋“ค์€ 2D์— ๋งž์ถฐ์ ธ ์žˆ์œผ๋ฏ€๋กœ ๋” ์†์ด ๋งŽ์ด ๊ฐ€๊ธฐ๋Š” ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋‚˜์€ 3D ์ง€์› ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ๊ณ„ํš์ค‘ ์ž…๋‹ˆ๋‹ค.

Defold์—์„œ๋Š” ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์จ์•ผ ํ•˜๋‚˜์š”?

Defold ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฒŒ์ž„ ๋กœ์ง์€ ์Šคํฌ๋ฆฝํŠธ๋กœ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค. Defold ์—”์ง„์€ ์Šคํฌ๋ฆฝํŒ…์„ ์œ„ํ•ด Lua ์–ธ์–ด๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Lua๋Š” ๊ฐ€๋ฒผ์šด ๋™์  ์–ธ์–ด๋กœ์„œ ์•„์ฃผ ๋น ๋ฅด๊ณ  ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค. technology summary๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ๋ฉ”ํ„ฐ๋ฆฌ์–ผ์„ ๋นŒ๋“œํ•  ๋•Œ๋Š”, OpenGL ES SL ์‰์ด๋” ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„ํ…์Šค(vertex)์™€ ํ”„๋ ˆ๊ทธ๋จผํŠธ(fragment) ์‰์ด๋”๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์‹คํ–‰์ค‘์ธ ๋ฒ„์ „์„ ์•Œ์•„๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‚˜์š”?

๋„ค, ๋ฉ”๋‰ด์—์„œ "About Defold Editor"๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํŒ์—…์ฐฝ์œผ๋กœ Defold ๋ฒ ํƒ€ ๋ฒ„์ „๊ณผ ๋” ์ค‘์š”ํ•œ ํŠน์ • ๋ฆด๋ฆฌ์ฆˆ SHA1๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ๋ฒ„์ „์„ ์•Œ์•„๋‚ด๋ ค๋ฉด sys.get_engine_info()๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ์ตœ์‹  ๋ฒ ํƒ€ ๋ฒ„์ „์€ http://d.defold.com/beta ์—์„œ http://d.defold.com/beta/info.json (์•ˆ์ •ํ™” ๋ฒ„์ „์€ http://d.defold.com/stable/info.json ์— ์žˆ์Šต๋‹ˆ๋‹ค.)๋ฅผ ์—ด์–ด์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Defold ๋ฒ ํƒ€ ๋ฒ„์ „์€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ ๋˜๋‚˜์š”?

๋„ค, Defold ๋ฒ ํƒ€๋Š” Defold ์•ˆ์ •ํ™”(stable) ๋ฒ„์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‹คํ–‰์‹œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ Git ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋˜๋‚˜์š”?

๋„ค ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค:

  1. ๋จผ์ € Open Project ๊ณผ New Branch ๋ฅผ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. "Defold/branches/[project_id]/[user_id]/[name_of_branch]" ์— ์žˆ๋Š” ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋‹น์‹ ์˜ Git ํด๋ผ์ด์–ธํŠธ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  3. Defold ์œ ์ €์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” Defold ๋Œ€์‰ฌ๋ณด๋“œ์˜ "Settings"์—์„œ "Access token" ๊ฐ’(๊ธด 16์ง„์ˆ˜๋กœ ๋œ ๊ฐ’)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด์ œ ์›ํ•˜๋Š” ๋Œ€๋กœ add, commit, revert, branch, merge ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ Defold์— ์ฆ‰์‹œ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. Defold๋Š” ์—๋””ํ„ฐ์—์„œ ์ž‘์„ฑํ•œ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ž๋™์ ์œผ๋กœ stage์— ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

๋‚ด ๊ฒŒ์ž„์„ Appstore์— ๊ฒŒ์‹œํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. IDFA์— ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ• ๊นŒ์š”?

Defold๋Š” IDFA(๊ด‘๊ณ  ์‹๋ณ„์ž) ์ง€์›์„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์œผ๋ฉฐ sys.get_sys_info() ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ œ์ถœํ•˜๋ ค๋ฉด, Apple์€ IDFA๋ฅผ ์œ„ํ•œ 3๊ฐ€์ง€ ์œ ํšจํ•œ ์‚ฌ๋ก€๋ฅผ ์ฒดํฌ๋ฐ•์Šค๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  1. Serve ads within the app (์•ฑ์œผ๋กœ ๊ด‘๊ณ  ์ „์†ก)
  2. Install attribution from ads (์ „์†กํ•œ ๊ด‘๊ณ ๊ฐ€ ์ด ์•ฑ ์„ค์น˜์— ๊ธฐ์—ฌํ•จ)
  3. User action attribution from ads (์ „์†กํ•œ ๊ด‘๊ณ ๊ฐ€ ์ด ์•ฑ์—์„œ ์ˆ˜ํ–‰ํ•œ ์œ ์ € ์•ก์…˜์— ๊ธฐ์—ฌํ•จ)

์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์„ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ, ์•ฑ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์•ฑ์— ํ‘œ์‹œ๋  ๊ด‘๊ณ ๋ฅผ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ฒŒ์ž„์— ๊ด‘๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ๊ฒŒ์ž„์ด ๋ฆฌ์ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Defold์—์„œ id๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋กœ์Šค ํ”„๋กœ๋ชจ์…˜์„ ์ง€์›ํ•˜๋ ค๋ฉด ๋‘๋ฒˆ์งธ ์˜ต์…˜์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Errors using Defold

์™œ ์—๋””ํ„ฐ๊ฐ€ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด ์ˆ˜ ์—†์ฃ ?

Defold ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฒฝ๋กœ์— ๊ณต๋ฐฑ์ด ์—†๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด OSX์—์„œ "Applications" ํด๋”์˜ ์—๋””ํ„ฐ์˜ OSX ๋ฒ„์ „์„ ํฌํ•จํ•˜๋Š” "Defold-macosx" ํด๋”์— ์„ค์น˜ํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํด๋”๋ช…์„ "Defold macosx"๋กœ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Windows์—์„œ๋Š” Defold๊ฐ€ "C:\Program Files" ์•„๋ž˜์— ์žˆ์„ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ Eclipse ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ฒ„๊ทธ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.

๊ฒŒ์ž„์„ ์‹œ์ž‘ํ•  ์ˆ˜๋„ ์—†๊ณ  ๋นŒ๋“œ ์—๋Ÿฌ๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋ญ๊ฐ€ ์ž˜๋ชป๋œ๊ฑฐ์ฃ ?

์ด์ „์— ์ˆ˜์ •ํ•œ ๋นŒ๋“œ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋“œ๋ฌผ๊ฒŒ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฆฌ๋นŒ๋“œ์— ์‹คํŒจํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋นŒ๋“œ๋ฅผ ๊ฐ•์ œ๋กœ ์žฌ์‹œ์ž‘ ํ•˜๋ ค๋ฉด Project > Rebuild And Launch ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํฌ๋กฌ์—์„œ ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด์—์„œ ๋‚ด HTML5 ์•ฑ์ด ๋ฉˆ์ถ”๋Š”๋ฐ ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?

์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋กœ์ปฌ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์—๋””ํ„ฐ์—์„œ ์‹คํ–‰ํ•˜๋ฉด ๋กœ์ปฌ ์›น์„œ๋ฒ„๋กœ ๊ฒŒ์ž„์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ํŒŒ์ด์ฌ์œผ๋กœ SimpleHTTPServer ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

$ python -m SimpleHTTPServer [port]

macOS Sierra problems

macOS Sierra์—์„œ ์‹คํ–‰ํ•˜๋ฉด ์—๋””ํ„ฐ๊ฐ€ ํฌ๋ž˜์‰ฌ๋‚ฉ๋‹ˆ๋‹ค.

๋ฒˆ๋“ค ์„ค์น˜๋Š” Sierra์˜ ์ƒˆ ๋ณด์•ˆ ๊ฒ€์‚ฌ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์—†์ง€๋งŒ ์šฐ๋ฆฌ๋Š” MacOS์—์„œ ๋ฒˆ๋“ค์„ ์—…๋ฐ์ดํŠธ์ค‘์ด๋ฉฐ ๊ณง ๋ฆด๋ฆฌ์ฆˆํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ์ž„์‹œ๋กœ ํ„ฐ๋ฏธ๋„์—์„œ ์—๋””ํ„ฐ๋ฅผ ์‹œ์ž‘ํ•ด์„œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

$ cd /Applications/Defold-macosx
$ open Defold.app/Contents/MacOS/Defold

Defold๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๊ณ  Sierra๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ–ˆ๋‹ค๋ฉด ์ž˜ ๋™์ž‘ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” Defold๋ฅผ ์ƒˆ๋กœ ์„ค์น˜ํ•  ๊ฒฝ์šฐ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Linux problems

Linux 64 ๋น„ํŠธ์—์„œ ์‹คํ–‰์ค‘์ด๋ฏ€๋กœ ์—๋””ํ„ฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋Œ€์‰ฌ๋ณด๋“œ์—์„œ ์—๋””ํ„ฐ์˜ 64๋น„ํŠธ ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์ œ๊ณต๋œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋กœ ์—๋””ํ„ฐ๋ฅผ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”.

$ ./Defold-linux.sh

"Dofold"๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

Linux ์—์„œ ์‹คํ–‰์ค‘์ธ๋ฐ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ์—ด๋ ค๊ณ  ํ•ด๋„ ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ 32๋น„ํŠธ Linux์—์„œ ์‹คํ–‰์ค‘์ธ ๊ฒฝ์šฐ, ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ libwebkitgtk ์ด ์„ค์น˜๋˜์ง€ ์•Š์•˜์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. libwebkitgtk version 1.0-0๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์—๋””ํ„ฐ๋ฅผ ์žฌ์‹œ์ž‘ ํ•ด๋ณด์„ธ์š”.

Linux์—์„œ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ ์ƒˆ ๋ธŒ๋žœ์น˜(branch)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

libssl 0.9.8์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”. ๋ช‡๋ช‡ ๋ฐฐํฌํŒ์€ ์ด ์ดํ›„์˜ ๋ฒ„์ „์„ ์ œ๊ณตํ•˜์ง€๋งŒ Defold๋Š” 0.9.8 ๋ฒ„์ „์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค.

Linux์—์„œ ๋‚ด ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๋ฉด, ์—”์ง„์ด ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Check the console output in the editor. If you get the following message: ์—๋””ํ„ฐ์˜ ์ฝ˜์†” ์ถœ๋ ฅ ์ฐฝ(console output)์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์•„๋ž˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋ณด์ด๋ฉด:

/home/myname/Desktop/Defold/plugins/com.dynamo.cr.engine_1.0.0.201502231306/engine/linux/dmengine: error while loading shared libraries: libopenal.so.1: cannot open shared object file: No such file or directory

libopenal1์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Working with game content

Defold๋„ ํ”„๋ฆฌํŽฉ(prefabs)๋ฅผ ์ง€์›ํ•˜๋‚˜์š”?

๋„ค ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ปฌ๋ ‰์…˜(collections)์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ•ฉ์ ์ธ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ ๊ณ„์ธต์„ ์ƒ์„ฑํ•˜๊ณ  ์—๋””ํ„ฐ์ƒ์—์„œ ๋˜๋Š” ๋Ÿฐํƒ€์ž„์‹œ์— ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ(์ปฌ๋ ‰์…˜ ์Šคํฐ์„ ํ†ตํ•ด์„œ)ํ•˜์—ฌ ํŠน์ • ๋นŒ๋”ฉ ๋ธ”๋ก(building blocks)์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GUI ๋…ธ๋“œ๋Š” GUI ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์˜ ์ž์‹(child)์œผ๋กœ ๋‹ค๋ฅธ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์™œ์ฃ ?

๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ ํŒŒ์ผ์—์„œ ์ž์‹ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•ด์„œ ๊ทธ๋Ÿฐ๊ฒƒ ๊ฐ™์€๋ฐ ์ด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ถ€๋ชจ-์ž์‹ ๊ณ„์ธต์€ ์—„๊ฒฉํ•˜๊ฒŒ ์”ฌ-๊ทธ๋ž˜ํ”„ ๋ณ€ํ™˜ ๊ณ„์ธต(cene-graph transform hierarchy)์ž„์„ ๊ธฐ์–ตํ•˜๊ณ  ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์”ฌ(์ปฌ๋ ‰์…˜)์— ๋ฐฐ์น˜๋˜์ง€ ์•Š์€(๋˜๋Š” ์Šคํฐ๋˜์ง€ ์•Š์€) ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋Š” ์”ฌ-๊ทธ๋ž˜ํ”„(scene-graph)์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์”ฌ-๊ทธ๋ž˜ํ”„ ๊ณ„์ธต์—์„œ๋„ ์ผ๋ถ€๊ฐ€ ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์˜ ๋ชจ๋“  ์ž์‹๋“ค(children)์—๊ฒŒ ๋ฉ”์„ธ์ง€๋ฅผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ๋ญ์ฃ ?

๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋Š” ์”ฌ-๊ทธ๋ž˜ํ”„ ๋ณ€ํ™˜ ๊ด€๊ณ„(scene-graph transform relations) ์ด์™ธ์˜ ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด์ง€๋Š” ์•Š์œผ๋ฉฐ ๊ฐ์ฒด์ง€ํ–ฅ์—์„œ์˜ ์ง‘ํ•ฉ ๊ฐœ๋…์œผ๋กœ ์ƒ๊ฐํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ์— ์ค‘์ ์„ ๋‘๊ณ  ๊ฒŒ์ž„ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ ์ตœ์ƒ์˜ ๋ณ€๊ฒฝ(transform) ๋ฐฉ๋ฒ•์„ ์ฐพ์œผ๋ฉด ์ƒํƒœ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ๋งค๋ฒˆ ๋งŽ์€ ์˜ค๋ธŒ์ ํŠธ๋“ค์—๊ฒŒ ๋ณด๋‚ผ ํ•„์š”๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—” Lua์—์„œ ์‰ฝ๊ฒŒ ๊ตฌ์„ฑํ•˜๊ณ  ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ”„๋ผ์ดํŠธ ๊ฐ€์žฅ์ž๋ฆฌ์— ์‹œ๊ฐ์ ์ธ ์ด์ƒํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๋Š” ์•„ํ‹€๋ผ์Šค์—์„œ ์ธ์ ‘ํ•œ ํ”ฝ์…€์˜ ๊ฐ€์žฅ์ž๋ฆฌ ํ”ฝ์…€์ด ์Šคํ”„๋ผ์ดํŠธ์— ํ• ๋‹น๋œ ์ด๋ฏธ์ง€๋กœ ํ˜๋Ÿฌ ๋‚ด๋ฆฌ๋Š” "edge bleeding" ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์‹œ๊ฐ์  ์ด์ƒํ˜„์ƒ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋™์ผํ•œ ํ”ฝ์…€์˜ ํ–‰๋ ฌ(row and column)์„ ์ด์šฉํ•˜์—ฌ ์•„ํ‹€๋ผ์Šค ์ด๋ฏธ์ง€์˜ ๊ฐ€์žฅ์ž๋ฆฌ๋ฅผ ํŒจ๋”ฉ์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ์ด ๋ฌธ์ œ๋Š” Defold์˜ ์•„ํ‹€๋ผ์Šค ์—๋””ํ„ฐ์—์„œ ์ž๋™์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํ‹€๋ผ์Šค๋ฅผ ์—ด์–ด Extrude Borders ๊ฐ’์„ 1๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ”„๋ผ์ดํŠธ ์ƒ‰์กฐ(tint)๋ฅผ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ์•„๋‹ˆ๋ฉด ์‰์ด๋”๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ• ๊นŒ์š”?

๋„ค ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‚ด์žฅ๋œ ์Šคํ”„๋ผ์ดํŠธ ์‰์ด๋”๋Š” "tint" ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

sprite.set_constant("#sprite", "tint", vmath.vector4(r, g, b, a))

์Šคํ”„๋ผ์ดํŠธ์˜ z์ขŒํ‘œ๋ฅผ 100์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ์ฃ ?

๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ์˜ Z-position์€ ๋ Œ๋”๋ง ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๋‚ฎ์€ ๊ฐ’์€ ๋†’์€ ๊ฐ’ ๋ณด๋‹ค ๋จผ์ € ๊ทธ๋ ค์ง‘๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ Œ๋” ์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” -1์—์„œ 1 ์‚ฌ์ด ๋ฒ”์œ„ ๊นŠ์ด์˜ ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋งŒ ๊ทธ๋ ค์ง€๊ณ  ๊ทธ ์ด์ƒ์ด๋‚˜ ์ดํ•˜๋Š” ๊ทธ๋ ค์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ Œ๋”๋ง ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด์„œ๋Š” Rendering ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค. GUI ๋…ธ๋“œ์˜ Z ๊ฐ’์€ ๋ฌด์‹œ๋˜๋ฉฐ ๋ Œ๋”๋ง ์ˆœ์„œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋…ธ๋“œ๋“ค์€ ์ž์‹ ๊ณ„์ธต๊ตฌ์กฐ(child hierarchies) ๋˜๋Š” ๋ ˆ์ด์–ด์— ๋‚˜์—ด๋œ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. gui ๋ Œ๋”๋ง์ด๋‚˜ ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋“œ๋กœ์šฐ์ฝœ์„ ์ตœ์ ํ™” ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ GUI ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

view projection Z-range๋ฅผ -100์—์„œ 100 ์‚ฌ์ด ๊ฐ’์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์„ฑ๋Šฅ์— ์˜ํ–ฅ์ด ์žˆ๋‚˜์š”?

์•„๋‹ˆ์˜ค. ์ •๋ฐ€๋„(precision)๋งŒ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. z-buffer๋Š” ๋กœ๊ทธ(logarithmic)์ด๋ฉฐ 0์—์„œ ๋ฉ€์–ด์งˆ ์ˆ˜๋ก ๋‚ฎ์€ ํ•ด์ƒ๋„, 0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก z๊ฐ’์˜ ์•„์ฃผ ๊ดœ์ฐฎ์€ ํ•ด์ƒ๋„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 24๋น„ํŠธ ๋ฒ„ํผ์˜ ๊ฒฝ์šฐ 10.0 ๊ณผ 10.000005๋Š” ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ 10000๊ณผ 10005๋Š” ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์•ต๊ธ€(angle)๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ผ๊ด€์„ฑ์ด ์—†๋Š”๋ฐ, ์™œ์ฃ ?

์‹ค์ œ๋กœ๋Š” ์ผ๊ด€์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•ต๊ธ€(angle)์€ ๊ฒŒ์ž„ API์™€ ์—๋””ํ„ฐ ๋ชจ๋“  ๊ณณ์—์„œ ๊ฐ๋„(degree)๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ•™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ผ๋””์•ˆ(radian)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ด€๋ก€๋กœ๋Š” radians/s๋กœ ํ‘œํ˜„๋˜๋Š” "angular_velocity" ๋ฌผ๋ฆฌ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋ฐ”๋€” ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ปฌ๋Ÿฌ๋งŒ ์ž…ํ˜€์ง„(ํ…์Šค์ณ๊ฐ€ ์—†๋Š”) GUI box-node๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์–ด๋–ป๊ฒŒ ๋ Œ๋”๋ง ๋˜๋‚˜์š”?

์ด๊ฑด ๊ทธ๋ƒฅ ๋ฒ„ํ…์Šค ์ปฌ๋Ÿฌ ๋ชจํ˜•(vertex colored shape)์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์—ฌ์ „ํžˆ fill-rate ๋น„์šฉ์ด ์žˆ์Œ์„ ๋ช…์‹ฌํ•˜๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ฆ‰์„์œผ๋กœ ์—์…‹์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ์—”์ง„์—์„œ ์ž๋™์œผ๋กœ ์–ธ๋กœ๋“œ ํ•˜๋‚˜์š”?

๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ ˆํผ๋Ÿฐ์Šค ์ˆ˜๊ฐ€ ๊ณ„์‚ฐ(ref-counted)๋ฉ๋‹ˆ๋‹ค. ref-count๊ฐ€ 0์ด ๋˜๋ฉด ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•ด์ œ(release)๋ฉ๋‹ˆ๋‹ค.

๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ์— ์ฒจ๋ถ€๋œ ์˜ค๋””์˜ค ์ปดํฌ๋„ŒํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

๋ชจ๋“  ๊ฒƒ์€ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šด๋“œ๋ฅผ ๊ฐ€์ง„ ๋นˆ ๊ฒŒ์ž„์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šด๋“œ ์ปจํŠธ๋กค๋Ÿฌ ์˜ค๋ธŒ์ ํŠธ์— ๋ฉ”์„ธ์ง€๋ฅผ ๋ณด๋‚ด์„œ ์‚ฌ์šด๋“œ๋ฅผ ์žฌ์ƒํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ interval ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šด๋“œ๋ฅผ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„์‹œ ์˜ค๋””์˜ค ์ปดํฌ๋„ŒํŠธ์™€ ์—ฐ๊ฒฐ๋œ ์˜ค๋””์˜ค ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š”๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€์š”?

๋ณดํ†ต ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋“ค์€ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ๋ฅผ ์ž์œ ๋กญ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์žฅ์ ์œผ๋กœ ์ •์  ์„ ์–ธ(statically declared)๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ฆฌ ์ถฉ๋Œ ๋ชจํ˜•(shape) ํ”„๋กœํผํ‹ฐ์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ์˜ค. ํ˜„์žฌ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์”ฌ์—์„œ ์ถฉ๋Œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‚˜์š”? (Box2D์˜ debugdraw ์ฒ˜๋Ÿผ)

๋„ค, game.project์˜ physics.debug ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. (Project settings ๋ฌธ์„œ ์ฐธ๊ณ )

๋งŽ์€ ์ ‘์ด‰(contacts)/์ถฉ๋Œ(collisions)์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ ๋น„์šฉ์€ ์–ผ๋งˆ๋‚˜ ๋˜๋‚˜์š”?

Defold๋Š” Box2D๋ฅผ ์ˆ˜์ •ํ•œ ๋ฒ„์ „์„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์€ Box2D์™€ ๊ฑฐ์˜ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. profiler ๋ฅผ ๋ถˆ๋Ÿฌ์™€์„œ ์—”์ง„์ด ๋ฌผ๋ฆฌ ์ž‘์—…์—์„œ ์„ฑ๋Šฅ์„ ์–ผ๋งˆ๋‚˜ ์†Œ๋น„ํ•˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์–ด๋–ค ์ข…๋ฅ˜์˜ ์ถฉ๋Œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ• ์ง€๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ •์  ์˜ค๋ธŒ์ ํŠธ(Static Object)๋Š” ๊ฐ’์‹ผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Physics ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

ParticleFx ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์ด ์–ผ๋งˆ๋‚˜ ๋˜๋‚˜์š”?

๋™์ž‘ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋™์ž‘์ค‘์ด์ง€ ์•Š์€ ParticleFx์€ ํผํฌ๋จผ์Šค ์˜ํ–ฅ์ด ์ „ํ˜€ ์—†์œผ๋ฉฐ ๋™์ž‘์ค‘์ธ ParticleFx ์˜ ์„ฑ๋Šฅ ์˜ํ–ฅ์€ ์ด ์ดํŽ™ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ ํ”„๋กœํŒŒ์ผ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•ด ํ‰๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ParticleFx์˜ ๋ฉ”๋ชจ๋ฆฌ ๋น„์šฉ์€ ๊ฑฐ์˜ 140 ๋ฐ”์ดํŠธ ์ •๋„์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋‹ค๋ฅธ ๊ฒƒ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋Š” game.project์˜ max_count๋กœ ์ •์˜๋œ ParticleFx์˜ ๊ฐœ์ˆ˜ ๋งŒํผ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋กœ๋“œ๋œ ์ปฌ๋ ‰์…˜ ๋‚ด์—์„œ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๋กœ ์ธํ’‹(input)์„ ๋ฐ›์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

์ปฌ๋ ‰์…˜์ด ๋กœ๋“œ๋œ ๊ฐ ํ”„๋ก์‹œ๋Š” ์ž์ฒด์ ์ธ ์ธํ’‹ ์Šคํƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ’‹์€ ๋ฉ”์ธ ์ปฌ๋ ‰์…˜์˜ ์ธํ’‹ ์Šคํƒ์—์„œ ์ด ์ปฌ๋ ‰์…˜์˜ ์˜ค๋ธŒ์ ํŠธ๋กœ ํ”„๋ก์‹œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค. ์ฆ‰ ๋กœ๋“œ๋œ ์ปฌ๋ ‰์…˜์˜ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ธํ’‹ ํฌ์ปค์Šค๋ฅผ ํš๋“ํ•˜๋Š” ๊ฒƒ์€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ”„๋ก์‹œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ณด์œ ํ•œ ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์ธํ’‹ ํฌ์ปค์Šค๋ฅผ ํš๋“ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๊ฒƒ์€ Input ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋Ÿฐํƒ€์ž„์‹œ ๊ฒŒ์ž„์ด ์‹คํ–‰๋˜๋Š” ํ”Œ๋žซํผ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ์š”?

๋„ค, sys.get_sys_info() ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๋ฌธ์ž์—ด ํƒ€์ž…์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์•„๋‹ˆ์˜ค. Defold๋Š” hash ํƒ€์ž…์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” type, state identifiers ๋˜๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜ keys๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํ•ด์‰ฌ๋Š” ์—๋””ํ„ฐ์—์„œ ์ ์ ˆํ•œ url์„ ๋“œ๋กญ๋‹ค์šด ๋ฆฌ์ŠคํŠธ๋กœ ์ž๋™์ ์œผ๋กœ ์ฑ„์›Œ์ฃผ๋ฏ€๋กœ url ํ”„๋กœํผํ‹ฐ๊ฐ€ ์ข…์ข… ์„ ํ˜ธ๋จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฒŒ์ž„ ์˜ค๋ธŒ์ ํŠธ id(path)๋ฅผ ์ €์žฅํ•˜๋Š”๋ฐ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๊ฒƒ์€ Script properties ๋ฌธ์„œ ๋ฅผ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

Lua

Defold์—๋Š” ์–ด๋–ค Lua ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‚˜์š”?

๊ณต์‹ ๋ฌธ์„œ์— ๋‚˜์—ด๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์ œ์™ธํ•˜๊ณ ๋Š” socket library ๋ฟ๋งŒ์•„๋‹ˆ๋ผ Lua 5.1 standard libraries ์ „๋ถ€๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Basic functions (assert(), error(), print(), ipairs(), require etc)
  • coroutine
  • package
  • string
  • table
  • math
  • io
  • os
  • debug
  • socket (from LuaSocket)

The forum

๋‚ด ์ž‘์—…์„ ํ™๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๊ธ€(thread)์„ ์˜ฌ๋ ค๋„ ๋˜๋‚˜์š”?

๋ฌผ๋ก ์ด์ฃ ! ์ด๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํžˆ "Work for hire" ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ด๋“์ด๋˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ง€์›ํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.

๊ธ€์„ ๋งŒ๋“ค๊ณ  ๋‚ด ์ž‘์—…์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

"Work for hire"์— ๋„๋ฐฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹ ์˜ ๊ธ€์— 14์ผ์— ํ•œ ๋ฒˆ ์ด์ƒ ๊ฒŒ์‹œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค (๋‹น์‹ ์˜ ๊ธ€์— ์ง์ ‘ ๋‹ค๋Š” ๋Œ“๊ธ€์ด ์•„๋‹Œ ๋Œ€๋Œ“๊ธ€์€ ๊ฐ€๋Šฅํ•จ). ๋งŒ์•ฝ 14์ผ ์ด๋‚ด์— ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๊ธฐ์กด ๊ฒŒ์‹œ๋ฌผ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Work for Hire ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ๊ตฌ์ธ ๊ธ€์„ ์˜ฌ๋ ค๋„ ๋˜๋‚˜์š”?

๋ฌผ๋ก ์ด์ฃ . ๊ตฌ์ธ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ๊ตฌ์ง๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ 2d ํ”ฝ์…€ ์•„ํ‹ฐ์ŠคํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๋‚œ ๋ถ€์ž์ด๊ณ  ๋‹น์‹ ์„ ์œ„ํ•ด ์ง€๋ถˆํ•  ๋Šฅ๋ ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค." ๋ผ๊ณ  ์˜ฌ๋ ค๋„ ๋ฉ๋‹ˆ๋‹ค.