ServalRun Prototype Postmortem
μ§λ 6μ μ΄λΆν° μμνλ ServalRunμ Prototypeμ΄ 7μ 2827μΌμ μμ±νλ€. μ΄ Projectλ‘ λ§ν κ² κ°μΌλ©΄ μ§λ 5μ λ§~6μ μ΄ μ¦μμ κ²μ μ
κ³λ‘ μ€κ³ μΆμ΄νλ μ§μΈμ΄ μμλλ°, κ·Έ λΆμ΄ μΌλͺ¨λ
Έ νλ μ¦μ μ£ΌμΈκ³΅μΈ μλ²μ λλ°μ§νλ λͺ¨μ΅μ 곡κ°νλ©΄μ μμλμλ€. νμ λ°κ²μμ μ΄λ»κ² λ§λ€κΉ?λΌλ μκ°μ ν΄μλ ν°λΌ ν₯λ―Έλ μμκ³ , μλ²μ λ§λ λΆμ μμ§ μ·¨μ
μ νμ§ λͺ»ν΄μ Portfolioλ₯Ό κ²Έν΄μ μ§νν΄λ³΄λ κ²μ΄ μ’μ κ² κ°μμ ν¨κ» μ§ννκΈ°λ‘ νλ€. μλλ Prototype μ μ 2μ£Ό, QA 1μ£Ό, μμ ν λ° μΆκ° μμ
2μ£Ό, QA 1μ£Όμ μ΄ 6μ£Ό μ λμ μΌμ μΌλ‘ μκ°μ νλ€. Programmingμ μ λ΄ν λλ₯Ό ν¬ν¨ν΄μ κ²μμ μ 체μ μΈ Graphicμ νμ€ @everev
, μ 체μ μΈ κΈ°ν λ° Level Designμ ν @norong
κ³Ό ν¨κ» λ§λ€κ² λμλ€. @ungikim
μ μΌμ κ°μλ¬Όμ£Όλ₯Ό ν΄μ£Όμλ€.
μΌλ¨ μμ μΈκΈλμλ μΌμ μ μ νκΈ° μ μ githubμ Repositoryλ₯Ό λ¨Όμ μμ±νλ€. λλ₯Ό μ μΈνκ³ λ λͺ¨λ gitμ μ²μ μ¨λ³΄λ μν©μμ μ΅λν μκΈ° μ½κ² μ€λͺ μ ν΄μ£Όλ € λ Έλ ₯μ νλ€. κ·Έλ°λ° μ΄λ° μν©μ΄ μ²μμ μλμλ€. 첫 νμ¬λ₯Ό λ€λλ 2016λ 11μ κ²½, μ¬λ΄μ λ²μ κ΄λ¦¬λ₯Ό Asset Serverλ‘ νκ³ μμλ€. λΉμ μ¬λ¬ κ΅κ°μ μλΉμ€λ₯Ό ν΄μΌ νκ³ κ΅κ°λ³λ‘ λ΄μ©μ΄ μ‘°κΈμ© λ¬λΌμ‘κΈ° λλ¬Έμ λ°λ‘ κ΄λ¦¬ν΄μΌνλ μν©μμ SVNκ³Ό gitμ€μμ μ νμ ν΄μΌνλ μν©μ λμλ€. Clientνμμ μ¬λ¬ κ°μ§λ₯Ό κ³ λ €ν κ²°κ³Ό gitμ μ°κΈ°λ‘ νλλ°, λ¬Έμ λ λ μ΄μΈμ μ무λ gitμ μ¨λ³Έ μ¬λμ΄ μμλ€. λΉμμ λλ 20λͺ κ°λμ νμμ gitμ μ¨λ³Έ μ μ΄ λΉμ°ν μκΈ° λλ¬Έμ λκ°νμ§λ§ μ μ μ°© μν€κΈ° μν΄ λ°±λ°©μΌλ‘ λ°μ΄λ€λ λ€. λΉ(ι)κ°λ°μλ€λ μμκΈ° λλ¬Έμ μ½κ² ν΄λ³΄λ € νμΌλ μμλ μ€λͺ μ΄ λΆμ‘±νκ³ κ·Έ κ²°κ³Όλ‘ λͺΈμΌλ‘ λ°μ΄ λ€λλ©΄μ λ¬Έμ λ₯Ό ν΄κ²°νλ μν©μ λμλ€. κ·Έλ κ² 1~2λ¬μ λ°μ΄λ€λλ λ€λ€ μ μμ ν΄μ€μ λλ¦ μ±κ³΅μ (?)μΌλ‘ μ μ°©μ΄ λμλ€. μ΄μ°λμλ μ΅λν κΈ°λ³Έ Roleλ§ μ€λͺ μ ν΄μ£Όκ³ λ¬Έμ κ° μκΈΈ λλ§λ€ μ¦μ μλ €μ£Όλλ‘ νλ€. μμλ 1~2μ£Όλμμ μ΄μ¬ν gitκ³Ό κ΄λ ¨ν λ¬Έμ λ‘ λ°μκ² μ§λκ°λ€. κ·Έλλ μ§λ λ μ μν(?)μ΄ μμκΈ°μ μ½κ² νμ΄κ°λ κ² κ°λ€.
6μ μ΄μ λͺ¨λκ° λͺ¨μ¬μ 첫 νμλ₯Ό νλ€. Google Chromeμμ λ³Ό μ μλ Offline μμ 곡룑 λ°κ²μμ λ°λΌμ μΌλͺ¨λ Έ νλ μ¦μ νΉμ§μ λ΄μμ λ§λ€κΈ°λ‘ νλ€. μμμ λ§ν κ²μ²λΌ 6μ£Όμ μΌμ μΌλ‘ μ§ννκΈ°λ‘ νλ€. Playable Character 1μ’ , Opponent Character 1μ’ , Tile 5μ’ , λ°°κ²½ 3μ’ λ±μΌλ‘ Resourceλ₯Ό ꡬμ±νλ€. Map Toolκ³Ό Play κ°λ₯ν Map 1μ’ λ Prototypeμ ν¬ν¨νκΈ°λ‘ νλ€.
μ²μ μμνμ λ μμλ κ΅μ₯ν μμμ μΌλ‘ μμ μ μ§ννμ§λ§, κ°μ μ§μ₯μ λ€λκ³ μμκ³ μμ ν μκ°μ΄ μκ°λ³΄λ€ λμ€μ§ μμλ€. μΌλ¨ λλΆν° μμ μ΄ λμ§ μμμ λ€λ₯Έ μ¬λλ€μ μμ λ μ§μ²΄λλ κ²½μ°κ° λ§λ€λ³΄λ 6μ£Ό μμΌλ‘ λμ ν λλ μ μλ€λ κ²μ κΉ¨λ«κΈ°κΉμ§ μ€λ μκ°μ΄ κ±Έλ¦¬μ§ μμλ€. κ·Έλ κ² μ§μ§ λλ €κ°λ μμ μ΄ κ²°κ΅ 7μμ΄ λμ΄μλ ν° μ§μ μ΄ μμλ€. κ²μ μ체λ κ°λ¨ν΄μ κΈλ°©ν κ² κ°μμ§λ§ λ΄ λλ¦λλ‘μ μμ¬μ΄ μ겨μ μ’ λ μ κ΅νκ² λ§λλ €λ€ λ³΄λ μ΄λμ λ μλκ² λμ΄λ²λ¦¬κ³ μμλ€. κ·Έλ¦¬κ³ λ€λ€ λκΈ°λΆμ¬κ° νμ€νμ§ μμ μνμμ νλ€λ³΄λ μ§μ§λΆμ§νλ κ²λ ν λͺ« νλ κ² κ°λ€. νμ§λ§ μκ°ν΄λ³΄λ 7μμλ ν°(?) νμ¬κ° νλ μμλ€. λ°λ‘ 3μ°μ μ΄λΌκ³ λΆλ¦¬μ°λ λ΄κ° μν κ·Έλ£Ήμ νμ¬μλ κ². λλ₯Ό ν¬ν¨ν΄μ 7μ 28, 29, 30μΌμ μμΌμ΄ μ°λ¬μ μλ κ²μ ν¨κ» μ±κ²¨μ£Όμλ κ²κ³Ό μ¬λ¦ ν΄κ° μμ¦μ΄κΈ°λ νκ³ λ€ν¨κ» λͺ¨μ¬μ λκ³ λ¨Ήλ κ²μ κ±°μ 10λ λμ νκ³ μμλ€. μ°λ¦¬λ 3μ°μ μ λ§μΆ°μ μμ±νλ κ²μ λͺ©νλ‘ λ¬λ¦¬κΈ° μμνλ€. νμ€ν λκΈ°λΆμ¬κ° λλκΉ μμ μλλ λ₯λ₯ μ΄ λ¬λΌμ§κΈ΄ νλ€. κ·Έλ κ·Έλ΄ κ²μ΄ λνμ μ΄νλ‘ νμ§ μλ λ²μ€ μ½λ©κΉμ§ μμ νλ€. μΆν΄κ·Ό μκ°μ΄ 1μκ°μ΄ μ‘°κΈ λλ€λ³΄λ μΆκ·Ό μκ°μ μκΈ°λ νλ€μ΄μ μ΄μ© μ μλ€κ³ μ³λ ν΄κ·Ό μκ°μ 무쑰건 μμμ κ° μ μκΈ° λλ¬Έμ 1μκ°λμμ΄λΌλ μ§μ€ν΄μ μμ μ νλ κ²μ΄ μ’κ² λ€κ³ μκ°μ΄ λ€μλ€.
μ΄λ μ λ κ²μμ μ€κ³½μ λλ¬λΈ κ²μ 3μ°μ μ μΌμ£ΌμΌ μ μ΄μλ€. κ·Έλλ μμ§μ λ 벨 λμμΈμ ν λ§ν μμ€μ΄ μλμκ³ , λ²κ·Έλ λμ³λ¬κΈ° λλ¬Έμ μΌμ£ΌμΌμ νμκ°μ μ§λκ°λ€. μΌμΆ λ²κ·Έλ₯Ό μ‘κ³ λ 벨 λμμΈμ μμν μμ μ΄ 27μΌ μ λ
μ΄μλ€. κ·Έλ κ² νλ²μ λ§λ λ 벨μ 1ν ν
μ€νΈνκ³ λΉλλ₯Ό ν μ λ°μ μμλ€ (β¦) μΌλ¨ λμμΈν λ³ΈμΈμ κΉΌλ€κ³ ν΄μ μ μ=λ
μΌλ‘ μ΄λ²€νΈλ₯Ό νμ§λ§β¦ κ²°κ³Όλ μ²μ°Ένλ€. 127μ μ΄ μ΅κ³ μ μμλ κ²μ΄λ€. λ΄κ° νμ λμλ μκ°μ΄ μμ΄μ λμΆ©νκΈ°λ νμ§λ§ μ¬μ€ μκ°ν΄λ³΄λ©΄ κ΅μ₯ν μ΄λ €μ΄ κ²μμ΄μλ κ²μ΄λ€ (β¦) κ²λ€κ° WebGLλ‘ λ§λ€μ΄μ μΉ λΈλΌμ°μ Έκ° μλ€λ©΄ μ΄λμμλ μ§ μ€νν μ μκ²λ λ§λλ κ²μ΄ λͺ©μ μ΄μμΌλ μ€μμ λͺ¨λ°μΌμμ Input Eventλ₯Ό μ§μνμ§ μμμ μ΄λ¦μ‘°μ°¨ μ
λ ₯ν μ μλ μν©μ΄μλ€. κ·Έλμ 3μ°μ νμ₯μ μλ λλΆλΆμ μ¬λλ€μ μ΄λ²€νΈμ μ°Έμ¬νμ§λ λͺ»νκ² λλ²λ Έλ€. μ΄λ²€νΈκ° ννμΌλ‘ κ°μ νΉλ¨μ λμ±
μ΄ νμνλ€. 127μμ μ€ μλ μμ΄μ κ·Έλ₯ λλ¦μ κΈ°μ€μΌλ‘ μμλ₯Ό μ ν΄μ μ€νλ²
μ€ 1λ§μ μνκΆμ μ§κΈνλ μμΌλ‘ λ§λ¬΄λ¦¬νλ€. λμ΄μΌλ³΄λ©΄ ν°μμ νλ²μ΄λΌλ ν
μ€νΈλ₯Ό ν΄λ΄€λ€λ©΄ μ΄λ° μΌμ΄ λ²μ΄μ§μ§ μμμκΉ μΆκΈ°λ νμ§λ§, μΆλ° λΉμΌ μλ²½κΉμ§ λ²κ·Έλ₯Ό κ³ μΉλ©΄μ λΉλνλλΌ λ무λλ μ§μ³μμ΄μ ν°μμμ ν
μ€νΈλ κΏλ κΎΈμ§ λͺ»νλ κ²μ΄λ€. κ²°κ΅ λκ° κ΅μ₯ν ν무νκ² λλλ²λ Έλ€.
μ§κΈκΉμ§ νΌμμ μ΄λ°μμΌλ‘ κ°λ°ν μ μ λλ¬ μμμ§λ§ μ‘Έμ ν νμ¬ μ΄μΈμ νμμ μ΄λ κ² κ²μλ΅κ²(?) νλ‘ν νμ΄ν ν΄λ³Έ κ²μ λΉκ³΅κ° νλ‘μ νΈ 1κ° μ΄νλ‘ μ²μμ΄λ€. κ·Έλμ κ°μΈμ μΌλ‘λ κ΅μ₯ν λλΌλ λ°κ° λ§μλ€. λ¨Όμ μ무리 νμ¬μ λμμ κ²μμ λ§λλ κ²μ΄ λΉν¨μ¨μ μ΄λΌκ³ λ§νλ μ¬λμ΄ μμ§λ§ κΎΈμ€ν μ΅μ§λ‘λΌλ ν μ μλ μκ°κ³Ό μ¬κ±΄μ΄ μ‘°μ±λμ΄μΌνλ€λ κ²μ κΉ¨λ«κ² λμλ€. κ·Έλ¦¬κ³ λͺ¨λκ° λ£κ³ μΆμ΄νλ κΈ°λ₯μ΄λ κ·Έλ¦Ό, κΈ°νμ΄ μ¬λΏ μμμΌλ μΌμ κ³Ό μμ λ²μμ μΉμ¬ νμ§ λͺ»ν κ²½μ°λ λ§μλ€. κ΅μ₯ν μμ¬μ΄ λΆλΆμ΄λ€. λλ§μ νλ‘μ νΈμμλ λ΄ λ§μλλ‘ ν μ μμ κ² κ°μλλ°β¦ μ€λ§ν μκ°μ΄μλ€. κ°μΈμ μΈ λ³λͺ 거리긴 νμ§λ§ λμ κ²½μ°μ λ§μΉ¨ ν΄λΉ κΈ°κ°μ μΌκ·Όνλ λ μ΄ λ§μμ Έμ νμΌμ μ§μ€ν μ μλ μκ°μ΄ λμ ν λμ€μ§ μμλ€. ν΄κ·Ό κΈΈμ λ²μ€μμ μ½λ©νλ€κ³ μ³λ λ°€ 11μ~12μμ νλ €λ κ΅μ₯ν νΌκ³€νμλ€. νμ΄λ°μ΄ μ λ§ μμ¬μ λ€. ServalRunμ 보면 μκ² μ§λ§ κ°λ¨ν λ°κ²μμ΄λ€. μ΄μ λΆμΌ μμκ° μκ°λ³΄λ€ λ§μ΄ μμ΄μ νλ¦¬ν° μ μ μ’ λ νλ€λ©΄ μΆ©λΆν μΆμν μ μμ§ μμκΉ μΆκΈ΄ νμ§λ§β¦ λΉμ·ν μμ λμ 보μ΄κΈ° μν΄μλ 3μ°μ κ³Ό κ°μ λκΈ°λΆμ¬κ° λ νμν΄λ³΄μΈλ€.
μμ¬μ λ μ μ λ λ§μ§λ§ λλ¨Έμ§ λΆλΆλ€μ λ€λ₯Έ μ¬λλ€λ μΆ©λΆν 곡κ°ν λ§ν λΆλΆμ΄ μλκΉ μΆλ€. ννΌ μ€μ λ‘ ServalRun Prototype
μ ν΄λ³΄κ³ μΆλ€λ©΄ μ΄κ³³μμ 체ν κ°λ₯νλ€.
μΌλ¨ μ΄λ κ² λμμλ ν¬μ€νΈλͺ¨ν μ λλ΄λ³΄κ² λ€β¦
Comments