в какую игру поиграть рандом
Не знаешь во что поиграть?Загадай число от 1 до 250 и играй в попавшиюся игру!
Загадай число от 1 до 250 и начни проходить попавшуюся игру:
3. The Elder Scrolls 5: Skyrim 2011
6. Max Payne 2: The Fall of Max Payne 2003
7. Heroes of Might and Magic 3: The Shadow of Death 2000
8. Half-Life 2: Episode Two 2007
9. Grand Theft Auto: San Andreas 2005
10. The Elder Scrolls 3: Morrowind 2002
11. Heroes of Might and Magic 3: Armageddon’s Blade 1999
13. Grand Theft Auto: Vice City 2003
14. Silent Hill 2 2002
15. Mafia: The City of Lost Heaven 2002
16. Fable: The Lost Chapters 2005
17. Batman: Arkham City 2011
21. Star Wars: Knights of the Old Republic 2003
23. Half-Life 2: Episode One 2006
24. BioShock Infinite 2013
25. Hitman: Blood Money 2006
27. Mass Effect 2 2010
28. Gothic 2: Night of the Raven 2003
29. Batman: Arkham Asylum 2009
30. The Elder Scrolls 4: Oblivion 2006
31. Deus Ex: Human Revolution 2011
33. Heroes of Might and Magic 3: The Restoration of Erathia 1999
35. Dragon Age: Origins 2009
36. Need for Speed: Most Wanted 2005
38. Mortal Kombat 3 1995
40. Mass Effect 2008
41. Grand Theft Auto 4 2008
42. Call of Duty 4: Modern Warfare 2007
44. Assassin’s Creed 2 2010
45. Call of Duty 2 2005
47. Need For Speed: Underground 2 2004
48. Star Wars: Jedi Knight: Jedi Academy 2003
49. Comix Zone 1995
51. Fallout: New Vegas 2010
52. StarCraft 2: Wings of Liberty 2010
53. Mass Effect 3 2012
54. Diablo 2: Lord of Destruction 2001
56. Need For Speed: Underground 2003
57. WarCraft 3: Reign of Chaos 2002
58. Call of Duty 2003
59. Resident Evil 2 1999
61. Dreamfall: The Longest Journey 2006
62. Prince of Persia: Warrior Within 2004
63. Warcraft 3: The Frozen Throne 2003
64. Space Rangers 2 2004
65. The Witcher 2007
67. The Witcher 2: Assassins of Kings 2011
68. Assassin’s Creed: Brotherhood 2011
69. Call of Duty: Modern Warfare 2 2009
70. Mortal Kombat 9 2013
71. Resident Evil 4 2007
72. Battlefield 3 2011
74. Dead Space 2008
75. Mirror’s Edge 2009
76. Resident Evil 1997
79. Dead Space 2 2011
80. Max Payne 3 2012
81. Assassin’s Creed 4: Black Flag 2013
82. Resident Evil 3: Nemesis 2000
83. Rome: Total War 2004
84. Plants vs Zombies 2009
85. Tom Clancy’s Splinter Cell: Chaos Theory 2005
87. S.T.A.L.K.E.R.: Shadow of Chernobyl 2007
88. Total War: Shogun 2 2011
89. Sid Meier’s Civilization V 2010
90. Sid Meier’s Civilization IV 2005
92. Dark Messiah of Might and Magic 2006
93. Grand Theft Auto 4: Episodes From Liberty City 2010
94. Tomb Raider 2013
96. World of Goo 2008
97. Prince of Persia: The Two Thrones 2005
98. Battlefield: Bad Company 2 2010
99. Metro: Last Light 2013
100. Machinarium 2009
101. Silent Hill 3 2003
102. Assassin’s Creed: Revelations 2011
104. FlatOut 2 2006
105. Worms: Armageddon 1999
106. S.T.A.L.K.E.R.: Call of Pripyat 2010
107. StarCraft: Brood War 1998
108. Command and Conquer: Red Alert 2 2000
110. Metro 2033 2010
112. Call of Cthulhu: Dark Corners of the Earth 2006
113. Prince of Persia: The Sands of Time 2003
115. Bulletstorm 2011
116. Amnesia: The Dark Descent 2010
117. Tom Clancy’s Splinter Cell 2003
118. Grand Theft Auto 3 2002
119. Left 4 Dead 2 2009
120. Fallout 3: Point Lookout 2009
121. Left 4 Dead 2008
122. The Lord of the Rings: The Battle for Middle-Earth 2004
123. Dishonored 2012
124. Assassin’s Creed 2008
125. Hitman: Absolution 2012
126. StarCraft 1998
127. Hitman 2: Silent Assassin 2002
128. Grand Theft Auto: Ballad Of Gay Tony 2009
130. The Chronicles of Riddick: Escape from the Butcher Bay 2004
131. Return to Castle Wolfenstein 2001
133. Hitman: Contracts 2004
134. Call of Juarez: Bound in Blood 2009
135. Race Driver: GRID 2008
136. Battlefield 2 2005
137. Empire: Total War 2009
138. Medal of Honor: Allied Assault 2002
139. Worms: World Party 2001
140. Warhammer 40,000: Dawn of War 2004
141. Disciples 2: Rise of the Elves 2003
142. Call of Duty: Black Ops 2010
143. Age of Empires II: The Age of Kings 1999
144. Devil May Cry 4 2008
145. Colin McRae: DiRT 2 2009
146. Singularity 2010
147. Serious Sam: The First Encounter 2001
148. Left 4 Dead: The Sacrifice 2010
149. Tomb Raider: Legend 2006
150. Stronghold Crusader Extreme 2008
151. DmC Devil May Cry 2013
152. Burnout Paradise: The Ultimate Box 2009
153. Resident Evil 5 2009
154. Call of Juarez 2006
156. Tom Clancy’s Splinter Cell: Double Agent 2006
157. Battlefield 1942 2002
159. Stronghold 2001
160. Quake 3 Arena 2009
161. Serious Sam: The Second Encounter 2002
162. Sleeping Dogs 2012
163. Devil May Cry 3: Dante’s Awakening Special Edition 2006
164. Neighbours From Hell 2003
165. Hitman: Codename 47 2000
167. F.E.A.R. 2: Project Origin 2009
168. Spec Ops: The Line 2012
169. Assassin’s Creed 3 2012
171. Duke Nukem 3D 1996
172. Batman: Arkham Origins 2013
173. King’s Bounty: The Princess in an Armor 2009
174. Team Fortress 2 2007
175. Crysis Maximum Edition 2009
177. Star Wars: Republic Commando 2005
181. Saints Row: The Third 2011
182. The Lord of the Rings: The Battle for Middle-Earth 2 2006
184. Star Wars: Battlefront 2 2005
186. Age of Mythology 2002
187. Heroes of Might and Magic V 2006
188. Tom Clancy’s Splinter Cell: Conviction 2010
190. Alice: Madness Returns 2011
191. Crysis Warhead 2008
192. The Punisher 2005
193. Left 4 Dead 2: The Passing 2010
195. Titan Quest: Immortal Throne 2007
197. Titan Quest 2006
198. Gears of War 2007
199. Bully: Scholarship Edition 2008
200. Black and White 2 2005
202. Call of Duty: World at War 2008
203. American McGee’s Alice 2000
204. Darksiders: Wrath of War 2010
205. Need for Speed: Hot Pursuit 2010
206. Counter-Strike 1.6 2004
207. Overlord 2 2009
208. Worms: Reloaded 2010
209. Need for Speed 3: Hot Pursuit 1998
210. The Darkness 2 2012
211. S.T.A.L.K.E.R.: Clear Sky 2008
212. Unreal Tournament 3 2007
214. Driver: San Francisco 2011
215. X-Men Origins: Wolverine 2009
216. Call of Duty: Modern Warfare 3 2011
217. Audiosurf 2008 7.599 (202)
218. Tomb Raider: Underworld 2008
219. FlatOut: Ultimate Carnage 2008
220. Sacred 2004 7.594 (434)
221. Neverwinter Nights 2 2006
222. BioShock 2 2010
223. Painkiller 2004
224. Super Meat Boy 2010
225. Warhammer 40.000: Dawn of War 2 2009
226. Need For Speed: Hot Pursuit 2 2002
227. Medal of Honor 2010
228. Test Drive Unlimited 2007
229. Age of Empires III 2005
230. Tomb Raider: Anniversary 2007
231. Need for Speed: Porsche Unleashed 2000
233. Tom Clancy’s Rainbow Six: Vegas 2 2008
234. Kane and Lynch: Dead Men 2007
235. Angry Birds 2011
237. Minecraft 2012
238. The Saboteur 2009
240. The Movies 2005
241. Silent Hill 4: The Room 2004
242. Dead Island 2011
243. Split Second 2010
244. Half-Life: Counter-Strike 2000
245. The Chronicles of Riddick: Assault on Dark Athena 2009
Создавайте качественные приложения и игры
Хотите добиться долгосрочного успеха? Повышайте производительность приложения, а также качество контента, интерфейса и улучшайте функции.
Уникальное предложение для широкой аудитории
Расширяйте аудиторию своего приложения – для этого вам нужно правильно выбрать контент.
Выделяйтесь среди конкурентов уникальным или инновационным решением, примером использования, а также интерфейсом и функциями приложения.
Учитывайте культурные нормы разных стран – ознакомьтесь с нашими рекомендациями по успешному запуску приложений во всем мире и подумайте об использовании стратегии регионального ценообразования.
Предоставляйте пользователям возможность общаться и взаимодействовать друг с другом – для этого создавайте и расширяйте сообщества, а также поощряйте самостоятельное создание пользователями контента.
Разрабатывайте новые функции с учетом пользовательских отзывов – в этом вам поможет инфраструктура закрытого и открытого тестирования в Google Play.
Повышайте интерес к своему приложению у пользователей со всего мира – локализуйте его интерфейс и страницу в Google Play с помощью наших сервисов перевода.
Привлечение интереса пользователей
Чтобы удерживать интерес пользователей, регулярно выпускайте обновления приложения и его контента.
Регулярно выпускайте обновления контента и функций приложения – это позволит вам надолго удержать интерес пользователей.
Если в вашем приложении есть реклама, следите, чтобы она привлекала внимание пользователей, а не вызывала негативную реакцию.
Описание приложения должно быть понятным и увлекательным. Расскажите об основных функциях и интерфейсе. Чтобы выбрать лучшее описание, воспользуйтесь экспериментами со страницей приложения.
Улучшайте параметры видимости приложения, оптимизируя графические объекты, скриншоты и видео на его странице в Google Play. Это позволит пользователям понять, как приложение работает.
Хорошие технические характеристики
Создайте приложение, которое будет вызывать у пользователей положительные впечатления, интуитивно понятное, с высокой производительностью и стабильностью.
Приложение должно иметь интуитивно понятный интерфейс – cоздать его вам помогут стандартные шаблоны визуального дизайна и взаимодействия для Android.
Добавляйте в приложение основные функции, связанные с воспроизведением и записью медиафайлов, распространением контента и фоновыми службами.
Оптимизируйте производительность, стабильность и совместимость приложения – это позволит вам удовлетворить ожидания пользователей.
«Случайности не случайны, всё это большой обман.» или как работают элементы рандома в играх.
ПРЕДИСЛОВИЕ
Доброго времени суток StopGame! Сегодня я расскажу вам, как работают элементы рандома (случайных событий) и как на самом деле разработчики создают те или иные ситуации, где эти элементы требуются. Сразу уточню для большего понимания: случайность — рандом. Постараюсь рассказать как можно более сжато и понятно для восприятия. Ну что же, поехали!
О ВИДАХ СЛУЧАЙНЫХ ЭЛЕМЕНТОВ
Немногие знают, но компьютер не может создать полностью случайное число, какие алгоритмы бы не применялись. Всегда созданное число будет от чего-нибудь зависеть и не будет полностью случайным. Компьютер — это машина и она подчиняется математическим алгоритмам и формулам, а случайность в принципе прямая противоположность каким-либо математическим правилам. Разработчики всегда идут на ухищрения, чтобы максимально правдоподобно создать иллюзию случайности, но это всё равно нельзя назвать полным рандомом.
На самом деле существует несколько ситуаций, где требуется применение элементов рандома:
1.Процедурная генерация (создание ландшафта и миров).
2.«Честная» генерация предметов (Выпадение предметов из противников, сундуков и тд.).
3.«Не честная» генерация предметов (Кейсы в играх, покупаемые за реальные деньги).
4.Ситуации, где на элементах рандома завязана вся игра. (Игральные карты, игры с шестигранным кубиком)
5.Различные ситуации, которые должны возникать в рандомное время (Например смена погоды с солнечной на дождливую).
Остановимся на каждом выделенном элементе более подробно. (если что-то забыл добавить в список, милости прошу в комментарии. Если будет действительно интересный и конструктивный коммент, я дополню блог).
Процедурная генерация
Конечно под этим словом подразумевается не только создание ландшафта и окружения, сюда входит местонахождение предметов на локации, персонажей и много чего ещё, но всё же самым популярным методом использования всё равно остаётся генерация случайных миров. Ярким примером может являться создание мира в «Minecraft», где работает именно процедурная генерация, она создаёт абсолютно всё окружение вокруг игрока (все блоки, сундуки, враги, объекты, персонажи и др.) и давайте разберём, как же он создаётся. На самом деле алгоритм не раз менялся, но на сегодняшний день он работает так:
Знаете ли вы, что мир в «Minecraft» не бесконечен? Он составляет 30 на 30 миллионов блоков. При генерации (не только в «Minecraft», во многих играх также) используется так называемый «seed» — начальное значение.
Чтобы создать уникальный мир, это начальное значение создать из случайных цифр и символов. Без него не работает практически никакой метод ГПСЧ (Генератор псевдослучайных чисел). Но так как, компьютер не может создать ничего случайного, игра берёт за случайные цифры дату и время на компьютере. Если вы попытаетесь создать два мира в игре с одной и той же датой и временем (например 20.10.2020, 18:34), то получите два абсолютно одинаковых мира. Но созданием «seed» всё не кончается, далее это начальное значение преобразуется в 32-х битное число путём нескольких формул. После получается число, которое применяется ещё к одному методу — Шуму Перлина.
Шум Перлина на самом деле к звуку никакого отношения не имеет, это по сути картинка (пример на изображении ниже) с множеством оттенков серых, белых и чёрных цветов. Если говорить совсем простым языком, чем темнее пиксель на изображении шума Перлина, тем выше (либо ниже) создаётся ландшафт.
Допустим такой пример (очень упрощённо, на деле всё сложнее, есть куча «фильтров» последующей «полировки» мира). На картинке шума есть пиксели только трёх цветов (без оттенков): белый, серый и чёрный, тогда мир «Minecraft» может сгенерироваться с ландшафтом высотой максимум в 3 блока. Белым будет блок воздуха (по сути отсутствие блока), серым толщина ландшафта в 1 блок, а чёрным толщина в 2 блока. Но такой шум Перлина принято называть двумерным.
В игре используется в основном трёхмерный шум(3D) (но и двумерный тоже работает для «полировки»), так как при использовании только двумерного (2D) невозможно было бы создать например пещеры и различные постройки. Ниже вы можете увидеть 2D шум. На первой картинке вы видите слева сам шум, а справа результат создания (неудачный я нашёл пример, справа создаётся какая-то 2D игра). На второй картинке вы сразу видите результат работы шума Перлина уже в игровом движке. На третей и четвёртой картинке показано всё более понятно.

Вот примерно так и создаются все процедурно-генерируемые миры, шум Перлина совместно с алгоритмами псевдослучаных чисел остаются пожалуй самыми популярными и простыми. Я старался описать как можно более понятно, но допускаю, что всё равно слишком сложно для восприятия. Напишите в комментариях, если не понятно, буду дорабатывать блог. Ну а мы перейдём к следующему элементу случайности. Более подробно и в разы более интересно про процедурную генерацию можно узнать из видео ниже:
«Честная» и «нечестная» генерация предметов.
Что я вообще подразумеваю под словом «честная»? Честной я называю генерацию предметов, которая не зависит от серверных данных и вероятность выпадения таких предметов генерируется движком, а не разработчиками или издателями.
Давайте приведу условный пример: у вас есть игра в которой имеется 4 вида редкости какой-либо вещи: Обычный, редкий, эпический и легендарный. Вы подходите например к сундуку, откуда эти вещи вам выпадут и честной будет та система, где алгоритм случайности не изменяется разработчиками после релиза по желанию. То есть если вам выпал например легендарный предмет, то вам «повезло», так как в алгоритме выпало нужное число, если же нет, то вероятность на выпадение этого предмета не изменится исходя из прошлого полученного предмета.
Упрощённо эта система работает так: пусть вероятность выпадения предметов такая — обычный (70%), редкий (20%), эпический (9%), легендарный (1%). Всё это суммарно даёт 100% вероятность, и тогда алгоритм будет выглядеть так условно так: если случайно введённое число находится в промежутке от 0 до 70, выпадет обычный предмет, если от 71 до 90, выпадет редкий предмет, если от 91 до 99 то выпадет эпический предмет, а если введённое число 100 выпадет легендарный. Элементом рандома здесь и является это самое ввёденное число. Где же взять это рандомное число? Способов на самом деле масса: от ранее упомянутого seeda (просто брать последние два его числа), до прослушивания атмосферного шума и шума микрофона для его последующего преобразования в цифровой вид (так работает популярный сайт: Random.org).
Однако же StopGame — это игровой портал, поэтому давайте узнаем, как генерируются такие числа в двух, самых популярных игровых движках: Unity и Unreal Engine.
-В этих движках одним из методов используется «XorShift», который берёт за seed дату и время на ПК, потом преобразует полученное число в двоичную систему счисления, потом суммирует это число несколько раз со сдвигом вправо и влево, после полученное число обрезается по длине исходного и получается псевдослучайное число. Более понятно и подробно об этом способе рассказано в видео ниже.
Давайте теперь поговорим о «нечестной» генерации предметов.
Самое широкое распространение такой способ имеет в онлайн играх по типу: «Warface», «Overwatch» и «CS:GO». В них тоже используется принцип, основанный на вероятностях, как и в «честном» способе, только в отличие от него нечестный способ изменяет свою вероятность в зависимости от ранее полученных данных. Теперь языком попроще: если вам выпала «легендарная» вещь с шансом в 1%, то следующая «легендарная» вещь уже будет иметь шанс выпадения например 0.5% или менее, а вещи «обычной» с шансом в 70% наоборот поднимут свой шанс выпадения например до 80%, так после нескольких попыток открытия условных «кейсов в CS:GO» шанс будет повышаться, пока опять не достигнет своего максимума в 1%, а вероятность на выпадение «обычной» вещи не опустится до 70%.

Ситуации, где на элементах рандома завязана вся игра:
Я говорю про те игры, где ваша победа напрямую зависит от изначально (или в процессе) полученной случайной комбинации элементов. Самый яркий пример тому в реальной жизни — это игральные карты. Человек перемешивает карты руками, после раздаёт их на всех игроков. Но как карты может перемешать компьютер? На самом деле можно воспользоваться весьма странным, но рабочим методом: отслеживания перемещений стрелки мыши. (Не знаю, используется ли конкретно в конкретно карточных играх такой способ, но во многих проектах он присутствует). Компьютер отслеживает координаты X и Y, на которых сейчас находится мышь и берёт только по последней цифре от каждой координаты. Допустим стрелка мыши находится на координатах X=54 и Y=27. Алгоритм возьмёт для создания случайного числа только 4 (из числа 54) и 7 (из числа 27), далее функций может быть много, числа можно сложить, вычесть, умножить, разделить и получить любое другое новое псевдослучайное число. Далее карты нумеруются допустим от 0 до 36, сложим ранее полученные 4 и 7, получим 11, значит игроку достанется карта под номером 11 из колоды и так, пока игроки не получат нужное количество карт. Естественно отслеживаются все перемещения мыши допустим за минуту времени, так как если каждый раз смотреть на текущую координату мыши, псевдослучайное число всегда будет одним и тем же если мышь не двигается.
Очень надеюсь, что вы поняли то, что я хотел сказать, старался обьяснять понятно, но моя манера речи и повествования конечно «оставляет желать лучшего».
Давайте перейдём к последнему элементу рандома, который я смог сформулировать.
Различные ситуации, которые должны возникать в рандомное время.
В пример можно привести дождь и грозу из того же «Minecraft». На самом деле там нет никакой случайности, периодичность дождей зависит от всё того же «злополучного» seedа, который создан при генерации мира. При определённых seedах период дождей изменяется, благодаря вычислениям по определённым формулам (которые «Mojang» не показывает). Грубо говоря в одном мире, с одним seed дожди происходят раз в игровых 5 дней, в другом же мире, с другим seed периодичность уже будет например раз в игровых 7 дней. Тут вообще нет никаких элементов рандома, всё происходит закономерно и по формулам.

Возьмём в пример странствующих торговцев в «Dying Light». Не могу точно уверять, что всё рабоатет именно так, как я говорю, поскольку доступа к исходному коду «движка» у простых пользователей нет, но всё намекает именно на такой метод.Торговцы появляются в случайное время (которое определяется через ГСПЧ) со случайным товаром в случайном месте. Но и тут к сожалению никакого по настоящему случайного элемента нет. Торговцы появляются в специально заготовленных местах, которые выбрали для них разработчики, и продают товар, который тоже не случайно генерируется (товар создают из специально заготовленных наборов предметов, который разработчики тоже успели ранее сделать). Также и цены на товар могут меняться в большую или меньшую сторону всего одной формулой (убавления процентов к изначальной цене товара), тем самым привлекая игрока «временной скидкой и ограниченным предложением», но всё это лишь иллюзия обмана.
Как победить бездушный рандом в roguelike-играх
Умирая в игре 30-й раз, невольно задумываешься: все ли продумал геймдизайнер и не напортачил ли он с балансом? Не всегда можно подстроиться под неожиданные изменения, особенно когда они созданы процедурной генерацией.
Дальше материал, в котором разбирается роль случайностей в roguelike-играх и жанр в целом — чем чреваты непродуманные системы рандома и что, по мнению автора, не так с «рогаликами».
Обычно я не играю в roguelike или rogue-lite. Но некоторые выглядят действительно стоящими — кажется, что разработчики смогли обойти все недостатки жанра. И каждый раз я жалею, что запустил игру.
Что такое roguelike?
Rogue
Rogue — компьютерная игра 1980 года. Этот фэнтезийный тайтл во многом известен благодаря использованию кодировки ASCII для воспроизведения графики и рандомной генерации карты. Игра оказалась очень успешной и породила множество roguelike-подражателей, например: Angband и Nethack.
В ранних версиях Rogue нельзя было сохраняться. Сохранения добавили позже, так как игра становилась все длиннее и сложнее. Они позволили проходить игру за несколько подходов, перезапускать ее с момента последнего сохранения после смерти или если рандом делал что-то, что не хотелось бы.
Пользователи начали этим злоупотреблять, поэтому разработчики создали систему, в которой сейвы удалялись после перезагрузки. То есть можно было сохраниться при выходе из игры, но после начала новой сессии сохраненные данные стирались — без возможности перезагрузиться в случае смерти или нежелательного развития событий.
Смерть стала перманентным исходом и получила название «пермадес» (от англ. permadeath — перманентная смерть). Режим «одной смерти» стал ключевой механикой roguelike-игр. В 1993 году Chunsoft выпустила Fushigi No Dungeon для приставки Super Famicom, а в 1995 году вышел еще более популярный сиквел — Shiren the Wanderer.
Эти игры не только отдавали дань предшественникам жанра roguelike, но и применяли интересные решения: что развивать, а что оставить в прошлом. В них появились красивая 16-битная графика и анимированные персонажи. При этом сохранились случайная генерация уровней, пошаговые системы перемещения и атаки, механика голода, рандомные значения атаки и «пермадес», характерные для «рогаликов» 80-х годов.
Благодаря графике, звуку и необычным запутанным картам, Shiren стал культовым тайтлом в Японии и среди американских фанатов японских игр. А в 2008 году его выпустили в США под Nintendo DS.
Возрождение жанра roguelike
Сейчас на рынке сотни «рогаликов», большинство из которых — инди-тайтлы, громко кричащие о том, что они именно roguelike. В канонических проектах присутствуют все отличительные черты жанра: рандомные уровни, рандомные значения атаки, пошаговое перемещение, голод и, конечно, «пермадес». Некоторые тайтлы относят к жанру rogue-lite, потому что они заимствуют не все элементы, характерные для настоящих «рогаликов». Обычно это — рандомные уровни и «пермадес», но иногда и некоторые другие.
Откуда такая популярность? Есть две основные причины:
Так в чем проблема?
На современных домашних компьютерах установлены жесткие диски, которые позволяют не только обходить ROM-ограничения аркадных и консольных игр, но и сохранять данные. Разработчики могут создавать более длинные и глубокие тайтлы, а пользователи — сохранять свой прогресс, проходить игры за несколько подходов и не возвращаться в самое начало в случае смерти персонажа. Возможность, возрождаться отлично работает в играх с заданным контентом и тайтлах, которые нужно проходить методом проб и ошибок. Но в играх с рандомными элементами такой подход вписывается не столь гладко, особенно когда случайные элементы генерируются на ходу и игроки могут перезагружаться бесконечное количество раз, пока не получат нужный результат.
Когда в Rogue появилась возможность сохраняться, разработчики быстро дополнили ее перманентной смертью, чтобы игроки не пытались перехитрить систему, получая несправедливое преимущество. Но «пермадес» также означает практически полное обесценивание полученных знаний, так как игрок начинает все с нуля и уровни генерируются заново. Это не так плохо и может быть даже весело, если реализовать все грамотно, но во многих случаях комбинация перманентной смерти с бесконечной рандомностью «рогаликов» несправедливо ставит игрока в невыгодное положение.
Немного о лабиринтах
Это лабиринт. Потратьте пару секунд и пройдите его.
Получилось? Сколько времени вы потратили на то, чтобы понять, что его невозможно пройти?
Вот еще три лабиринта. В третьем вам нужно взять ключ и открыть дверь, чтобы выбраться.
Тут сразу видно, что первый лабиринт можно пройти, а второй нет. Но придется немного подумать, чтобы понять, что третий нельзя пройти, если начинать сверху, и можно, если начинать снизу.
Вот еще один лабиринт. Здесь нужно съедать яблоко через каждые пять клеток, иначе вы умрете от голода. Его можно пройти?
Чем больше лабиринт и чем сложнее правила, тем дольше вы будете его проходить или оценивать, возможно ли это. Даже если вы изучите сотню примеров и будете с первого взгляда определять проходимость лабиринта, то нужно лишь ограничить поле зрения, чтобы помучать вас.
Теперь придется исследовать как минимум часть лабиринта.
Теперь придется исследовать еще больше. Получится пройти его? Может, вы просто не нашли путь с оптимальным количеством яблок?
Именно поэтому я и ненавижу roguelike-игры: в большинстве случаев в них нельзя выиграть, так как рандомные элементы складываются в один из миллионов различных вариантов, и победить невозможно. Все равно что книга с сотней лабиринтов, 99 из которых — тупиковые, при этом они большие и сложные, и нужно потратить несколько часов, чтобы понять, что пройти их нельзя. А затем нужно начать все заново в следующем лабиринте, не получив ничего за время проведенное в предыдущих.
Слишком много направлений
Конечно, вы скажете, что это ерунда! Девелоперы — не садисты, чтобы делать тайтлы, в которых нельзя победить, да еще и разрабатывать кучу систем, скрывающих, что выиграть не получится.
И вы правы. Разработчики вряд ли намеренно создают непроходимые игры. Но очень многие из них используют процедурную генерацию уровней. Не все понимают, что нужно постоянно анализировать и уравновешивать случайности, чтобы в игре можно было победить.
Разработчики приложили кучу усилий, чтобы создать эту игру, продумать все системы и элементы случайности, но не осознали, что парочка «неудачных выходок» рандомайзера сломает все. Пожалуй, мне даже повезло: я ее довольно быстро забросил, а мог ведь потратить часы на тщательное планирование, только чтобы проиграть по воле случая и потерять весь прогресс.
Я ненавижу «рогалики» за то, что в них неважно, что вы делаете, насколько хорошо все продумываете или понимаете игру. Вы можете случайно проиграть, и придется начинать заново без какой-либо компенсации за приложенные усилия.
Конечно, верно и обратное. Когда Shiren the Wanderer стала популярной, я тоже немного поиграл в нее. Устав проигрывать рандому, я использовал эмулятор сохранений для сейвскамминга и обошел рандом. Испытывая голод, я сохранялся, открывал сундук, и если в нем не оказывалось еды, перезагружался, пока не находил ее. Когда не получалось нанести урон, я перезагружался, пока все не складывалось, как нужно. Я делал так до самого конца игры, чем были очень недовольны мои друзья. Они тратили часы, полагаясь на удачу, и проигрывали, думая, что повышают свой скилл в игре. Мой способ «полагаться на удачу» имел такое же право на жизнь, как их, только результат всегда был в мою пользу.
В «рогаликах» не просто один-два рандомных элемента: сама суть жанра предполагает десяток таких параметров. Сбалансировать все случайности непросто. При этом некоторые разработчики не понимают, что вообще нужно что-то уравновешивать. Из-за всех этих слоев неопределенности сложно заметить, когда что-нибудь пошло не так. Непонятно, правильно ли работает система рандома. Особенно, если их несколько.
Некоторым нравится случайность — ведь слот-машины продолжают существовать. Мне кажется, что фанаты «рогаликов» считают, что в этих играх важен скилл, а не удача. Безграмотность в вопросах геймдизайна и запутанность этих тайтлов, заставляют игроков думать, что поражения — результат неверных действий, а победы — верных, и дело тут не в слепой случайности. Люди привыкли к играм, которые можно пройти, и не задумываются, что «рогалики» устроены иначе.
Пройти непроходимое
Эти бонусы не убирают недостатки перманентной смерти, а скорее воспринимаются, как признание того, что она — плохое решение, и извинение за использование этой механики.
Противоположность этому — быстрое сохранение (квиксейв), то есть возможность моментально сохраняться в любой момент и перезапускаться, если дела пошли плохо. Эта система применяется в компьютерных играх с 90-х годов, а в консольных — с появления Xbox 360 и PS3. Встроенные жесткие диски позволили сохраняться быстро и без проблем.
Промежуточный вариант — хотя к быстрым сохранениям он ближе — это точки сохранений. Вы можете засейвиться только на специальных чекпоинтах. Иногда это нужно делать вручную, иногда все происходит автоматически. В случае смерти загружается весь прогресс, который был у вас на момент прохождения чекпоинта. Все еще есть риск потерять прогресс с последней точки сохранения, при этом уже нет риска потерять вообще весь прогресс и начинать все заново. Разработчик поддерживает баланс в игре, регулируя количество чекпоинтов. Игры, в которых точки сохранения расположены далеко друг от друга, поддерживают более высокий уровень риска, чем игры, где они встречаются на каждом шагу.
Точки сохранения бываю двух видов. Первые — ручные, когда нужно принимать осознанное решение, чтобы сохраниться. Обычно в этих местах есть специальный ориентир. Вторые — автоматические, в которых игра сохраняется самостоятельно после выполнения определенных условий. Обычно это связано с каким-то событием сюжета или квеста. Автоматические точки сохранения часто идут в паре с быстрыми сохранениями, чтобы игрок не сомневался, что он может выйти из игры и вернуться в любой момент, не теряя прогресс.
В Chulip — дерзкой игре для PS2 — можно сохраняться вручную с помощью туалета
Salt & Sanctuary вежливо напоминает, что не стоит выключать компьютер, пока идет автосохранение
Несмотря на запутанность, эту систему хорошо приняли. Вместо перманентной смерти с потерей всего пользователям предложили чекпоинты с сохранением прогресса, добавили новые риски в игру и шанс вернуть потерянные ресурсы.
Усмирите свой рандом
Все roguelike-игры созданы исключительно во французском регионе Пермадес. Иначе это просто «процедурное подземелье»
Дальше все становится намного сложнее и требует значительных усилий без видимого вознаграждения. Есть три варианта:
Вариант 1: самоанализ рандома
Сложно найти подходящие примеры, так как такие процессы происходят за кулисами. Такой подход точно использовался в roguelike и играх других жанров с элементами рандома. Например, мы внедрили сложную систему анализа, чтобы полуслучайное распределение планет было «честным» в Paper Galaxy. Но без просмотра кода игры сложно определить наверняка, использовалась ли подобная схема.
Гипотетическим примером могло бы послужить улучшение игры, в которой я не нашел еду и умер от голода. Система с самоанализом смогла бы обеспечить наличие еды в первых X локациях, а затем еда появлялась бы в каждой Y±Z локации. Тогда игрок не умер бы с голода по воле случая. Далее логичным дизайнерским решением было бы создать ситуации, в которых игрок знает, что скоро найдет источник пищи, но он не знает, когда именно это произойдет. Придется выбирать: играть безопасно и запасать еду или рисковать и взять с собой меньше еды, зато больше вещей, которые позволяют крафтить редкие припасы.
Вариант 2: всегда положительный исход
Примерами могут послужить процедурные подземелья Let It Die и Sundered. В Let It Die подземелье разделено на зоны. В каждой из них есть несколько помещений с несколькими выходами. Их расположение случайно, и выходы рандомным образом ведут в другие помещения, формируя определенную область.
Вот одна из возможных конфигураций помещений в зоне Tagahara в Let It Die. Круглая область ближе к середине — это широкая вертикальная шахта с одним входом внизу и двумя наверху. Такой элемент карты создает различные навигационные челленджи (а также ситуации, в которых нужно отбиваться от врагов), в зависимости от того, каким входом вы воспользуетесь.
На карте Sundered есть как статичные области, которые всегда одинаковы, так и большие динамические области, в которых есть небольшие помещения со случайной конфигурацией.
На этой карте из Sundered области с темными виньетками — статичные, они всегда одинаковые. Светло-серые, наоборот — сгенерированные случайным образом. Эти помещения заполняют всё пространство, все двери в них можно открыть. Но чтобы найти оптимальный путь, придется исследовать карту.
Независимо от расположения помещений — проход есть всегда. Разные конфигурации необходимо проходить по-своему, но «нечестных» карт в этих тайтлах нет.
Другой плюс в том, что процедурная генерация применяется в отдельных областях, а остальные области остаются статичным. Игрокам дают ориентиры вместо того, чтобы бросать их в постоянно меняющейся океан рандома без четких указателей.
Вариант 3: уменьшить влияние рандома
Примером может стать наклейка Oriental Medicine в Let It Die. Находится случайно и позволяет восстанавливать здоровье персонажа. Без нее нужно постоянно следить за уровнем здоровья и иметь в запасе еду на случай восстановления. С этой наклейкой можно не думать про отхил — вы неуязвимы первую треть игры, пока не доберетесь до врагов, которые наносят урон быстрее, чем вы восстанавливаете здоровье.
Выводы для разработчиков
Если вы создаете видеоигру, неважно «рогалик» или нет, настольную игру, настольную ролевую игру или что-либо еще, пробуйте играть с настройками.
Настройте все так, чтобы игроку тотально не везло с рандомом. Возможно, игру теперь невозможно пройти, независимо от мастерства пользователя. Если есть играбельный билд, попробуйте сгенерировать каждый рандомный элемент в худшем из возможных вариантов. Если ваша игра пока существует только на бумаге, проведите подобную симуляцию в уме.
Затем проделайте обратное: выкрутите все настройки на самое удачное стечение обстоятельств, и посмотрите, возможно ли поражение в игре. Как вариант, можно представить последствия положительного события или цепочки событий, которые нивелируют все риски. Игра превратится в простейшую пустышку, в которой пользователь пропускает огромные куски сюжета и механики, потому что их можно обойти, если вам достаточно повезет.
Заметьте, я говорю именно про рандомные элементы, а не уровень и прогресс игрока. Игрок миллиардного уровня, который легко проходит все препятствия, разительно отличается от игрока, который случайно получил кольцо невидимости и тоже легко проходит все препятствия. Первый приложил много усилий, а второму просто повезло.
Выводы для игроков
Надеюсь, эта сумасшедшая тирада помогла немного разобраться с элементом случайности в играх, и вы станете более критично и осознанно смотреть на то, что зависит от ваших действий, а что — только от воли случая.
Конечно, определенная доля случайности может быть интересной, и у всех свой порог чувствительности к ней. Но по-моему, чем лучше человек понимает, что зависит от его выбора и умений, а что от удачи, тем больше удовольствия он получает от видеоигр.













