Читаем Ошибки разработчиков видеоигр. От идеи до провала полностью

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

Интеграция новых элементов в ходе масштабирования проекта будет проходить всё медленнее и медленнее. Это необходимо учитывать во время планирования. Разработчики не просто так шутят, что после выполнения проекта на 99 % остается сделать еще 99 %.


Самопрезентация

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

Когда в издательстве меня спросили, сколько времени мне потребуется на написание этой книги, я чуть было не ляпнул: «Две недели». И технически это возможно. Я знаю, сколько страниц текста я способен выдавать за день. Но вот только половину всего следующего дня я провел за руганью со службой доставки, которая потеряла мою посылку; еще через день ко мне приехал друг из Германии и я никак не мог и не хотел игнорировать встречу с ним, а сразу после встречи я получил долгожданное письмо о том, что закончилась вся бюрократическая волокита, необходимая для издания видеоигры на физическом носителе, и теперь мне необходимо заняться сбором предзаказов на физическую копию Catmaze. Плюс ко всему я словно бы забыл, сколько времени ушло на внесение правок к моей предыдущей книге и что написать текст – это лишь полдела, его еще предстоит вычитывать и вычитывать.

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

Но что более важно: эту глупую фразу чуть не написало моё эго.

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

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

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

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

Осознав, что фразу про «две недели» пишет за меня мое желание презентовать себя в качестве якобы достойного специалиста, я быстро стер эту глупость и исправил ее на «два месяца, но давайте еще месяц отведем на форс-мажор». Это сообщение уже было сформировано здравым смыслом и пережитым мной опытом.

Планирование никогда не должно быть частью самопрезентации.


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

Ошибка 4


Браться за непосильную ношу



Перейти на страницу:

Похожие книги

Язык программирования C++. Пятое издание
Язык программирования C++. Пятое издание

Лучшее руководство по программированию и справочник по языку, полностью пересмотренное и обновленное под стандарт С++11!Р'С‹ держите в руках новое издание популярного и исчерпывающего бестселлера по языку программирования С++, которое было полностью пересмотрено и обновлено под стандарт С++11. Оно поможет вам быстро изучить язык и использовать его весьма эффективными и передовыми способами. Р' соответствии с самыми передовыми и современными методиками изложения материала авторы демонстрируют использование базового языка и его стандартной библиотеки для разработки эффективного, читабельного и мощного кода.С самого начала этой книги читатель знакомится со стандартной библиотекой С++, ее самыми популярными функциями и средствами, что позволяет сразу же приступить к написанию полезных программ, еще не овладев всеми нюансами языка. Большинство примеров из книги было пересмотрено так, чтобы использовать новые средства языка и продемонстрировать РёС… наилучшие СЃРїРѕСЃРѕР±С‹ применения. Эта книга — не только проверенное руководство для новичков в С++, она содержит также авторитетное обсуждение базовых концепций и методик языка С++ и является ценным ресурсом для опытных программистов, особенно желающих побыстрей узнать об усовершенствованиях С++11.Стенли Р'. Липпман работал старшим консультантом в Jet Propulsion Laboratory, архитектором РіСЂСѓРїРїС‹ Visual С++ корпорации Microsoft, техническим сотрудником Bell Laboratories и главным инженером- программистом по анимации в кинокомпаниях Disney, DreamWorks, Pixar и PDI.Р–РѕР·и Лажойе, работающий ныне в кинокомпании Pixar, был членом канадской РіСЂСѓРїРїС‹ разработчиков компилятора C/C++ корпорации IBM, а также возглавлял рабочую группу базового языка С++ в составе международной организации по стандартизации ANSI/ISO.Барбара Э. Му имеет почти тридцатилетний опыт программирования. На протяжении пятнадцати лет она работала в компании AT&T, сотрудничая с Бьярне Страуструпом, автором языка С++, и несколько лет руководила РіСЂСѓРїРїРѕР№ разработчиков С++.• Узнайте, как использовать новые средства языка С++11 и стандартной библиотеки для быстрого создания надежных программ, а также ознакомьтесь с высокоуровневым программированием• Учитесь на примерах, в которых показаны передовые стили программирования и методики проектирования• Р

Барбара Э. Му , Жози Лажойе , Стенли Б. Липпман

Программирование, программы, базы данных
Programming with POSIX® Threads
Programming with POSIX® Threads

With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O. This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset. Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

David Butenhof

Программирование, программы, базы данных