์ค์๊ฐ์ผ๋ก ๋ต๋ณ ์จ์ง๊ณ ์์ด์ ๊ทธ์ค ๋ต๋ณ ๋ฐ์๊ฑฐ ํ๋ ๊ฐ์ ธ์๋ดค์.
์ง๋ฌธ ๊ธ
์ง๋ฌธ์๋ ๊ฒ์ค์์ ์ ๋ง ์ค๋ ๊ธฐ๊ฐ 3D ์กด๋ฒํ๋ ์ฌ๋์ด๊ณ ๊ฒ์ค์์ IDE ํ๋ฌ๊ทธ์ธ๊ฐ์ ๊ธฐ๋ฅ๋ค์ด ์ค๋น๋๋ฉด ๋ฐ๋ก ๋ค ์ฎ๊ธธ ์ค๋นํ๋ ์ฌ๋์
๊ฒ์ค์ ์๋์ ๊ฐ์๊ฑธ ๋ง๋ ์ฌ๋, ์ฐธ๊ณ ๋ก ์ UIํฌํจ ์๋ํฐ ์์ฒด๋ ๊ฒ์ค๋ก ๋ง๋ค์๋๊ฐ ๊ทธ๋ผ.
Q1: Going to ask preemptively here... What does the JS/C# language support and language interoperability actually mean? Can we mix multiple languages in a single source file or project? Can we normally use all features available in those languages, like loading any third-party library we want? Can we call C# functions from GML and vice versa? Etc. etc., you know the stuff... ?
Q2: So can we do a 3D level editor in GameMaker now using Plugins? +
๋ฒ์ญ -----
Q1: ์ฌ๊ธฐ์ ์ ์ ์ ์ผ๋ก ๋ฌผ์ด๋ณด๊ฒ ์ต๋๋ค... JS/C# ์ธ์ด ์ง์๊ณผ ์ธ์ด ์ํธ ์ด์ฉ์ฑ์ด ์ค์ ๋ก ๋ฌด์์ ์๋ฏธํ๋์? ๋จ์ผ ์์ค ํ์ผ ๋๋ ํ๋ก์ ํธ์ ์ฌ๋ฌ ์ธ์ด๋ฅผ ํผํฉํ ์ ์๋์? ์ํ๋ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํ๋ ๋ฑ ํด๋น ์ธ์ด์์ ์ ๊ณต๋๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋์? GML์์ C# ํจ์๋ฅผ ํธ์ถํ ์ ์๊ณ ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ธ๊ฐ์? ๋ฑ๋ฑ, ์ฌ๋ฌ๋ถ๋ ์์๊ฒ ์ง๋ง... ?
Q2: ์ด์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ GameMaker์์ 3D ๋ ๋ฒจ ์๋ํฐ๋ฅผ ๋ง๋ค ์ ์๋์? +
๊ณต์ ๊ฐ๋ฐ์ ๋ต๋ณ
A1: Each file will have its own set language, .gml for GML, .js for JavaScript, etc. You won't be able to mix and match within a single file but you will be able to use different languages within the same project.
JS will be supported as a first class language so you can call GML from JS and JS from GML, you will also be able to use the JS library directly from GML.
Interoperability means that you will be able to call JS/C# functions from GML and GML functions from C#/JS - (for C# to/from GML/JS you will need to describe how the C# arguments and returns should be interpreted in GML/JS).
At this point we are looking at C# only being available Scripts (not Events) but you will be able to call the C# directly from GML / JS.
A2: Sounds like you're volunteering to make one yourself there ;) go for it!
๋ฒ์ญ -----
A1: ๊ฐ ํ์ผ์๋ ๊ณ ์ ํ ์ธ์ด๊ฐ ์ค์ ๋ฉ๋๋ค(GML์ ๊ฒฝ์ฐ .gml, JavaScript์ ๊ฒฝ์ฐ .js ๋ฑ). ๋จ์ผ ํ์ผ ๋ด์์ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ํผํฉํ์ฌ ์ฌ์ฉํ ์๋ ์์ง๋ง ๋์ผํ ํ๋ก์ ํธ ๋ด์์ ์๋ก ๋ค๋ฅธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
JS๊ฐ ์ผ๊ธ ์ธ์ด๋ก ์ง์๋๋ฏ๋ก JS์์ GML์ ํธ์ถํ๊ณ GML์์ JS๋ฅผ ํธ์ถํ ์ ์์ผ๋ฉฐ, GML์์ JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์ํธ ์ด์ฉ์ฑ์ด ์ง์๋๋ค๋ ๊ฒ์ GML์์ JS/C# ํจ์๋ฅผ ํธ์ถํ๊ณ C#/JS์์ GML ํจ์๋ฅผ ํธ์ถํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค(C#์์ GML/JS๋ก/์์ C# ์ธ์์ ๋ฆฌํด์ด ์ด๋ป๊ฒ ํด์๋์ด์ผ ํ๋์ง ์ค๋ช
ํด์ผ ํฉ๋๋ค).
ํ์ฌ๋ก์๋ ์ด๋ฒคํธ๊ฐ ์๋ ์คํฌ๋ฆฝํธ์์๋ง C#์ ์ฌ์ฉํ ์ ์์ง๋ง GML / JS์์ ์ง์ C#์ ํธ์ถํ ์ ์์ต๋๋ค.
A2: ์ง์ ๋ง๋ค๊ฒ ๋ค๊ณ ์์ํ๋ ๊ฒ์ฒ๋ผ ๋ค๋ฆฌ๋ค์ ;) ํด๋ณด์ธ์!
์ฐธ๊ณ ๋ก ๊ฒ์ค IDE๋ ์ง๊ธ .net 6 C#์ ์ฐ๊ณ ์๋๋ฐ .net 8๋ก ์ ๊ทธ๋ ์ด๋ ์์ ์
์๋ง ์ ๊ทธ๋ ์ด๋ํ C# ํ๋ฌ๊ทธ์ธ์ ์ค๋นํ๋ ค๋๊ฑธ๋ก ๋ณด์.
C#์ ๊ฒฝ์ฐ ๋ฉ๋ฆฌ๊ฐ๊ฒ์์ด ์์ ide ํ๋ฌ๊ทธ์ธ๊ณผ ์ฐ๊ด๋์ด์์. ๊ทธ๋ฆฌ๊ณ ์ด ide ํ๋ฌ๊ทธ์ธ์ ์์ผ๋ก ์ฐจ์ธ๋ ๋ฐํ์์ผ๋ก ์ง์๋ GMRT(์ ์ ๋ด๋ฐํ์์ด๋ผ ๋ถ๋ฅด๋ ๋ฐํ์)์ด๋ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐ๋๋ ์์๊ฐ ํ๋์์๊ฑด๋ฐ, ๊ทธ๊ฒ CTO๊ฐ ์ธ๊ธํ๋ ๋ผ์ด๋ธ ์ฝ๋ฉ ๊ธฐ๋ฅ์.
์ด ๋ผ์ด๋ธ ์ฝ๋ฉ์ ํ์ฌ ๊ฒ์๋ฉ์ด์ปค์์ gmlive๊ฐ์ ์จ๋ํํฐ๋ฅผ ์ด์ฉํด ๊ฐ๋ฅํ๋, ์ ํ์ ์ธํธ์ธ๋ฐ. ์ด๊ฑธ ๊ณต์์ผ๋ก ์ ์ฉํ ๊ฑฐ๋ผ๊ณ ํ์.
๊ทธ๋ฐ๋ฐ ๊ฒฐ๊ตญ ๊ทธ ๋ผ์ด๋ธ ์ฝ๋ฉ์ ํต๋ก ์ญํ ์ ํ๋๊ฑด ide์ผ์๋ฐ์์๋๋ฐ, ide๊ฐ C#์ด๋ผ๋๊ฑฐ์ ใ ใ ์ฐ๊ด์ด ์์๊ฑฐ๋ผ ์๊ฐํจ.
ํ๋ณตํ๋ก ์ด์ฌํ ๊ตด๋ฆฌ๋ ์ด์ผ๊ธฐ๋ค๋ฟ์ด์ง๋ง, ์ด์จ๋ ์ ์๋ฏธํ๊ฒ ๊ฐ์ ๋๋๊ฒ ๋ณด์ด๊ณ ์๋ ์ํ๋ผ ๊ธฐ๋์ค์.
๋๊ธ 0