Какие были внутренние проблемы?
1. Отсутствие/недостаток опыта работы в команде. Это, определенно, сыграло свою роль. Говорить за других тяжело, но лично мне было сперва трудновато влиться в поток командной работы, из-за чего итоговая эффективность, конечно же, страдала.
2. Отсутствие опыта в GameJam'ах. Ну, тут все просто - для нас это был новый опыт, и нам не сразу удалось включиться в этот специфический режим работы, где необходимо задействовать все ресурсы организма, сидеть допоздна, а иногда и вовсе - работать всю ночь.
3.1. Слишком много времени уделили концепту. Концепт мы выбрали довольно простой и понятный, но даже с учетом всех проблем с расписанием, мы потратили на него слишком много времени. Всё же GameJam - это про скоростную разработку, а не про пустое обсуждение идеи.
3.2. Уделяли внимание ненужным мелочам. Оглядываясь назад, мне кажется, что около двух часов мы потратили на то, чтобы продумать в концепте - как сбалансировать некоторые механики. К слову, весь наш труд по балансу игрок даже не заметит.
4. Не продумали архитектуру. Наша работа проходила по плану: придумали концепт - пишем код. То есть, мы не потратили время на то, чтобы обсудить и записать, а как вообще части программы должны взаимодействовать между собой. В итоге, код мы писали вслепую, вроде как "этого сейчас нет - поэтому делаем это".
5.1. Выбрали не итеративный подход в разработке. Хорошо, когда на каждом этапе есть законченная идея, прототип, в который можно поиграть; можно увидеть, что всё работает, но из запланированных механик реализованы только некоторые. У нас же всё было не так - не было разделения на, скажем, вехи - в конце каждой из которых, у нас был бы готовый вариант игры, пускай с всего несколькими механиками, зато рабочий. Так получилось, что геймплей появился только в момент публикации; до этого наша игра была лишь абстрактным набором механик, неспособных взаимодействовать друг с другом.
5.2. Сфокусировались только на коде. По большей части, это дополнение предыдущей проблемы, но ее масштаб заставляет выделить отдельный пункт. Мы работали только с кодом. Буквально. Учитывая, что в нашей команде не было дизайнера, или 2D-художника, мы не тратили время на разработку интерфейса, музыки, или графики. Мы писали код - игровые механики, в конце даже системы, с которыми более-менее удобно работать. В результате, чисто технически, у нас были готовы все игровые механики; с точки зрения кода, все работало. Но вот проблема - главное меню в игре появилось за пару часов до публикации; интерфейс - только частично, и то топорно; а звуки и музыка и вовсе не были реализованы. То есть, все наши старания игрок просто не способен заметить, потому что механики не описываются посредством интерфейса.
6. Плохой тайм-менеджмент. Даже в то время, когда мы могли работать, и работали, бывали моменты, когда один человек транслировал свой экран, а остальные наблюдали и давали какие-то комментарии. Конечно, часто это было для того, чтобы показать промежуточный результат, или спросить, как сделать лучше, столкнувшись с проблемой; в какой-то степени, это было для нас, новичков, полезно - обмениваться опытом. Но это не отменяет того факта, что время, потраченное на просмотр трансляции другого члена команды, неэффективно. Если просуммировать всё время такого "простоя", то можно было бы спокойно реализовать систему звуков и музыки, или добавить недостающего интерфейса.
*. Уверен, можно выделить ещё пару-тройку весомых проблем, но сейчас это - всё, что я заметил.
Не всё так гладко, как в теории. Тот же "итеративный подход" легко превращается в лишнюю проработку временных вещей, вагон переделок и вязкость, особенно если продолжать делать на прототипе.
"Мы делали игру, но сегодня не о ней". Постмортем игры, но без инфы об игре. Как это выглядело то?
Было бы интересно посмотреть результат работы: пару скринов и гифок