ã²ã¼ã å¶ä½ã§ã®Racketã®ä½¿ããæ¹
RacketCon 2013( http://con.racket-lang.org/2013/ )ã§ãNaughty Dogã®äººã«ããçºè¡¨ããã£ãããããNDã¯PS2æ代ã«Franzã®Lispã§ä½ã£ãGOAL( http://www.franz.com/success/customer_apps/animation_graphics/naughtydog.lhtml )ã§ãç¥ãããããã¹ã©ã¤ãã«ããããã«ãPS3æ代ã§ãRacketã使ã£ãC++ã½ã¼ã¹çæã§Lisp(ãã ãScheme)ã使ãç¶ãã¦ãã*1ã(éå»ã«ãUC2ã®äºä¾ããã: http://www.gameenginebook.com/gdc09-statescripting-uncharted2.pdf )
- http://con.racket-lang.org/2013/danl-slides.pdf
- ã¹ã©ã¤ã
Så¼ã«ãã£ã¦ãã¼ã¿ãå®ç¾©ããC++ã½ã¼ã¹ã¨ã©ã³ã¿ã¤ã ãã¼ã¿ãçæããã¦ããã
...ãã®ãããªãè¦ã¦ãåãã¦MzSchemeã"ããºã¹ãã¼ã "ã¨çºé³ãããã¨ãç¥ã£ããããã¨ãRacketConã®ä»ã®ãããªã¯ã¿ããªã¢ã´ã¡ã³ã®ã£ã«ãã§ãããã
ã©ããã£ã¦Schemeã売ãè¾¼ãã§ããã
å人çã«ããåãææ³(Scheme DSL + C++/C#ã³ã¼ãçæ)ã§ã²ã¼ã ãã¤ã³ã¹ã¿ã¬ã¼ã·ã§ã³ãä½ã£ã¦ããã®ã§ãã©ããã£ã¦ãã®æã®ææ³ãAAAã¿ã¤ãã«ã«Deployããã®ãã¯èå³ãæãã
ãããª/ã¹ã©ã¤ãã«ããã¨ã以ä¸ãå£ã«ãªã£ãããã:
- ã¨ã©ã¼ãªãã¼ã: Syntax transformationã«ãã£ã¦æèã失ãããã®ã§ãã¨ã©ã¼å ±åãè¯ãä½ããã¨ãåºæ¥ãªãã
- Så¼æ§æ: æçµçã«ã¯ã¿ããªNotepad2ã§ã¡ããã¨ç·¨éã§ããããå¿çããªã¢ãæãã
ã©ã¡ããSchemeçã«ã¨ã£ã¦ã¯æ°¸é ã®èª²é¡ã®ãããªæ°ããããããããã«çé¢ç®ã«åãçµãã®ãå¦çç³»ã®å·®å¥åã«æå¹ã«æããã
ã©ã¡ããã¨ããã¨ãDSLã§ããããã¨ã²ã¼ã ãä½ãã®ã¯"æ¥æ¬ç"ã§ãã©ããã©ã¹ã¯Windowsã®"ã¡ã¢å¸³"ã§ã¹ã¯ãªããã®ç·¨éããã¦å®è£
ãããã¨ããé¸è©±ã¾ã§ããã
èé¨æ°ã(snip) NOTEPADã§ã®ä½æ¥ã¯ã¨ã¦ã¤ããªã大å¤ã§ãããå®æ©ã§åãã¢ããè¦ãããã®ã³ã³ãã¼ãä½æ¥ã¨ãã«æåã¯5åããã£ã¦ã¾ããããããã¾ãããã®ããã¸ã§ã¯ãã¯ç°å¢æ´åã«ããã»ã©æéãåããªãã£ãã®ã§æå¥ãè¨ã£ã¦ãä»æ¹ããªãã£ãã§ããããã§ããã¡ãã£ã¨ã ããæå¥ãè¨ã£ããã³ã³ãã¼ãããå®æ©ç¢ºèªã¾ã§ã®æè¦æéã¯1åã«æ¹åããã¾ãã(ç¬)ã
ä»åã®talkã®ããã«ã100å以ä¸ã®ã¢ã¼ãã£ã¹ãã«ãããã¹ãã¨ãã£ã¿ã§Så¼ãæ¸ããããããªããã¸ã§ã¯ããä»æã§æ¡ç¨ããããã¨ããã¨é£ããã¨æãã
ããããã²ã¼ã ã¨ã³ã¸ã³ã§ã¯ãã°ã©ãã£ã«ã«ãª(ä¾ãã°ãããã¼ãã£ã¼ãããã¼ã¹ã«ãã)AI/ã¤ãã³ãã¨ãã£ã¿ãä»å±ããã®ãæ®éã§( http://www.siliconstudio.co.jp/middleware/orochi/product/library/#character )ãã¹ã¯ãªããè¨èªã¯ãã"ããã°ã©ãå¯ã"ã®ã¦ã¼ã¹ã±ã¼ã¹ã«å¯ã£ã¦ããã
ã¤ã¾ãã¨ãããSchemeã¯"Så¼å¦çç³»"ã§ããããã¼ã¿ãçµ±åãããæ§é åæ§æã§è¨è¿°ã§ãããã¨ã®å¼·åãã売ãè¾¼ãã§ããã°è¯ãã¨æãããã®ããã®ç·¨éUIã®å¼·åãªã©ã課é¡ã¨ãã¦æããç 究ãå¿
è¦ããã ãSå¼ã¯JSONããã¯å¤åèªã¿ããããXMLãããæ¸ããããã¨ããå¼·ã¿ãæãã
*1:GOALã¯å®éã«MIPSã³ã¼ããåºåããã³ã³ãã¤ã©ã ããRacketã¯ã½ã¼ã¹ã¸ã§ãã¬ã¼ã¿ã¨ãã¦ä½¿ç¨ããã¦ããã¨ããéããæããå人çã«ã¯ããã»ã©å¤§ããªéãã¨ãæããªããã©ã