Программы для создания игр

Содержание:

Книга «Игровой движок. Программирование и внутреннее устройство. Третье издание»

Привет, Хаброжители! Книга Джейсона Грегори не случайно является бестселлером.Двадцать лет работы автора над первоклассными играми в Midway, Electronic Arts и Naughty Dog позволяют поделиться знаниями о теории и практике разработки ПО для игрового движка.
Игровое программирование — сложная и огромная тема, охватывающая множество вопросов. Граница между игровым движком и игрой размыта

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

Godot

Средний уровень / Бесплатный / Для всех типов видеоигр

Идеальный движок для разработки собственных видеоигр как в 2D, так и в 3D. И не только потому, что он бесплатный, но и из-за наличия множества внутренних инструментов, с интегрированной средой, которая позволяет создавать игры с нуля, не используя другие инструменты. Godot позволяет делать видеоигры для PC, мобильных устройств и веб-приложений с очень достойными визуальными результатами благодаря мощному движку рендеринга. 

Движок бесплатный, без подписки, с открытым исходным кодом и без роялти. Однако многие профессионалы говорят о его «зелёности». Godot всего 6 лет, но его сообщество и возможности постоянно растут.

С чего начать? 

  • Чего можно достичь: ролик.
  • Дополнительная информация и руководства есть на официальном форуме Godot.

Как мы пришли к реактивному связыванию в Unity3D

Сегодня я расскажу о том, как некоторые проекты в Pixonic пришли к тому, что для всего мирового фронтэнда уже давно стало нормой, — к реактивному связыванию.
Подавляющее большинство наших проектов пишется на Unity 3D. И, если у других клиентских технологий с реактивщиной всё неплохо (MVVM, Qt, миллионы JS-фреймворков), и воспринимается она как должное, в Unity каких-либо встроенных или общепринятых средств связывания нет.
У кого-то к этому моменту наверняка созрел вопрос: «А зачем? Мы такое не используем и неплохо живём».
Причины были. Точнее, были проблемы, одним из решений которых могло стать использование такого подхода. В результате оно им стало. А подробности под катом.

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

Тот кто когда-нибудь задумывался о том как работает графическая часть 2д ретро ускорителя, примерно представляет как именно она рисует эти пресловутые Tiles, которые к слову из определения не обязаны быть прямоугольными. Тайлинг это про замощение плиткой. Да чаще всего разработчики железного апи понимают это и методы соответственно называют drawRect а не drawTile. Любой прямоугольник действительно может быть тайлом, но обратное не верно! И тут назревает вопрос: Почему 2D ускорители упорно ускоряют только rect… Простой ответ на этот вопрос потому что все остальное слишком сложно для простой железки. Но тут я бы и поспорил. Можно предложить как минимум одно простое, но очень функциональное расширение этой базовой абстракции, следующее.

Исправляем кривой запуск первого Mass Effect

Часть 1

В последнее время я работал над собственным форком ME3Explorer , содержащим множество важных улучшений и даже новые инструменты. Также я поработал над Mod Manager 5.1, который имеет удобные новые функции импорта сторонних модов, однако был отодвинут на второй план, пока я работал над новым фронтендом установщика ALOT.
Для его реализации я сотрудничал с CreeperLava и Aquadran; он должен упростить жизнь конечным пользователям, устанавливающим ALOT и его аддон (сторонние текстуры). Одна из моих проблем заключалась в том, что Origin не запускал игру после установки ALOT, если не запустить его с правами администратора. И поскольку запуск Origin при загрузке невозможно выполнить с правами админа, это очень раздражает. К тому же это влияет на мод MEUITM. Поэтому я начал разбираться, почему это происходит. Дело оказалось в идеальном сочетании реализации защиты, плохого кода и желания упростить жизнь других людей.
Давайте посмотрим, как работает Mass Effect с Origin в неизменённом состоянии под Windows 10.

Кто такой разработчик игр и что он делает?

Современные игры часто создаются на движках, которые содержат готовые решения и позволяют выпускать проекты для ПК, консолей, мобильных устройств. Примеры таких платформ: Unity, Unreal Engine, CryEngine, GameSalad, HeroEngine и множество других.

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

  • Настройка визуальной составляющей: текстур, материалов, освещения, камеры и т.д.
  • Программирование уровней.
  • Интеграция персонажей в игру и настройка их взаимодействий.
  • Внедрение анимации, моделей и различных эффектов.
  • Разработка игровых механик, то есть того, как игра должна функционировать, что в ней должно происходить и каким образом.
  • Внедрение сторонних плагинов и SDK, например, систем аналитики и рекламы.
  • Оптимизация кода, чтобы программы работали быстрее и требовали меньше ресурсов.
  • Создание дополнительных приложений, например, встроенного редактора уровней.

Для работы программистом игр необходимо не только знать движки, но и понимать физику процессов, математику, владеть разными технологиями. Например, Unity разработчикам необходимо знать язык C# (Си шарп). Поскольку в процессе разработки требуется писать код именно на нем. Также пригодится знание С++, Python, Java и JavaScript.

Cascadeur: Задача о падающей кошке

Все знают, что кошка всегда приземляется на 4 лапы, как бы ее ни бросили. Этот вопрос давно занимал физиков, и было предложено несколько моделей того, как это кошке удается. Все эти модели достаточно приблизительны и обычно ограничиваются цилиндрами. Однако, команда программы для physics-based анимации Cascadeur попробовала смоделировать переворот кошки на более подробной физической модели.
Раньше физики думали, что кошка может заранее рассчитать свое вращение и в начале падения успевает правильно оттолкнуться, приобретая начальный угловой момент. Но эксперименты показали, что даже если кошку подвесить за лапы на веревки, а потом резко перерезать их, то кошка все равно умудряется перевернуться.

Штробление стен под электропроводку

Как я стал разработчиком игр для мобильных телефонов

Из песочницы

Небольшая история от том как я стал разработчиком игр. Постараюсь осветить проблемы, с которыми я столкнулся на своем пути, и поделиться некоторыми цифрами. Программистом работаю давно, с 2001 года, компьютерами занимаюсь с детства, но играми начал заниматься лишь в начале 2014 года. И катализатором этого стала статья на Хабре. Где-то в начале 2014го, читая статейки на Хабре, я нашел статью про то, как один молодой человек сделал простенькую игру для ВК. Простая игра про сражение на самолетиках в 2D. Про саму игру в статье было мало, но меня заинтересовало то, что ему предложили продать игру за 700 баксов. Он отказался и потом пожалел, так как игра принесла ему только убытки. И эта «история успеха» как-то меня вдохновила.

Состояние клиента

state

render.js

в любой момент времени

  • t: метка времени сервера, обозначающая момент создания этого обновления.
  • me: информация об игроке, получающего это обновление.
  • others: массив информации о других игроках, участвующих в той же игре.
  • bullets: массив информации о снарядах в игре.
  • leaderboard: текущие данные таблицы лидеров. В этом посте мы их учитывать не будем.

7.1 Наивное состояние клиента

naive-state.js

она ограничивает частоту кадров рендеринга частотой тактов серверамы никогда не получаем от сервера больше 30 обновлений в секундуподвержена задержкам
клиент затормаживается

7.3 Реализация улучшенного состояния клиента

state.js, часть 1

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

state.js, часть 2
  1. означает, что до текущего времени рендеринга обновлений нет (см. выше реализацию ). Это может случиться сразу в начале игры из-за задержки рендеринга. В таком случае мы используем самое последнее полученное обнолвение.
  2. — это самое последнее обновление, которое у нас есть. Это может произойти из-за сетевой задержки или плохой связи с Интернетом. В этом случае мы тоже используем самое последнее обновление, которое у нас есть.
  3. У нас есть обновление и до, и после текущего времени рендеринга, поэтому можно интерполировать!

Github

Новая технология, позволившая CD Projekt Red создать реалистичную речь персонажей Cyberpunk 2077

Перевод

Пиф Эдвардс: Меня зовут Пиф Эдвардс (Pif Edwards), я докторант Торонтского университета и сооснователь JALI Research. В этой презентации мы расскажем о том, как применили в Cyberpunk 2077 результаты своей статьи, опубликованной в 2016 году.
Крис Ландрет: Привет, меня зовут Крис Ландрет (Chris Landreth), я аниматор и разработчик ПО, а также один из основателей JALI Research Inc.
Матош Поплавски: Привет, меня зовут Матош Поплавски (Matosh Popławski), я ведущий технический директор по работе с персонажами в CD Project Red, приветствую вас в нашей презентации с SIGGraph.
После завершения работы над Witcher 3 у нас уже была довольно неплохая система синхронизации движения губ (lipsync). Мы задались вопросом: как можно сделать её лучше, как повысить качество, не тратя сотни часов на создание анимаций? Было решено, что липсинк Cyberpunk 2077 должен быть лучше, чем в Witcher 3; также мы хотели добавить управляемую мышцами систему эмоций. Эта система должна использоваться во всём открытом мире игры и в каждом персонаже. Кроме того, нам требовалась поддержка нескольких языков, а конкретно десяти.

Сборки/параметры проекта

Webpack

webpack.common.js:
  • — это входная точка клиента Javascript (JS). Webpack будет начинать отсюда и станет рекурсивно искать другие импортированные файлы.
  • Выходной JS нашей сборки Webpack будет располагаться в каталоге . Я буду называть этот файл нашим пакетом JS.
  • Мы используем Babel, и в частности конфигурацию @babel/preset-env для транспиляции (transpiling) нашего кода JS для старых браузеров.
  • Мы используем плагин для извлечения всех CSS, на которые ссылаются файлы JS, и для объединения их в одном месте. Я буду называть его нашим пакетом CSS.

если пакет изменяется, то меняется и его имя файла

localhost:3000

Череда проблем длиною в 16 лет

Не так давно, на заре этого тысячелетия, холодным ноябрьским днем 2004го я сел писать эмулятор сервера для некой онлайн игры. Писалось мне весьма хорошо, на радующем глаз C# и .Net Framework версии 1.1. Особых целей перед собой я не ставил, а опыт имел сравнительно небольшой. По какой-то причине сообщество оценило эту поделку (может, потому что она появилась раньше официального старта основной игры?) и через несколько месяцев я столкнулся с взрывным ростом онлайна, а заодно и серьезными проблемами производительности. Проект прожил 6+ лет, достиг заметных высот (2500 онлайна в пике, порядка 20000 MAU), а затем и почил в бозе. И вот спустя полтора десятилетия я решил сделать собственную ММО игру на тех же “проверенных временем” наработках и столкнулся с аналогичными же проблемами, не смотря на то, что они были уже единожды мною решены.

Маленькие секреты геймдизайнеров, заставляющие игрока ненавидеть вашу игру чуточку меньше

Перевод

Три года назад ведущий геймдизайнер ArenaNet Дженнифер Шойрле завела в Твиттере очень интересный тред на тему «отличных игровых механик, скрытых от глаз игрока с целью достижения определенного эмоционального эффекта, реакции или поведения», где любой геймдизайнер мог поделиться своими внутриигровыми «фишками».
Этот тред собрал огромное количество откликов и мог бы послужить отличным сборником всяческих геймдизайнерских уловок, таких как:

  • В Hellblade предупреждение перед игрой было тщательно продумано, чтобы заставить игроков поверить, будто в игре срабатывает система permadeath в случае, если игрок умирает слишком часто, хотя на самом деле ее там нет.
  • Pacman может огибать углы более резко, чем это делают призраки, тем самым наделяя игрока небольшим преимуществом.
  • Во многих шутерах последние очки здоровья стоят больше всей остальной шкалы, чтобы усилить чувство «выживания на грани». С той же целью в System Shock последняя пуля нанесет урон в 4 раза более сильный, чем остальные.
  • И, напротив, Shadow of Mordor слегка увеличивает здоровье некоторых врагов, чтобы бои длились дольше.
  • В Bioshock и Devil May Cry, находясь за спиной игрока, противники замедляют свою атаку.
  • В Xcom, если промахнуться много раз подряд, игрок получит скрытый бонус для последующих выстрелов. Кроме того, если игроки остаются пассивными слишком долго, враги усиливают свою агрессивность.
  • Похоже, что в Heartstone есть pity timers ― таймеры жалости. Многие другие игры позорно использовали их в более ранние годы.
  • В Resident Evil 4 после слишком большого количества смертей заспавнится меньше врагов, чтобы дать игроку больше шансов пройти трудный для него эпизод.
  • В любой гоночной игре реализован адаптивный ИИ, чтобы сделать соревнование более жестким.

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

Как создателю Prince of Persia удалось преодолеть ограничения памяти Apple II

Перевод

«Я разработал сюжетную линию „Теневого человека“. Он появляется в игре в заранее определённые моменты. В одном случае он крадёт зелье. Когда игрок уже готов схватить пузырёк, прибегает Теневой человек, выпивает его и сбегает. В другой раз, когда игрок уже собирается пройти через ворота, появляется Теневой человек, нажимает на плиту и закрывает ворота. После этого игрок падает на три уровня вниз, и ему приходится снова проделывать весь путь наверх. Я прописал эти столкновения в сюжете, чтобы игрок возненавидел Теневого человека и считал его своим врагом. Чтобы в момент, когда ему придётся скрестить с ним мечи в конце игры, он по-настоящему хотел поквитаться, ведь тот столько раз препятствовал игроку. Это был мой способ создания эмоциональной связи между игроком и противником через игровой процесс, а не кинематографические вставки».
Привет, я Джордан Мекнер, автор Prince of Persia. Это история о том, как я загнал себя в угол анимациями, а потом смог выбраться из него благодаря боям.
Я был ребёнком, росшим в Нью-Йорке в середине 70-х. Фанатом комиксов. Я любил кино. Рос на журнале «MAD», и если бы не появились компьютеры, я мог бы заняться комиксами и анимацией. Но когда в 1978 году появился Apple II, я воспринял его как машину, на которой я в первую очередь могу играть в игры дома, что раньше было совершенно невозможно. Вместо того, чтобы тратить четвертаки в местных залах игровых автоматов, я мог оставаться дома и играть сколько пожелаю в «Space Invaders» на Apple II. Кроме того, компьютер позволял мне создавать собственные игры, и меня это восхитило. Это случилось ещё до появления Интернета, поэтому почти все были самоучками. Я подписался на журнал «Creative Computing», а чуть позже — на журнал в «Softalk», в котором были статьи о том, как программировать. Я начал обмениваться опытом с друзьями, которые тоже любили компьютеры.

Клиентский ввод

играбельнойEvent Listeners

История Dizzy

Перевод

Оставленный без внимания профильными изданиями, но любимый игроками, Диззи был феноменом среди блокбастеров в Великобритании середины 80-х. А история о том, как улыбающееся яйцо три года доминировало в топах программного обеспечения, — это наглядный пример «программирования в спальне», доведённого до абсолюта.

Близнецы Оливеры, только что освоившие новенький BBC Micro (один из ранних домашних компьютеров), приняли участие в конкурсе детской телепередачи The Saturday Show по созданию видеоигры. Они победили, оказавшись единственными, кто прислал настоящую игру, а не набросок, нарисованный мелком. Позже братья продали свою Gambit компании Acornsoft за 200 фунтов.

Обнаружив, что видеоигры могут приносить деньги, Эндрю и Филип Оливеры потратили следующий год на написание программ для различных издателей — сначала на своём BBC, а затем перешли на Amstrad (другой домашний компьютер). Затем, в сентябре 1985 года, братья посетили первую в истории ECTS (Европейскую компьютерную выставку), где познакомились с Ричардом и Дэвидом Дарлингами. Будущим основателям Codemasters требовались программисты-фрилансеры. «Их предложение заключалась в том, что если мы напишем для них игру, то получим 10 тысяч фунтов», — вспоминает Филип Оливер. — Но было одно условие: игра должна выйти к Рождеству». Поэтому братья поспешили домой и за шесть недель написали платформер Super Robin Hood. А продано было 100 тысяч копий игры.

Представляем Owlcat Mono Profiler для Unity

Добрый день. Я работаю программистом в компании Owlcat Games, которая выпустила одну из самых успешных российских компьютерных RPG Pathfinder: Kingmaker и сейчас работает над её продолжением, Pathfinder: Wrath of the Righteous. В ходе портирование первой игры нашей студии на консоли, мы столкнулись с проблемой поиска утечек памяти. Штатные инструменты движка Unity и целевых платформ оказались по разным причинам не слишком удобны для борьбы с утечками, и поэтому мы решили написать свой инструмент, о котором я и расскажу ниже.

Owlcat Mono Profiler предназначен для исследования использования памяти Mono в играх на движке Unity. Он доступен всем желающим в виде собранных бинарных файлов (под Windows) и исходного кода на Github. В отличие от встроенного профайлера Unity, а также пакета Memory Profiler, он не требует снятия снимков состояния памяти, а производит постоянный мониторинг состояния Mono-кучи, что позволяет выявлять не только утечки, но и пики аллокаций, и избыточные повторяющиеся аллокации. По сравнению с платформо-специфичными инструментами, такими как Memory Analyzer для PS4, он корректно отображает события, происходящие с памятью, управляемой сборщиком мусора.

На этом покончим с формальностями, и перейдём к cool story.

Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов

Перевод

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

Часть 7: Текст

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

Тайлы

В нашей системе рендеринга мы будем использовать тайлы. Мы разобьём экран 320×240 на сетку тайлов, каждый из которых содержит 16×16 пикселей. Так мы получим сетку шириной 20 тайлов и высотой 15 тайлов.
Статические элементы, например, фоны и текст, будут рендериться при помощи системы тайлов, а динамические элементы, например, спрайты — иным способом. Это означает, что фоны и текст можно будет располагать только в фиксированных местах, а спрайты можно поместить в любое место экрана.

Unreal Engine 4

Unreal Engine 4 – самый мощный игровой «движок» и самый профессиональный инструмент из перечисленных в нашем рейтинге. Создавали его специалисты, участвовавшие в разработке популярного шутера Unreal. Они точно знали, что делают.

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

В UE4 реализована уникальная система Blueprint, позволяющая создавать игровую логику без написания кода. Система достаточно продвинута, чтобы с ее помощью разрабатывать игры от «А» до «Я», даже сложные, не запуская редактор исходных кодов. В то же время программирование тоже поддерживается.

У Unreal Engine 4 есть собственный канал на YouTube с восемью сотнями роликов, раскрывающих все аспекты работы с «движком». Большинство видеороликов длится от 20 до 60 минут. Здесь больше информации, чем можно было бы получить за семестр учебы в университете, если бы там преподавали UE4. Если вам нужны пошаговые руководства на все случаи жизни, то у Unreal Engine 4 они есть.

Поддерживается экспорт в: Windows, Linux, Mac, iOS, Android, HTML5, Xbox One, PlayStation4, Oculus VR и так далее. Бесплатная версия имеет весь функционал и поставляется с открытым исходным кодом. Нужно только платить ежеквартально 5% от прибыли, если продажи игры приносят вам больше 3000 долларов.

Meta Gameplay Framework, или бэкенд без серверных разработчиков

Привет! Меня зовут Кирилл, я руководитель отдела серверной разработки в Pixonic. Здесь я работаю уже более 5 лет. Долгое время Pixonic была компанией одной игры — War Robots. Но однажды к нам пришло осознание, что так больше продолжаться не может, и мы начали работу над созданием новых проектов.
Поначалу мы взялись за это дело по старинке, используя традиционные для нас подходы: писали клиент на Unity 3D, бэкенд разрабатывали на Java. Это было привычно, понятно, но имело ряд серьезных недостатков. Проекты разрабатывались медленнее, чем нам бы хотелось. Для выполнения любой задачи необходимо было задействовать как минимум двух разработчиков. Однако, когда в разработке участвуют два и более человека, неизбежно возникают ошибки в духе: то один не так понял другого, то второй работает быстрее, чем первый. Такие ситуации приводят к тому, что кому-то из разработчиков в дальнейшем приходится возвращаться к задаче, которую он, казалось, уже давно закончил, а ведь у него и других дел полно. Так мы начали думать над тем, как разрешить эту проблему.

Обучение геймдизайну в России

В России на гейм-дизайнера в вузах не учат — таких образовательных программ нет. Пройти обучение можно только на специализированных курсах.

Геймдизайн можно осваивать самостоятельно, но наступает момент, когда надо выбрать оффлайн- или онлайн-курсы

В сети разработчики охотно делятся  своими знаниями с новичками, есть профильные ресурсы (например, Gamasutra), бесплатные вебинары и книги (Джесси Шелл «Искусство геймдизайна»).

Новичкам желательно изучить:

  • программы Sketch, Photoshop;
  • принципы создания интерфейса Apple’s UI Do’s and Don’ts, Google Material Design;
  • создание 2D-объектов в Paint Tool SAI, Gimp, Photoshop;
  • создание 3D-объектов: Max (отрисовка), Blender (сложное обучение), Maya (анимация);
  • игровые ассеты (элементы игрового контента): Open Game Dev Art (библиотека графики), Behance (шрифты и иконки), KennyNL (готовые к использованию объекты).

Платные онлайн-курсы обучения геймдизайну

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

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

Бесплатные курсы геймдизайна

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

Лучшие курсы геймдизайна в Москве

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

REN’PY

Игровой движок для создания визуальных новелл с открытым исходным кодом. Он использовался для таких игр, как Doki Doki Literature Club, Butterfly Soup и One Night, Hot Springs.

Фото: doki-doki-literature-club.fandom.com

Для разработки: Визуальных новелл.

Платформы: Windows, macOS и Linux.

Языки программирования: Язык скриптов Ren’Py и Python.

Стоимость: Бесплатно.

Обучение: Существует бесплатный текстовый гайд, как сделать простую игру в Ren’Py, и дополнительные текстовые руководства для более специфической настройки вашего проекта.

Начало работы: https://www.renpy.org/doc/html/quickstart.html

Свободная веб-энциклопедия для любых IT-проектов на собственном движке

Из песочницы

Введение

Когда я пытался продвигать свой последний проект (веб-чат), я столкнулся с тем, что о нем фактически негде написать. Ситуация касается не только wiki-проектов, а вообще всего рунета. Крупные сайты ведут такую политику, что Вы не можете написать о своем проекте — Вы должны либо купить рекламу, либо о Вас должен написать кто-то еще. Если рассматривать конкретно wiki-сайты, то даже на Лурк или Викиреальность попасть проблематично, не говоря уже о таком гиганте как Википедия. Хотя потом я нашел пару небольших wiki-порталов без цензуры, для которых написал два уникальных обзора на свой чат. Они меня и вдохновили на создание свободного wiki-ресурса для IT-разработок.

Зачем писать свой wiki-движок когда есть готовые?

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

Навыки персонажа VS Навыки игрока

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

Да и поиграть в свободное от работы время мы тоже иногда любим.

В данной статье наши друзья из Высшей школы бизнес-информатики НИУ ВШЭ, а именно выпускница образовательной программы «Менеджмент игровых проектов» Юлия Черненко, рассмотрела подходы к системе навыков в играх. Юлия сейчас работает над перспективной отечественной РПГ игрой «Pathfinder: Wrath of the Righteous» в компании Owlcat Games.

Ускоряем на 70% игру на процессоре в 1 МГц

Перевод

Давным-давно, во времена студенчества в колледже я немного занимался разработкой компьютерных видеоигр. Это была эпоха 8-битных PC, когда игровое оборудование по современным стандартам было почти невозможно медленным.
Поэтому вас не должно удивлять, что программисты игр придумывали всевозможные безумные трюки, чтобы их игры работали с приемлемой скоростью. Безумные, безумные трюки.
Это история об одном из таких трюков.
Я постараюсь припомнить все важные подробности, однако в чём-то могу ошибиться. Если так случится, простите меня, это было очень давно.

Исходные данные

Мой друг, одарённый программист, почти закончил свою новую игру. Каким-то образом ему удалось почти без изменений уместить в компьютер эпохи 1980-х довольно впечатляющую графически на то время игру, популярную на аркадных автоматах.
Единственная проблема заключалась в том, что его версия игры оказалась неиграбельной. Она работала слишком медленно, а дёрганые движения мешали вовлечённости игрока, ведь игра была сайд-скроллером.
Мой друг, работавший над игрой параллельно с учёбой в колледже, начал уже ощущать себя немного вымотанным. Опасаясь, что мог упустить какую-нибудь простую оптимизацию, он попросил посмотреть код меня.
Я посмотрел. Но там нельзя было найти никакой простой оптимизации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector