Hacking mini-game из System Shock 2 за пару часов на Godot

Yes, but why?

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

Но, я щитаю, пока я не сделаю клон хакинг гейма из сс2 — все *censored*

S.H.O.D.AN. такого не говорила, и считает, что хакинг — для насекомых

И, разумеется, ничего не сделал ибо дела/семья/аниме/скидочки в Steam. Challenge accepted. 1 вечер = 1 hacking мини-игра из System Shock 2. Кстати, в самой игре было еще много мини-игр (делать я их разумеется не буду):

Look at you, hacker.

Неповторимый оригинал vs жалкая пародия
Неповторимый оригинал vs жалкая пародия

Так, как все было сделано «лишь бы успеть за вечер», ни о каких структурных и алгоритмических изысканиях и речи быть не может, поэтому игровое поле — это старый добрый 2х-мерный массив. Причем даже «трубы» являются элементами массива. Зато удобно рисовать по сетке, правда пришлось «выключать» некоторые ноды, чтобы было хоть немного похоже на оригинал:

func disable_unnecessary(): GRID[0][0].disable() GRID[0][1].disable() GRID[2][1].disable() GRID[1][0].disable() ... > GOD HAS LEFT THE CHAT(C)

«Шедевральная» генерация node, пустых fail блоков и ice ловушек:

var type = rng.randi_range(1, 3) if type == 1 and current_fail < MAX_FAIL: current_fail +=1 elif type == 3 and current_ice < MAX_ICE: current_ice +=1 else: type = 2 > Opening this was mistake(C)

Я уж молчу, про кусок, который проверяет, что 3 ноды соединены для определения победы (link_with_around_nodes). Чистое колдунство с хранением количества соседних «успешных»открытых нод (и куча IF’ов по скидочке).

Ну как с кибермодулями вопрос обстоит?

Получилось? Да. Понравилось — да, но думаю, S.H.O.D.A.N., таких кодеров как я, оставляет умирать от радиации, на уровне с реактором.

Настоящий киберпанк - high tech, no lif...assets

Вместо заключения:

Исходники для ознакомления (не забудьте святую воду для глаз, я предупреждал):

Неплохой гайд, который содержал механику хакинга, так что мне не пришлось физически ставить игру:

Для тех, кого я затриггерил на перепрохождение, я просто оставлю это здесь:

1919
22 комментария

Сижу и думаю то ли я тупой то ли тут что то не так.

4

то ли тут что то не так.тут что точто то

5

Орфография и пунктуация автора сохранена ЖИ

3

О я вспонил Uplink игра называется! Прямо навеяло

1

https://www.moddb.com/mods/uplink-os - на случай тактического перепрохождения

2

Пройдя сс2 пару лет назад, ахуел осознав, что чертяка левин провернул концовку инфинита еще за 14 лет до инфинита

1