第äžåŒŸ2024ð°å€§åŠçãããã«ãœã³ã«åºå Žããææ³-ããŠã³ããªããèªå·±è¯å®æäžãããŸã-
ã¯ããã«
åããŸããŠãyamamotoã§ãã
å
æ¥ãµããŒã¿ãŒãºäž»å¬ã®åå¿è
åãããã«ãœã³ã«ãåã飲é£åºã§ã¢ã«ãã€ããããŠããå人ãšåå ããçµæ箞ã«ãæ£ã«ãããããªãçµæãæã«ããããšãã§ããŸããã ð
æå€ãšãããããã¡ãã¡ãªçµæãæ®ãã倧åŠçã®çµéšè«ã¯å°ãªããšèããå·çã«è³ããŸããã
åå ãããè¿·ã£ãŠããæ¹ã®åã«ãªããã°å¹žãã§ãã
æåã«åœæã®ã¡ã¢ãæ²èŒãããã®åŸãããã«ãœã³ãéããŠåŠãã ããšãæ°ãã€ãããããšã«ã€ããŠè¿°ã¹ãããšæããŸãã
(å®éã«äœæãããã®ããã¡ã(type sprint))
type sprintãšããtypescriptã®ã¿ã€ãã³ã°ã²ãŒã ãäœããŸãããtypingãštypescriptãšsprintãããããªã€ãžçããŒãã³ã°ã®ã²ãŒã ã§ãã
çæ³ã¯ããã°ã©ãã³ã°ã®ææ³ãããŒãã«ããã¿ã€ãã³ã°ã²ãŒã ãã£ããããã®ã«ãããšãããšããããã§ãå人ãBlenderã䜿ããããšããããšããã¿ã€ãã³ã°ãããã°ã©ãã³ã°ã3Dã¢ãã¡ãŒã·ã§ã³ã®äžèŠçŽ ãæãåããããã®ãäœããŸããã
ç»åãèŠãŠããã ããããããéãããŸãã®ãªã®ãªãªã¯ãªãªãã£ã§ãç¬ã
äœã£ãèªåãèšãã®ãã¢ã¬ã§ããããããŸããã¬ã€ããããªãã§ãããæ®éã«å³ç»é¢éªéã§ãããã
(çºè¡šè³æããã¡ã)
ãªãããã¡ãã¡ã ã£ããããšãã£ãŠæ¥œãããªãã£ãããã§ã¯ãªãã俺ãã¡ãªãã§ãããªã²ã©ãæå³ããããªããã®äœã£ãŠããã ããšããç¬ãã絶ããªãæé«ã®ããã«ãœã³ã«ãªããŸããã
åœæã®ã¡ã¢
äºåéçºæé
MTGäžåç®
ããã ã¢ããçã«ã䜿ããæè¡ãåæããå®çŸå¯èœãªç¯å²ãèšå®âãããã解決ã§ãã課é¡ãéžå®ãšãã£ã圢ã§MTGãé²ããããã®çµæããããã¯ãã®æ¹éãåºããããšãã§ããããå
·äœçã«ã¯ãTypescriptã®ã¿ã€ãã³ã°ã²ãŒã ãäœãããšãBlenderã䜿ã£ã3Dã¢ãã«ã䜿ãããšãŸã§ã¯æ±ºããããšãã§ãããäžæ©åé²ããªã
ãäºãã»ãŒåå¿è
(ããã°ã©ãã³ã°ã®ææ³ãããããéçºç°å¢ããããçšåºŠïŒã®ãããããã«ãœã³ã®æ¬çªéçºæéãéåžžã«ããããªããããé 匵ã£ãŠãªããšãå®æãŸã§æŒãçããããšãã話ãããã
MTGäºåç®
äž»ã«ãããã¯ããã©ãå®æã«å°ãããã«ã€ããŠè©±ãåãããã¬ãŒã ã¯ãŒã¯ãªã©ã¯åŠç¿ã³ã¹ããé«ããã䜿ããªãããšãkanbanflowã䜿ãã¿ã¹ã¯ã管çããããšãã€ã³ãã©åšãã¯firebaseã«å šãŠé Œãããšãªã©æ±ºå®ããã
ãŸããhtmlãcssãjavascriptã¯ç§ã«ãMetasequoiaãBlenderã¯å人ã«ä»»ãããšãã圹å²åæ ã決å®ããããã®æããã®ãŸãŸéçºã«é²ãã§ããã®ãäœåºŠãç«ã¡æ¢ãŸã£ãŠèãçŽããããšã§ãæéã¯ããã£ããã®ã®ããäºãã«è ¹èœã¡ããäžã§éçºã«é²ãã§ããããã ããGDã«ã€ããŠã®æ¬ã§ã¯ãçããããããªãäžåºŠæ±ºããããšãå·®ãæ»ããªãšãã£ãèšè¿°ãããèŠãããæéã«ç¶äºãããå Žåã¯ããããå¯èœæ§ãæ€èšããæ¹ãçŽåŸã®äžé²ããã®ã§ã¯ãªãããšæããŠããã
(å®éã®kanbanflowã¯ãããªæããè²ã§äºäººã®åœ¹å²åæ
ãããŸããã)
1æ¥ç®(æ9æãã23æãŸã§)
äºåéçºæéã§ãããã¯ãã®æ¹åæ§ãæè¡ã®éžå®ãããçšåºŠå®äºããŠããããšãåãå¥ããäœæ¥ãé²ããããšã«å°å¿µã§ãããç§ã®æ¹ã§ã¯ã15æãããŸã§ã«youtubeåç»ãAIã®åãåããªããããªããšãã¿ã€ãã³ã°ã²ãŒã ãšããŠã®ã²ãŒã ããžãã¯ãå®æãããããšãã§ããããã以éã¯ãããå ã«ã²ãŒã ããããªããããªæŒåºãäœãããšã«åã泚ãã ã
ã¹ã¿ãŒãç»é¢ã§ã¯ã¿ã€ãã³ã°ã²ãŒã ãããã"ç²"ã«ã¿ã€ãã«ãã¿ã€ãã³ã°ããããšã§ã²ãŒã ã¹ã¿ãŒãã§ãããããªä»çµã¿ã«ããã ããããã¿ã€ãã«ãã»ã³ã¿ãŒã«äœçœ®ä»ããã®ã«æéãé£ã£ãŠããŸããçµå±ãã¹ã¿ãŒãç»é¢ãå®æããã®ã¯20æã ã£ããä»ãŸã§htmlãcssã«ã€ããŠã®ãã£ãããšåŠãã ããšããªãããšãåå ã ã£ããšèããããæ°åã§éžã³ãããã£ãªã¢ã¯ããã¯ãšã³ãã§ãã£ãŠããããã³ãã®æè¡ãããçšåºŠããã£ãŠããªããšå人éçºãããäžã§äžéœåããããšããããšã«æ°ãã€ããã
20æããã¯Blenderã§äœæããã¢ãã¡ãŒã·ã§ã³ãgifåãã貌ãä»ããããšãBGMãã€ããããšãªã©ãè¡ã£ããã¡ããã©ããBGMãèŠã€ãããªãã£ãããBGMã®é³é調æŽã«æéåã£ãããšã€ãŸã¥ããå€ãã£ãããšã©ãŒã«ãªããªããã°ãå€ããããäœåºŠãªãã§ãããïŒãšå«ãã ãããããªãã
ããšæ®ããšããã¡ãã¥ãŒç»é¢ã®å å®ãšã¹ããŒãžã®ãã©ã€ãã£ãŒãå¢ããããšãç®äžã®ç®æšãšãªããææ¥ã®3æãæçµç· ãåãã§ããããšãããã£ãããšåãçµãã§å®æãŸã§æŒãçãããã
(ãã®æ¥äœæããã¹ã¿ãŒãç»é¢ããã¡ã)
äºæ¥ç®(æ9æãã15æãŸã§)
æèµ·ããŠããã²ãããã«éçºãããããããŸã§ã«ãã²ãŒã ããžãã¯ãã¹ã¿ãŒãç»é¢ã¯ããçšåºŠå®æããŠããã®ã§ãããšã¯è³ããããå å®ãããŠã²ãŒã ã®å®æ床ãäžããããšã«æéã䜿ã£ããäœæããgifãééããã&ãã®èæ¯ãåãããã«ããããšã§ã¢ãã¡ãŒã·ã§ã³ãèµ°ã£ãŠãããããªæŒåºãå®è£ ããã
ããããéçºæéçµäºã®ãªã®ãªã«ããfirebaseã«ãããã€ããããšãå šããã£ãŠã¬ã¹ãã³ã·ãã«ãã¶ã€ã³ã«ãªã£ãŠããªãããšãå€æãããã©ãã«ãã§ããããã®ãŸãŸçºè¡šã«ç§»ã£ãã ð¢
çºè¡šã¯çžæ¹ãã»ãŒã»ãŒã«ããŒããŠãããããã«æ¯èŒç楜ã«æžãŸããããšãã§ãããä»ã®äººãèŠãŠãããšçºè¡šè³æããã£ãããäœãããã®ãµãŒãã¹ã䜿ã£ãŠãã人ãå€ãããã¯ãäŒããåªåã¯å€§äºã ãšæããã
å šäœãšããŠæ¯ãè¿ããšãã²ãŒã ããžãã¯ãšãããã®ã¯ç©åã倧äºã§ãããã®ã®ãã²ãŒã ã®äžã§äžéšåçã§ãããªããèŠãç®ãã¢ãã³ãããšããç¹ã«ããµãŒãã¹ã®äœ¿ããããã倧ããäŸåããŠãããšæããã
ãŸããéçºå·¥çšã«ã€ããŠã¯ããŸãã³ã³ãããŒã«ã§ãããšæããå
ã
仲ã®è¯ãäºäººã§ã®éçºã ã£ãããšããããäºäººã§ç¬ããªãã楜ããå®è£
ã§ãããå®éäœãããã®ã¯å°åŠçããéã³ã§äœã£ããã®ã¿ããã ã£ããããŸãåãã®äžæ©ãšããŠã¯å°ãã¯ãŸãšããªãã®ãäœããã®ã§ã¯ãªãããšæã£ããããäœããŠãªããç¬
以äžã§ããã«ãœã³ã®ææ³ãçµãããšããã
ããã«ãœã³ã§æãã3ã€ã®èª²é¡
ïŒãwebã·ã¹ãã ãç¥ããªãã
webã·ã¹ãã å šäœãžã®ç解ããŸã ãŸã æµ ãã£ããèšãæãããšãwebãã©ãããæ§é ã«ãªã£ãŠããã®ãããç解ããŠããªãã£ããããã«ãããã©ãããæè¡ã䜿ãã°ããã®ãããšããããšã決ããããªãã£ããããšãã°ãThree.jsã䜿ãã®ãšãBlenderã§äœã£ãã¢ãã«ãåããã®ã¯äœãéãã®ïŒãšããfirebaseã®äžã§ãã©ãã䜿ããšäœãã§ããã®ïŒãjavaã§ãåãããšãã§ããã®ã«ãjavascriptã䜿ãã®ã£ãŠãªãã§ïŒãšãã£ãåæ©çãªè©±ããçåã«æ¬¡ãçåã§ãæ©ã¿ãé ããªã£ãŠããŸã£ãã
ã·ã¹ãã å šäœãç解ããããšã§ãèªä¿¡ãæã£ãŠæè¡éžå®ã§ããããã«ãªããšæãã ããããå°ããã€å匷ããŠãããããã€ã¡ãŒãžããã«ããç¯å²ãªãããç解ã®ããã«èª°ãã«æããä¹ãããšãèŠéã«å ¥ããæ¹ããããããããªãã
ïŒã颚åæ·ã®ç³ããªãã
éçºãããåã«ã©ãã©ãã¢ã€ãã£ã¢ã°ãããèšãã¿æäœéã®æ©èœä»¥å€ãå®è£
ããæ¹æ³ãèããŠããæéãé·ããããããã«ãããå®æãããã¹ãæ©èœãåŸåãã«ãªããåºãããã颚åæ·ã綺éºã«ç³ãæéã足ããªãã£ãã
ããããã¹ã³ãŒã管çãšã§ããããããªãé å決ãããã£ããšããåã身ã«ã€ãããã
æ £ãã倧ããäœçšãããšã¯æãããè«çæèçã«ã¢ã€ãã£ã¢ãæŽçããããšãæèã§ããããã«ãªãããããã®èª²é¡ã¯ãœããã¹ãã«ã«ãã£ãŠè§£æ±ºã§ãããã®ã®ãããåªå çã«è§£æ±ºãããã
ïŒãæãåãã人ã足ããªãã
åºæ¬çã«èªåäžäººã§ã²ãŒã ããžãã¯ãªã©ãäœã£ãŠãããããã©ãé 匵ã£ãŠãããŸãåãã·ã¹ãã ãäœãã«ã¯æéã足ããªãã£ãããŸã javascriptã«ããã¡ãããšæ
£ããŠããªãã£ãããã«åããã ãã§éåžžã«æéãããã£ãã
ãããããäžäººæãåããã人ããããããå°ããŸãšããªãã®ãäœãããšæãã次ã¯ããŒã éçºããããäºäººä»¥äžã§ã³ãŒããæžãæ©äŒãäœãããã
ãŸããã³ãŒãã ãã§ãªããBGMãæ¢ããããææ¬ãšãªããããªãµã€ããæ¢ãã®ã«ãæéãããã£ããããã ãã§ã代ããã«ãã£ãŠãããã¡ã³ããŒãå ¥ãããšå¹ççã«éçºãã§ãããšæããã
åå ããŠããã£ã4ã€ã®ç¹
ïŒããããã€ã§ãã
ãããã€ããŠåŸæãããšãããã§ãŒãºãèžããããšã¯éåžžã«ãããããfirebaseäžã§è¡ãªã£ããããã©ãã¯ããã¯ã¹ã«ãªã£ãŠããç¹ã¯å€ã
ããããå·¥çšãèžãã°ãããã£ãŠãã¡ã€ã³ãååŸã§ããŠãã€ã³ã¿ãŒãããäžããã¢ã¯ã»ã¹ã§ããããã«ãããã ãªã£ãšããåããããããç解ã§ããã
æç³»åŠéšã§å
šãé¢é£ã®ãªã掻åãããŠãã人ã«ãšã£ãŠãããã€ããªããã°ãããªãæ©äŒã¯çµæ§è²Žéãã»ããšããçµéšãã§ããã
ïŒãhtmlã®åºç€ãcssã®åºç€ãžã®ç解ãæ·±ãŸã£ãã
ä»ãŸã§é¿ããŠããããŒã¯ã¢ããèšèªã«ã€ããŠã®ç解ãå°ãã ãæ·±ãŸã£ããšæããããã³ããšã³ããšã³ãžãã¢ãããŒã¯ã¢ãããšã³ãžãã¢ã«ãªãã€ããã¯ããã»ã©ãªããã觊ã£ãŠã¿ãŠç解ãããšããæ©äŒãåŸãããšãã§ããã®ã¯éåžžã«è¯ãã£ãããããªãããåååã«ãªã£ããããã ãã¶äœã«æã¿èŸŒãã ã
ïŒãã¢ã€ãã£ã¢ã圢ã«ã§ãã
ããããã®ããã£ãããããªãå®çŸã§ããæ©äŒã£ãŠæå€ãšãªãã
ä»åã¯ããçšåºŠãšãã泚éä»ãã§ã¯ãããã圢ã«ã§ãããšèšãã°åœ¢ã«ã§ãããããã¯äžã€è¯ãã£ããšæãã
äžåºŠäžæ©ãèžã¿åºããã®ã ãã次ããã£ãšã§ãããšããèªä¿¡ã«ãã€ãªãã£ãã
çµããã«
ä»åãããã«ãœã³ã«åå ãããããæªããéåžžã«è¯ãçµéšãã§ããŸããã
äž»å¬ããŠããã ãããµããŒã¿ãŒãºã®çãããåãã¡ãå®èãªããŸã§ã«å©ãã®ãããŠãããåå è
ã®çããã«ã¯æè¬ãããããŸããã
次ååå ã«ããããä»åã®åçã掻ãããŠãå°ãã§ããã·ãªãããã¯ããäœããããªãšæã£ãŠããŸãã
ä»¥äž yamamotoã§ããã
Discussion