Как я могу эффективно управлять проектом хобби? [закрыто]


424

Каковы ваши советы и хитрости, чтобы успешно завершить проект хобби в свободное время? Как вы мотивируете себя, чтобы поддерживать его и двигаться до конца, не теряя интереса или мотивации на этом пути?


2
Я думаю, что ваш вопрос субъективен и аргументирован.
АльФадор

79
@alFador: Я думаю, что советы по эффективному управлению проектом не являются ни субъективными, ни спорными. Существует множество процессов, которые пытаются решить такие проблемы, как управление проектами. Но вы правы в том, чтобы сохранять мотивацию, это довольно субъективная тема ... Я изменю это.
Майкл Клемент

1
Я бы сказал, что есть много советов о том, как мотивировать людей. Вы имеете дело с людьми, которые должны были найти уловки, чтобы продолжать себя. Некоторые из этих уловок работают на большей части доски (то есть: разбить большую задачу на гораздо меньшие задачи).
Дэвид Макгроу

3
Советы по мотивации не могут быть аргументированными, но они определенно субъективны. Разные люди мотивированы разными вещами.
Циклоп

2
Лель 377 голосов и закрыт? Я полагаю, что все идет на SE
Аллахжане

Ответы:


495

Эти советы применимы к любому хобби-проекту программного обеспечения, а не только к играм.

  • Установите крошечные вехи. Иметь цель типа «система предметов работает в моей RPG-игре» - это хорошо, но это подразумевает множество недооцененных функций, которые вы, вероятно, даже не знали, что вам нужно. А как насчет "настройки графической среды"? Или «Спрайт отображается на экране».

  • Делай немного каждый день. Сессии марафона великолепны и все, но вы пытаетесь втиснуть долгосрочное обязательство в уже многолюдную жизнь. Если вы делаете немного каждый день, вы делаете ощутимый прогресс и создаете структуру, в рамках которой вы можете достичь своих вех.

  • Уменьшите масштаб. Каким бы ни было ваше великое видение, попытайтесь выяснить, какая наименьшая достижимая часть, и сделайте это. Делать РПГ? Начните с одного квеста и без NPC. Делаете платформер? Начните с одного уровня и без врагов.

  • Прототип ранний. Прежде чем потратить кучу с трудом заработанных часов хобби на игру, подумайте, будет ли это весело в первую очередь. Нет ничего более удручающего, чем отрабатывать свою задницу над чем-то в течение десятков часов, только чтобы обнаружить, что базовая концепция - отстой.

  • Разработайте что-нибудь повторяемое. Мои любимые программные проекты для хобби - это те проекты, в которых базовая концепция позволяет в дальнейшем работать. Ваша игра такая? Можете ли вы отправить что-нибудь, а затем вернуться к нему позже и добавить интересные вещи?

  • Не создавайте двигатель или рамки. Вы не хотите двигатель, вы хотите игру. Не беспокойтесь о фреймворках, которые можно использовать многократно, пока не выйдет ваша игра. Как только вы начинаете во второй игре, вы можете вернуться к своей первой и посмотреть, есть ли что-нибудь, что вы могли бы принести. Это не значит, что вы не должны использовать практику разработки звукового программного обеспечения, но не начинайте с написания класса Sprite, пока не узнаете, для чего нужны ваши спрайты - вы будете удивлены, насколько мало это окажется для быть. Начните с класса Героя, затем класса Монстра, а затем - о, смотрите! - есть некоторые общие вещи!

  • Доставка является особенностью. Вы никогда не закончите свою игру, вы только собираетесь отказаться от нее. (= Какова минимальная сумма, которую вы можете сделать, прежде чем вы не будете полностью смущены, чтобы показать свою игру кому-то еще? Скорее всего, вы можете сделать это меньше, и у вас все еще есть игра, которой можно гордиться.


32
+1 - Отличный ответ. Я выучил большинство из этих советов трудным путем. :)
Alconja

3
Это в основном очевидные вещи, которые как-то все (включая меня) забывают. Спасибо за напоминание всем.
МехП

41
В соответствии с «Доставка - это особенность», не увлекайтесь постоянными циклами пересмотра -> переиздания -> повторения. Вы не получите все правильно с первого раза, в десятый раз или когда-либо. Несомненно, будут особенности или механика, которые вас не полностью удовлетворят. Избегайте соблазна продолжать возвращаться и менять каждую мелочь. Вы не хотите закончить как Duke Nukem Forever :).
Майк Штробель

29
+1 за «Делай немного каждый день». Это единственный лучший совет, который вы получите. Импульс накапливается довольно быстро, когда вы просто делаете это каждый день. Один или два пропущенных дня приведут вас к полной остановке.
Андреас

34
Я думаю, что мне нужно сделать обои с этим ответом.
Klaim

138

На самом деле я только что написал блог о том, как я подошел к дизайну и разработке для моего последнего проекта iPhone. Вы можете найти ценность в чтении этого.

Несколько мыслей оставить здесь

Приложение To-Do.
Я использую Things для Mac и ToDoList (бесплатно) для Windows. Кроме того, вы можете перейти на sourceforge.net или codeproject.com, чтобы получить приложение- задачу . Мне нравится ToDoList. У вас будет много эскизов, идей, информации о дизайне, которые действительно нужно объединить в одном месте. Наличие такого приложения с вашим списком функций поможет вам оставаться сосредоточенным.

Маленькие задачи
«Реализация списка лидеров» не являются достаточной задачей. Что это включает? Сломай -

  • Создать фоновый рисунок для списка лидеров
  • Создайте методы класса, которые извлекают данные оценки
  • Создайте методы класса, которые публикуют данные оценки
  • Создайте контроллер представления, который будет отображать кнопку возврата, кнопку перезагрузки и представление таблицы
  • Реализуйте табличное представление для загрузки данных из модели

Просмотр изображения в мельчайших деталях уменьшит ваши шансы пропустить ключевой элемент вашей реализации и даст вам мотивацию, когда вы отметите каждую задачу.

Держите прицел маленьким
Не пытайтесь создавать Starcraft III, если это только вы, грязный и мрачный болван. Это просто невозможно. Снизьте свои ожидания и найдите то, что вам все равно понравится строить.

Eye-candy
Получите что-нибудь на экране - вы можете быть удивлены тем, насколько большим будет ваш толчок к вашей мотивации. Я имею тенденцию сосредотачиваться на том, чтобы получать художественные работы рано. Кроме того, я также могу работать с музыкантом, который начинает показывать мне вещи относительно рано.

Получайте удовольствие
Если вы всю свою неделю работаете над системой сохранения состояний, обязательно следите за ней на следующей неделе с чем-то увлекательным. Одним из моих забавных моментов была переработка системы анимации для моего пользовательского интерфейса.

Сотрудничество
Технически вам не нужно начинать добавлять людей в свою команду, но говорите с другими людьми о том, что вы делаете. Перейдите на tigsource.com или gamedev.net и начните работать в сети.

Playtest
Начните получать ранние отзывы о вашей игре. Я говорю сразу после того, как вы закончите свой первоначальный прототип. Пусть некоторые из ваших друзей возятся с тем, что у вас есть, получайте отзывы, делайте заметки и при необходимости пересматривайте свой план. Обязательно проведите тестирование вне сферы вашего комфорта и создайте сеть, в которую входят другие разработчики игр. Иногда друзья и любимые люди просто не критичны.

Начните блог
Разговор о том, что вы делаете, позволяет вам создать бренд для себя. Это бесценно, когда приходит время доставки вашего продукта. Просто посмотрите, что делает Wolfire . Они абсолютно чистые победы в создании бренда для себя.

Сделайте перерыв
Если ваш ум не вовлечен в проект в определенное время, не пытайтесь заставить его. Встань и отправляйся на прогулку или вздремни. Это роскошь быть независимым. В конце вы создадите лучший продукт для этого.


Почему Вещи продаются за 45 фунтов? Он выглядит действительно красиво и отточенно, но может ли он делать то, что не могут делать бесплатные приложения, такие как RTM или Todoist?
Spidey

Они держали это чрезвычайно просто. Некоторым нравятся простые и полированные, но трудно сказать, что это стоит £ 45. Если вы пользователь Windows, мне очень нравится этот - bit.ly/9dAelc
Дэвид Макгроу

Что касается списков задач, то стоит обратить внимание на org-mode для emacs.
Mowwwalker

111

Мой самый большой совет: отсоедините сетевой кабель!

У меня есть ритуал отсоединения сетевого кабеля перед сном. На следующее утро я не в сети, поэтому у меня нет сайтов для посещения, нет писем для чтения, нет людей, с которыми можно общаться, и т. Д. Поэтому я, естественно, приступаю к работе над своей игрой.

Я не соединяюсь снова, пока мне абсолютно не нужно. Если есть что-то, что мне нужно онлайн - я записываю это, чтобы посмотреть позже, или использую браузер моего iPhone.

Это помогает иметь такие вещи, как MSDN, загруженные и доступные офлайн


2
Хотя это может быть хорошей идеей (или добавить несколько сайтов в свой файл хоста, чтобы вы просто не могли к ним обратиться), я не думаю, что это ответ на вопрос о том, как управлять проектом хобби-игры.
DFectuoso

9
@DFectuoso: прочитайте вопрос еще раз. Вы обнаружите, что мой пост прямо отвечает на него. Это не полная стратегия - но ОП не просил ее. Мне жаль, если я взорвал твой разум, дав простой, практичный, действенный совет вместо того, чтобы извергать что-то теплое и пушистое, как «Делай немного каждый день» или «Фокус», и оставляю читателей, чтобы разобраться, как на самом деле сделай это.
Эндрю Рассел

5
Во всяком случае, это один из лучших советов. Я работаю над небольшой хобби-игрой, и за те дни, когда я над ней работаю, получается около 10 строк. Это не сложно, просто меня отвлекают Reddit, Facebook, сайты блогов и IM-пользователи.
Коммунистическая утка

2
Я единственный, кто работает БОЛЬШЕ, когда у меня есть доступ в интернет?
Малабарба

2
@tieTYT Возможно, стоит попробовать - даже если вы можете справиться только за 15 минут до выхода в Интернет - это будет означать, что вы начали свой выходной с правой ноги (в отличие от Facebook;), и это может быть даже хорошей практикой, если Вы вынуждены больше полагаться на документацию API и отладчик, чем на Google.
Эндрю Рассел

42

Самая большая проблема с хобби-проектами заключается в отсутствии четко определенной сферы. Многие люди начинают с того, что хотят создать лучшую игру из всех, которые у нее были бы часами геймплея и всеми интересными идеями. Вместо этого вы должны попытаться свести свою идею к чему-то управляемому, а затем придумать разумный график. Это правда, что сроки вступают в противоречие с игрой, являющейся хобби-проектом, а не работой на полный рабочий день, но они хороши для того, чтобы оставаться мотивированными и разбивать большие задачи на маленькие управляемые.

Вы также можете сохранить файл истории версий, который обновляется каждый раз, когда вы добавляете что-то в игру. Еще лучше, вы должны использовать контроль версий и использовать историю коммитов для этого. Это хороший способ измерить ваш прогресс и сохранить мотивацию позже (глядя на все то, что вы уже сделали).


4
Стик заметки тоже работают. Это то, чем я занимаюсь. Когда я думаю о чем-то, что хочу сделать, я пишу это на липкой записке и наклеиваю на свою клетку. Простые вещи, такие как «вывести окно на экран», «вывести игрока на экран», «заставить игрока двигаться», «заставить игрока стрелять». когда я заканчиваю это, я вытаскиваю это и добавляю это в законченный стек. Я думаю, что видение проблем, решаемых в физической форме, приобретает совершенно новый смысл, по сравнению с отображением числа или списка на мониторе.
Азарал

1
Я не могу согласиться больше с контролем версий. Да, это полезно, но главным преимуществом для меня было то, что оно заставило меня записать все удивительные вещи, которые я сделал; что действительно помогает сохранять мотивацию
Ричард Тингл

41

Создатель игры Grauioutous Space Battles, одинокий инди-разработчик, подытожил несколько полезных советов по созданию собственной игры в блоге. Некоторые из них могут быть мотивирующими даже для хобби проектов.

Блог Клиффски: как сохранить мотивацию при программировании игры

Выдержка:

  1. Код, что вам нравится
  2. Окружите себя вдохновением
  3. Ведите журнал того, что вы делали каждый день.
  4. Сделать некоторые блестящие
  5. Тяжелые уроки в деньгах
  6. Будьте в курсе, как высоко планка (знайте, ваши конкуренты)
  7. Делайте короткие перерывы.

Очень хороший ответ тоже.
topright

33

Недавно я заметил, что всякий раз, когда я читаю сообщение в блоге другого разработчика инди-игры о его обновлениях, я немедленно открываю свою среду IDE и начинаю работать. Итак, мой совет для поддержания вашей мотивации: читайте другие (игровой разработчик) блоги ;)

Вот краткий список:


27

Начните с создания игры, которая будет глупо простой, и закончите ее и где-нибудь опубликуйте онлайн. Помните, что даже нечто, кажущееся простым, например, понг, может оказаться довольно сложным, если вы разрабатываете новую игру, и если вы начнете с простой игры, то покажет, есть ли у вас терпение, чтобы взяться за более крупный проект.


16

Я работал над Snapshot (www.retroaffect.com) в дополнение к своей работе на полную ставку в течение почти 8 месяцев, прежде чем превратить ее в работу на полную ставку. Я работал весь день, потом приходил домой и работал над Снимком, пока не уснул. Иногда это было слишком много, но иногда (в большинстве случаев) это было потрясающе.

Я определенно рекомендую прочитать это: http://positech.co.uk/cliffsblog/?p=753

Также помните, что если это то, что вы просто делаете для развлечения, не забудьте оставить это таким ... забавным. Если вы выжжете себя, то ваш проект либо никогда не будет завершен, либо он покажет в конечном продукте.


1
Если вы инди-разработчик и еще не читали блог Клиффа, вы действительно пропускаете. Чтение этого блога само по себе мотивирует.
Hokiecsgrad

16

Исходя из моего собственного опыта, легче оставаться на почве, если с тобой работают другие. Так:

  • Найдите несколько других разработчиков, которые могут поделиться вашим увлечением игрой. Волнение может быть заразным!
  • Создайте список рассылки (группы Google легко настраивать) и часто публикуйте его, чтобы сохранить импульс.
  • Начните с чего-то простого, что работает. Когда я работал над Trosnoth (платформер с боковой прокруткой), отправной точкой была просто фигура, которая двигалась влево и вправо и прыгала. Оттуда мы медленно все добавляли кусочки, пока не получилось практически все.

Конечно, мои ключевые советы будут разделять ваше волнение и поддерживать проект в работоспособном состоянии .


4
Русские говорят , "Один в поле не воин" :)
topright

14

Я работаю над своим хобби-проектом уже около 2-3 месяцев. Это означает вечер или два время от времени плюс иногда выходные. Проект, возможно, 2/3 сделан для надлежащего первого выпуска. Возможно, еще слишком рано называть это успехом, но вот что заставило меня зайти так далеко:

  • У меня было довольно четкое представление о том, о чем будет игра. Довольно просто, но предлагает множество точек расширения для версий 2 и 3.
  • Я веду блог и пишу в Твиттере.
  • Я выбрал область, которая меня интересует (интеграция JS + HTML5 Canvas + FB) и достаточно отличается от моей повседневной работы (CMS, J2EE, GWT / GXT)
  • Выбранная технология позволяет легко и быстро настраивать, не компилировать и т. Д.
  • Все сделано только потому, что это весело. Игра может работать как справочная однажды, но это не причина для работы с ней.
  • Я был добр со своими друзьями, не спрашивая отзывов после каждого изменения.
  • Моя подруга понимает меня :-)

13

1. Купите блокнот для хранения каждой идеи, которую вы получите. Вам не нужно на самом деле помещать их в свою игру, но вы можете использовать их для дальнейшего вдохновения.

2. Я также стараюсь держать все, что мне еще нужно сделать, на пробковой доске или доске, чтобы я всегда мог искать свои следующие цели, чтобы закончить.

3. Не пытайтесь реализовать вещи наилучшим образом с первой попытки. Попытайтесь заставить вещи работать и сделать их хорошими на более позднем этапе.

Таким образом, вы можете иметь разные функции в разных состояниях:

  • Конец первого дня:
    • Feature1: плохо, но работает
    • Feature2: Запланированные
  • Конец Дня2:
    • Feature1: сделал решение лучше
    • Feature2: плохо, но работает
  • Конец Дня 3:
    • Характеристика 1: Приемлемое состояние милости
    • Feature2: Приемлемое состояние милости

Это очень помогает в мотивации, если вы сначала запустите все, прежде чем подумать о том, чтобы сделать их красивыми и плавными. Недостатком этого метода является то, что вы будете кодировать больше кода, который в конце вы положите в корзину.

4. Не реализуйте слишком много функций параллельно. Попробуйте сосредоточиться на <= 3 функциях одновременно. Таким образом, у вас есть куда переключиться, если вы остановитесь на одной функции, но не так много функций, которые вы ошеломили огромным количеством работы.


10

Краткий ответ: повторять, повторять, повторять. Начните с малого и начните работать, прежде чем пытаться внедрить всю систему. По-прежнему важно заниматься дизайном и планированием на высшем уровне, но способность видеть то, с чем вы работаете, и проверять роли на ходу, невероятно важна для сохранения мотивации; мне (и большинству других известных мне программистов) трудно работать изо дня в день над чем-то, что на самом деле не показывает видимых результатов.


Получите что-нибудь на этом экране. Это мышление, в котором я нахожусь, когда начинаю игру.
Майкл Коулман

Это мышление также помогает мне немного упростить дизайн кода. Это заставляет меня задуматься о том, что именно являются наиболее основными и необходимыми компонентами системы, и строить из них восходящие.
Билл

9

У меня хорошее воображение, но плохие организаторские способности. Что касается творчества, я обнаружил, что в моем случае полезно использовать инструмент, который поможет мне отслеживать все и навязывать некоторую общую структуру. Я использую Writer's Café, который достаточно гибок, чтобы адаптироваться к игровому дизайну. Я уверен, что есть другие доступные инструменты. Думаю, самое важное - это установить вехи. Это удерживает вас в фокусе, позволит вам измерять прогресс и должно дать вам ощущение достижения, когда вы достигнете их.


6

Еще один крошечный совет. - Соберите команду - Общайтесь с вашей командой на регулярной основе (скайп, лайв, электронная почта и т. Д.)

Все советы, упомянутые другими, хороши. Если вы создаете команду, члены команды могут поддерживать друг друга. Кроме того, регулярные встречи побуждают вас работать над своим проектом, чтобы показать прогресс или уложиться в сроки.

Другие люди могут быть вашим самым большим ресурсом.

Вот так я и собрал свою игровую студию. Мы три партнера, работающие над игрой в течение последних двух лет в качестве хобби выходного дня. Сейчас мы видим свет в конце туннеля.

Веселитесь с этим.


5

Я использую Collative для своих проектов, и это позволяет мне устанавливать задачи и этапы. Когда я работаю над проектом с несколькими людьми, это также позволяет мне общаться с ними и назначать им конкретные задачи. Помимо программного обеспечения для управления проектами (с открытым исходным кодом), я также использую Subversion, чтобы помочь нескольким людям работать над кодом одновременно. Обе эти программы работают на небольшом Linux-сервере, и у меня, честно говоря, не было ни одной проблемы с этой настройкой! :)


4

Для управления проектом хобби вам нужно несколько вещей: мотивация и соответствующие инструменты.

Мой ответ будет сосредоточен на использовании надлежащих инструментов, так как если вы серьезно относитесь к созданию игры в свободное время, у вас, надеюсь, уже не будет мотивации. :)

Я бы порекомендовал использовать какую-либо форму контроля версий для вашей игры. Такие сайты, как Github или Bitbucket, предоставляют хостинг для Git и Mercurial (поддержка Bitbucket Mercurial, а не GitHub). Это ваш первый шаг к организации вашего кода и ресурсов.

Следующим является возможность хорошо определить отставание от задач и функций, которые необходимо выполнить. Лучший процесс для этого зависит от вас, разработчика. Некоторые варианты включают создание Документа о разработке игры (GDD), Технического документа о дизайне (TDD) и Журнала невыполненных функций. Хороший образец для GDD можно найти здесь: http://www.runawaystudios.com/articles/chris_taylor_gdd.aspДля TDD смоделируйте его аналогично GDD, но сфокусируйте его больше на технических деталях программирования. Так какой язык вы собираетесь использовать, фреймворк, движок и прочие технические особенности. И GDD, и TDD помогут вам лучше понять суть проекта и выяснить, что представляет собой список дел. Вы можете сделать это в середине проекта, если вы уже начали его, так как всегда важно изменить объем и знать, каковы именно ваши цели и функции.

Как только вы это сделаете, вы должны начать разработку. Я написал сообщение в блоге о том, как использовать github для эффективной разработки игры, включая использование их вики-функций, проблемы отслеживания ошибок и просто управление вашим проектом. Вы можете найти это здесь: Использование Git и Github для разработки игр

Определение мягких сроков для вашего проекта может помочь, а может и не помочь подтолкнуть вас к продолжению. Каждый человек индивидуален, и только вы будете знать, как мотивировать себя. Попробуйте разные техники и посмотрите, что работает для вас. Разработка игр (и разработка программного обеспечения), как правило, занимает гораздо больше времени, чем первоначально предполагали люди. Так что не отчаивайтесь и придерживайтесь этого.

Если вам нужно больше примеров GDD и TDD, у меня есть мой в Google Doc's, и я не против поделиться ими!


3

Первое, о чем вы должны думать, это то, что вы работаете на себя и на свое собственное развлечение. Не позволяйте вашему проекту быть угнанным другими ожиданиями и желаниями, особенно когда ваши интересы со временем меняются.


Вы понимаете, что этот вопрос ..... старый?
Пип

3
@ Пип, это не форум, нет ничего плохого в том, чтобы задавать старые вопросы. На самом деле, если вы отвечаете на старые вопросы с хорошим ответом, для этого есть значки.
congusbongus

@congusbongus верно, но уже есть гораздо лучшие ответы, а именно первые два.
Пип

1
@pip ты понимаешь, что читаешь старые вопросы и ответы и комментируешь их?
ddyer

@ddyer Ах, да, но комментировать новый ответ НАМНОГО отличается от ответа на старый вопрос.
Pip
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.