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

«Гопник» и «Гопник-2»

На «PyCamp Kyiv», на тех немногочисленных докладах, которые мне были не интересны, играл в текстовые игры «Гопник» и «Гопник-2». Наверное многим они известны. Если нет,то поиграйте, забавно. Так как в интернетах я с огромным трудом нашёл вторую часть, то попробую наводнить эту заметку ключевыми словами.

Действие первого «Гопника» (автор — V.P, июнь 2003-го, язык — Turbo Pascal) происходит в Новосибирске, сюжет — вы вылетаете из университета и попадаете на улицу, у есть вас выбор какую «специальность» освоить — пацан, отморозок, гопник или вор. У каждой «профессии» свои плюсы (хотя, кажется, проходить проще всего вором): у «пацана» есть девушка и его сразу пускают в клуб, на «отморозке» всё заживает, как на собаке, «гопник» свой в притоне, а «вор» на короткой ноге с барыгами и, как следует из названия, хорошо умеет воровать.

Вам придётся (в текстовом режиме) шататься по окрестностям, воровать, покупать и продавать, ходит в качалку и клуб и так далее, а в конце — разобраться с ректором.

Доступны несколько «локаций» (некоторые открываются не сразу, а после каких-то действий): «базар» (тут можно купить шмотки и еду, а так же воровать кошельки), «больница» (тут поправляют здоровье и лечат переломы), «подруга» (поправляет здоровье), «притон» (тут тусуются пацаны, которые смогут за тебя врубится, если что), «клуб» (можно играть на деньги), «качалка» (улучшение бойцовских навыков) и «барыги» (это «чёрный рынок», им можно продать свой хлам или купить полезного).

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

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

Гопник (30.01КиБ)

Сюжет второй части «Гопника», «Гопник-2 „Покорение культурной столицы“» (автор другой — d-maxx, из Сургута, ≈2005-й год, использован Turbo C++ 3.00): вы из Новосибирска отправляетесь в Санкт-Петербург поступать в университет, вам это с трудом удаётся, но через какое-то время вас выгоняют из общаги на улицу за постоянные пьянки и нарушение общественного порядки.

На улице надо выбирать, кем вы будете: «потсан» (есть девушка), «отморозок» (пускают качалку на Петроградской), «гопник» (разводит лохов на деньги) и «нефор» (бесплатно проходит в клуб на Сенной).

Игра несколько отличается от первой части, но самые большие отличия — есть метро, на котором можно ездить в другие районы города, а так же возможность сохраняться и загружаться. Кстати, сохраняться можно только 60 раз, небольшой намёк — счётчик расположен в 68-м (считая с нуля) байте файла сохранённой игры.

Впрочем, вот вам небольшая строка, которая работает в Windows NT/2000/XP/Vista, которая установит счётчик в значение 255:

CMD /C "(ECHO e144 ff && ECHO w && ECHO q) | DEBUG GOP2_1.SAV > nul"

Для Windows 7, из которой, оказывается, удалили утилиту DEBUG, я команды написал на PowerShell (в каталоге, где расположен файл сохранения нужно запустить powershell и выполнить следующие команды):

$var=Get-Content -Encoding Byte gop2_1.sav
[byte[]]($var[0..67] + 255 + $var[69..134]) | Set-Content gop2_1.sav -Encoding Byte

Как всегда, в случае с PowerShell, расскажу что здесь происходит в этой небольшой програмке.

Файл читается в переменную $var, читается побайтово как массив чисел. Далее я формирую массив из элеметов с нуля до 67, значения 255 и элементов с 69 до 134-го.

Получившийся массив разношерстных элементов (добавленное мною число «255» имеет тип Int32, остальные — byte) преобразуется к типу «массив байт» и записывается в тот же файл. Set-Content преобразует эти данные в бинарный вид, он знает как их трактовать, так как я явно задал это в параметре.

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

31 комментарий
blog.ad.by 2010

«DEBUG» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

А откуда ему взяться на современной системе?

/7 64-bit/

Евгений Степанищев (bolknote.ru) 2010

Комментарий для blog.ad.by:

Надо же, убили старинную утилиту: http://tech.slashdot.org/article.pl?sid=09/05/08/169226%26from=rss

Можно на powershell изготовить, но я уже спать :)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для blog.ad.by:

Так как я всё равно не сплю, решил-таки написать для Windows 7 пачт на PowerShell.

aire.livejournal.com 2010

В Новосибирске тоже есть метро, но гопников по сюжету туда не пускают :)

u1itka.livejournal.com 2010

Комментарий для Евгения Степанищева:

Почему так много ошибок в тексте? Обычно такого нет.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для u1itka.livejournal.com:

Игра обязывает.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для u1itka.livejournal.com:

Постарался поправить где увидел. Я редактировал заметку поздно, внёс ошибки, видимо.

viperet.livejournal.com 2010

Да, просто играться программистам не интересно, нам надо обязательно патчить игру =)

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

А по поводу текстовых игр — думаю и сейчас в интернете можно найти серверы MUD, поиграть на которых можно просто подключившись к нему telnet.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для viperet.livejournal.com:

Да, я писал крупную патчилку для «Warhammer: Dark Omen», она у меня даже некоторые новые заклинания добавляла :)

hshhhhh.name 2010

Комментарий для Евгения Степанищева:

Первого гопника получилось пройти только вором. Из-за неограниченного запаса денег на рынке прокачал ловкость. делаю по 15 ударов за раз. Ректора завалил со второго подхода.
Можно было бы легко и сильнее прокачать ловкость, но смысла в этом уже совсем никакого нет.

Ты Вор 40 уровня — Самый Крутой Реальный Пацан
А зовут тебя: d
Сл:209 Лв:261 Жв:137 Уд:105
Феньки: Крестик(Удача +2) Кольцо «Гс»(Удача +1)
Мощные феньки: Кольцо «Пг»(Всё +1) Мега Кольцо(Всё +4) Кольцо «Гп»(Самолечение)

У тебя есть мобильник
У тебя есть тёмные очки
На тебе зоновская наколка

У тебя есть пистолет с гушителем! патронов — 22

Урон 115-220 Понтовые бутсы(Урон+2) Кастет Дубинка Тесак(Урон+9)
Здоровье 904/904 Зубная защита
Точность 90% — 14 ударов, Точность 15 удара 65%
Броня 15 Костюм Adidas(+2) Крутая кожанка(+4)
Косяки 11
Пиво 171.5л.
Бабки 613
Хлам 605
Битва\

Евгений Степанищев (bolknote.ru) 2010

Комментарий для hshhhhh.name:

Вором пройти первого «Гопника» проще всего, да. Мы, пока в поезде в Киев ехали в прошлый раз, с другом прошли его и другими «профессиями».

uppas.livejournal.com 2010

под Win Seven 64 не запускается чтото, даже в режиме совместимости с вин98

Евгений Степанищев (bolknote.ru) 2010

Комментарий для uppas.livejournal.com:

Не пробовал. Если есть эмулятор Windows XP (он есть в «профессиональной», «корпоративной» или «максимальной»), то можно через него попробовать.

uppas.livejournal.com 2010

запустилось в досбоксе)

uppas.livejournal.com 2010

а во вторую версию игры вообще реально играть? ) я гопником когда набираю 10лвл — меня обратно бросает в купчино, но с закрытым ветеринаром, притоном и черным рынком. а любая попытка срубить бабла или пргуляться привоит к тому что на меня нападают люди 15-19 уровня и, естественно, убивают с двух трех ударов.

Евгений Степанищев (bolknote.ru) 2010

Комментарий для uppas.livejournal.com:

Реально, вполне. Может какие-то глюки в DOSBox? Мы играли с другом под Windows XP, ночью в поезде Киев-Москва, всё ок. Сложно, но проходится.

uppas.livejournal.com 2010

Комментарий для hshhhhh.name:

а после достижения 10-го лвл-ла (именно во второй части игры, не в первой) — не становится архисложно?

Евгений Степанищев (bolknote.ru) 2010

Комментарий для uppas.livejournal.com:

Я не помню, это когда было ж :)

hshhhhh.name 2010

Комментарий для uppas.livejournal.com:

меня постоянно убивали и я не прошел.
я не люблю игры в которых нет рейлгана :)

Евгений Степанищев (bolknote.ru) 2010

Комментарий для hshhhhh.name:

Это шанс написать «Гопник-3» с рейлганом :)

Петр 2011

Доброго дня. Раскопал Гопника-2 и не могу вспомнить, как после 10 лвл, когда в Купчино закрывается врач, лечить сломанную челюсть, а без этого дальше не выходит поднимать здоровье, пить пиво то нельзя. Как быть?

Петр 2011

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

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Петр:

Я уж и не помню, больше года прошло :)

Евгений Степанищев (bolknote.ru) 2011

На всякий случай, если ссылки в статьях умрут когда-нибудь: http://gopnikgame.chat.ru/gopniks.zip

cthulchu 2013

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

Евгений Степанищев (bolknote.ru) 2013

Комментарий для cthulchu:

Ну, значит не судьба им :)

ops 2013

Не могли бы вы объяснить как проделать вот это — «в каталоге, где расположен файл сохранения нужно запустить powershell »
Спасибо.
Играл очень давно в первую часть, случайно наткнулся и на вторую)

Евгений Степанищев (bolknote.ru) 2013

Комментарий для ops:

Тут объяснять особо нечего: http://ru.wikipedia.org/wiki/Powershell

Александр 2013

Действия первой игры «Гопник» разворачиваются в жилмассивах Советского района г Н-ска — Верхушка, Микрорайон Щ, Шлюз, ОбьГэс... — тихие спальные массивы АкадЭмгородка в которых иногда встречаются заезжие гастролёры из БЭрдска и Искитима))... Классная игруха, навевает воспоминания о конце 90-х

bbadim 2015

Запоздал шедевр лет на двадцать) Кстати недавно на Андроид видел её портировали, 2015 год мать его)
ссылку не кидаю, гуглится в маркете легко по запросу «игра гопник»

Евгений Степанищев (bolknote.ru) 2016