기획 및 구현을 혼자 해보고 있는데,
개발 프로세스에 대해 횽들의 의견을 듣고 싶음
아래는 내가 혼자 게임 만들 때 사용하는 작업 과정
1. 적당히 기획해서 대충 막 만든다.
- 어떤 입력을 받으면 그에 따른 출력만 나오면 된다.
- 따라서 내부 과정이야 어찌 되든 관계 없다.
- 디자인 패턴 그딴 거 신경 안 쓴다.
- TDD, DDD 그딴 거 신경 안 쓴다.
- 단, 디버깅하기 쉽게 만든다.
- 디버깅과 관련된 기능(e.g. 로그 출력, pawn의 상태 출력 및 pawn의 상태를 변경하는 기능)인 경우에는 가급적 만든다.
2. "1."에 대해 재밌는지 테스트해보고, postmortem을 작성한 뒤, "1."은 폐기하고, 처음부터 다시 만든다.
- 이제부터 만드는 것은 확정 스펙이다.
- 추후, 주요 기획이 변경되지 않게 한다.
- e.g. 어떤 idea가 갑자기 생각나도 게임의 주요 로직을 변경해야 할 경우에는 해당 idea를 포기한다
- "1."에서 대충 막 만들었던 모듈도 이제는 production을 고려하여, 디자인 패턴, TDD, DDD를 신경쓰며 개발한다.
궁금한 거는 이런 개발 방법을 실무에서도 쓸 수 있음?
실무에서도 일부 feature에 한해서는 내 방법처럼 해도 별 상관 없을 것 같은데
내 방법은 feature 하나가 아니라 처음 prototype version을 통째로 버리고 가는 거라서..
경영진들이 싫어할 것 같음.
c.f. 처음 prototype version을 통째로 버리고 가는 이유는
누덕누덕 코드를 보수할 바에야 처음부터 다시 만드는 게 오히려 더 편해서임
c.f. 이 글은 아래와 같이 가정하고 글을 작성했음
- 경영진은 프로그래밍의 프자도 모르므로 아래와 같이 생각할 수 있음
- 퀄리티가 낮긴 해도 멀쩡히 잘 돌아가는 게임을 왜 폐기해야 하지?
- 그냥 이거(protoype) 가지고 조금씩 개선해나가는 방식으로 진행하자.
혼자서 만들 때는 위의 방법이 진리라고 생각하지만....
실무에서는 혼자서 만드는 것이 아니고, 사람들도 퇴사/입사하는 사람 있을테고
정치도 있을테고 해서 위의 개발 프로세스는 단점이 있을 것 같음...(하지만 어떤 단점이 있을지 잘 모르겠음)
나도 이게 괜춘다
2번 과정에서 \'확정 스펙\'이 가능할까.. 1번에서 프로토타입으로 그렇게 검증하고 만든 2번인데 기획자놈들은 2번도 하나의 프로토타입으로 본다
진짜 많은 게임회사들이 c.f 2번째와 같은 생각을 한다. 그리고 거기에 아이디어인지 똥인지를 던지면 프로그래머의 야근이 시작됨
실무에서 원칙은 프로토타이핑-평가-프로토타입 폐기-정식 버전 인데 하다보면 진화하는 프로토타입이 됨
기획자가 아이디언지 똥인지를 들고오는 시기는 정식 버전 스타트하고 기획자가 꿔다 놓은 보릿자루같은게 되버릴때임
기획자 입김이 쌔면 그걸 집어넣기 위해 정신버전이 또다른 프로토타입이 되버리고 프로젝트는 산으로 감
de//\"2번 과정에서 확정 스펙이 안 나오는 것.\" 그리고 \"많은 게임 회사가 c.f.의 2와 같이 생각하는 것...\" 이것 때문에 프로그래머 입장에서는 코드가 누덕누덕이 되가는 것 때문에 위가 쓰릴 거고, 기획자 입장에서는 구멍이 난 기획을 안 고친다고 할 수도 없고. 딜레마임....
이상적인 방식은 2가지임. 프로그래머가 존나 대단해서 모든 기획 가능성에 부합하는 진화하는 프로토타입을 구현하는거 (이건 프로그래머가 기획자보다 더 기획을 잘한다는 소리임)
다른 하나는 여러가지 프로토타입을 구현하고 괜찮은것들만 모아서 다시 프로토타입을 만들고 프로토타입의 반복에 의한 아이디어 소거법. 이건 프로젝트 시간이 존나 많을때
ㅇㅇ/ 그 구멍이 개구멍인지 싱크홀인지 알게 되는게 보통 기획자 머리에서나 프로토타입이면 괜찮은데 꼭 정식버전에서..|
모든 가능성... 을 타진하는건, 좋은거지만 어쩌면 프로젝트 특성에 따라 낭비 아닐까?
낭비임 그래서 적당히 구현하면 기획자가 기\'똥\'찬걸 막 던지겠지 그래서 기획단계에서 심사숙고가 필요함