как сделать игру в блокноте виндовс
Как я сделал игру для Блокнота
Пока читал про необычные решения от инди-разработчиков, наткнулся на золото. Вот вам статья про игру в текстовом редакторе. Арт, анимация, сюжет — все как положено.
Я создал игру And yet it hurt (возможно, автор хотел сказать it hurts, но мог использовать такой вариант намеренно, — прим.).
Все началось в 2017 году с вопроса: «Реально ли сделать игру в Блокноте?» Тогда я только усмехнулся. Прошло три года. Обдумав, как все будет работать, и убедившись, что это реально, я решил сделать эту игру.
Обычно вы жмете на кнопку, и в игре что-то происходит. Жмете А, и Марио прыгает. Все завязано на получении информации и отклике. Игра получает входные данные и выводит свои.
В игре для Блокнота на входе будут изменения, которые вносит пользователь в файл, а на выходе изменения, которые вносит в файл сама игра. Для этого приложение отслеживает время последнего сохранения файла. Если оно изменилось, игра считывает содержимое файла и вносит в него новые данные.
Возникает проблема: Блокнот от Microsoft не проверяет, был ли файл изменен. Пришлось бы сохранять файл, закрывать и открывать его заново. Создать такую игру возможно, но звучит не очень весело. Пришлось искать альтернативу.
Могу понять ваше разочарование из-за того, что игра в итоге сделана не в самом обычном Блокноте. Мой тайтл можно запустить в нем — просто процесс немного замороченный. Я решил пожертвовать крутостью проекта, чтобы сделать игру более приятной.
Альтернатива
Пришлось искать другой текстовый редактор. Единственным требованием было — автоматическое обновление файла. Хотя чуть позже вы увидите, что я использовал еще одну фичу.
Сначала на ум пришли Notepad++ и Sublime Text. Но они совсем не похожи на Блокнот внешне, очарование проекта развеялось бы окончательно. Плюс, они спрашивают игрока, хотел бы он обновить файл. Это куда лучше, чем закрывать и открывать файл, но все равно отвлекает от геймплея. Я хотел, чтобы файл обновлялся автоматически. Тогда мне на глаза попался Notepad2. Он был почти идеален.
Редактор можно настроить, чтобы он был похож на MS Блокнот, а главное — он проверяет изменения, внесенные в файл. Но также как Notepad++ и Sublime Text, Notepad2 спрашивает игрока, нужно ли изменить файл. К счастью, у редактора открытый код, и я мог отполировать его до совершенства.
Notepad2 написан на C. Я немного знаком с этим языком, пусть меня и нельзя назвать экспертом. Опытный программист Javascript сможет прочитать и уловить общую суть кода, но понять исходный код Notepad2, чтобы внести необходимые изменения, оказалось не так просто.
Для начала я решил поискать текст из диалогового окна: «Файл был изменен внешней программой. Перезагрузить файл?». Это значение переменной, которая используется в качестве аргумента в функции диалогового окна. И я ее нашел.
Этот код проверяет, не изменилось ли содержимое файла. Если оно изменилось, открывается окно, и программа проверяет, выбрал ли пользователь ответ «Да». Мне нужно было лишь заменить кусок
на TRUE, и программа начала автоматически обновлять файл. Таким образом, я создал рендер на базе ASCII. Осталось создать подходящий движок.
Отрисовка
Игра создана с любовью: LÖVE — фреймворк с открытым исходным кодом для 2D-игр, написанных на Lua. Я много лет пользовался этой платформой и даже собрал туториал. Для этого проекта в основном использовался LÖVE-модуль файловой системы, потому что он предоставляет все необходимые возможности. Обычно с помощью LÖVE создают изображение, которое затем выводится на экран.
Мне нужно было почти то же самое: вывод ASCII-арта в текстовом файле. Я начал с домика и птички, причем птичка должна была лететь через файл. Взял арт, который нашел на ASCII Art, но в игре используются только оригинальные работы (за исключением шрифтов).
Загрузка арта — это просто чтение файла.
Дом используется в качестве фона, поэтому я начал с прорисовки этого изображения на «экране». Экран в данном случае — это home.txt.
Я хотел, чтобы с птичкой можно было работать в таком ключе:
х — номер столбца, y — номер строки. Поэтому разбил экран и птицу на списки строк.
С птицей сделал то же самое. Теперь код, описывающий птицу, должен был перекрывать код про дом. Вот, что мне было нужно:
Наверное, вы заметили, что птица представляет собой прямоугольник — в ее арте используются пробелы. Чтобы исправить ситуацию, я посчитал количество пробелов в начале каждой строки и добавил это число к координатам, чтобы отрисовывался только арт.
Стало намного лучше:
Анимация
Я начал добавлять больше фишек, например, анимацию:
Все кадры расположены в одном файле и разделены тегом <
Также я реализовал вывод печатаемого текста и отобразил отдельно экран, инвентарь и окно для ввода решения. Оставалась одна проблема. Как игра узнает, что был открыт файл? Это и есть вторая фича, о которой я говорил ранее.
В исходном коде Notepad2 я прописал, что файл должен сохраняться сразу после открытия. Затем игра проверяет, не изменилось ли время последнего сохранения. Так она узнает, что файл был открыт, и может его менять.
В итоге я получил фреймворк, в котором можно работать. Самое время создавать игру.
За девять дней разработки (судя по дате создания gif-файлов) я сделал это:
Если вы запускали игру, то знаете, что в ней нет печатаемого текста и анимации. На то было несколько причин:
Программа по умолчанию
Может, возвращать исходные настройки при закрытии игры? Это возможно, но возникнет проблема, если игра вылетит или неожиданно закроется.
Программу по умолчанию можно назначить только от имени администратора. Если вы открываете игру под другой учетной записью, будут использоваться txt-файлы. Если вы открываете файл в обычном Блокноте, игра сообщит, что нужно перетащить файл в открытое окно Блокнота. Либо запустить ее от имени администратора, чтобы она открылась по дабл-клику.
Мотивация
На самом деле всё было сделано три года назад. Что я делал все остальное время? Классический пример отсутствия мотивации.
Но я все время держал его в голове. Я отладил целый фреймворк, который позволял создать игру в Блокноте, а проект не двигался с мертвой точки. Нужно было доделать его. В 2019 году я не завершил почти ни одного проекта. Разочарование подтолкнуло меня к решению: закончить незаконченное в 2020-м.
И вот она. Я сократил сюжет, дал себе месяц на все (получилось на неделю дольше) и бросился в бой. Еще подал заявку на A MAZE. Awards, соответственно, дедлайн был назначен на 2 февраля. Так появилась мотивация.
Заключение
Я рад, что доделал игру. Удивительно, сколько времени проект просто собирал цифровую пыль, а в итоге хватило месяца. Игру не стоило делать настолько объемной, как я хотел сначала — такой нестандартный проект должен лишь показывать особенности, которые можно в нем реализовать.
Что дальше? Игра в Paint? Игра в Калькуляторе? Вряд ли я их сделаю. Но мне нравится думать об играх, которые используют нетрадиционные платформы.
Как создать игру на компьютере самому с нуля: делаем мини игру про птичек + исходники кода с игрой
Приветствую тебя мой читатель. Хотел научиться делать игру? Тогда тебе сюда!. Играя в rpg или стрелялку вы могли задумываться, а как создать свою собственную игру? Какие знания требуются, и сколько займёт время? В этой статье я расскажу, как создать игру на компьютере самому с нуля и вы получите для скачивание ГОТОВЫЕ исходники кода для запуска игры на своем ПК.
Много лет назад, когда компьютеры были слабыми и не было нормального ПО, над одним проектом работали целые команды, теперь всё это ушло в прошлое. Чтобы создать свою игру нужны идея, желание и усидчивость. Не просто что-то сделать в одиночку и добиться монетизации, на это потребуется время.
Для начала определимся, кто такие разработчики, которые сами всё делают, графику, пишут код и продвигают готовый релиз. Их называют инди, у них появилась уникальная идея и они решили попробовать, её реализовать. Перед самым началом у пользователя возникает, два вопроса с чего начать и где найти подходящие уроки с примерами. В этой статье вы получите ответ на оба вопроса, а в конце описание и простенький пример игры.
Как создать игру на ПК: с чего же начать?
В первую очередь определитесь, под какую платформу будет ваш продукт: на ПК, для мобильных устройств, браузерная.
У каждого варианта свои преимущество и недостатки.
Минус – вам придётся потратить время на продвижение, раскрутку сайта или же найти сторонний ресурс и там опубликовать игру.
Сколько я смогу заработать?
Всё зависит от вашей фантазии и свободного времени. Точную цифру вам никто не назовёт, но мне приходилось встречать разработчиков, которые за небольшой промежуток времени, чуть больше месяца, удавалось собрать примерно десять тысяч долларов, игра была на андроид. Это довольно мотивирует, чтобы начать интересоваться вопросом, как создать свою игру на компьютере?
Площадки для размещения проектов.
Далее речь пойдёт о ресурсах, где можно добавить завершённую игру.
Подготовка маркетингового материала занимает время и требуется придерживаться следующих ограничений.
Созданное приложение после уроков как делать игры на пк, это часть успеха, для получения большого количества установок, необходимо написать интересное описание, вот рекомендации как это сделать.
Понятно из статьи выше, создавая свою игру, требуется изначально вложиться. Если вы знаете, как делать игры на ПК и уверены в успехе своего проекта, то можно попробовать. В остальных случаях используйте технологии разработки браузерных игр, например html5.
Что из себя представляет данная технология?
Существует официальное определение, что HTML 5 – это последняя версия языка разметки для web страниц, которая официально используется во всем мире. Теперь она стала ещё более усовершенствованной, появились новые теги и функции JavaScript, позволяющие добавлять картинки. Изображения – основная составляющая при геймдизайне.
Фоновые локации, персонажи, окружающий мир, всё это загружается специальной функцией. Герои, вооруженные мечами, атакуют врагов и взаимодействуют с окружающим миром, за счёт столкновения картинок по оси координат X и Y. Как это сделать будет описано ниже.
Как создать игру на компьютере самому с нуля: пошаговая инструкция на примере html5?
Забудете указать canvas с id, контекст вернет null. Когда всё сделано правильно, можно нарисовать первую фигуру и оставить надпись сверху.
beginPath и closePath – начинает и завершает контур зарисовки.
Полностью код, можно увидеть ниже.
Если всё сделано правильно, то при запуске в браузере, отобразиться два эллипса. Во время битвы, атака происходит непосредственно вблизи, на расстояния вытянутой руки или мечами. При условии, что это не лучник, а предположим, преследователь обычный бандит и вооружён кинжалом, а значит атака в ближнем бою. Высчитывается радиус в 2d играх, с помощью математики. Метод sqrt производит необходимые расчёты.
Запишем в код перед draw, два метода diff и dist и вызови dist в конце функции
Dist принимает четыре параметра, первые два X и Y героя, последние два – координаты противника. Чтобы увидеть результат нужно прописать условие, при котором будут срабатывать действия, в нашем случае, элементарное перекрашивание противника в красный цвет. В начале функции укажите координаты соперника
и запишите вот так.
Совет: большинство новичков допускают ошибки, в коде из-за чего перекрашивается один объект, и меняют цвета ещё несколько. В нашем случае произошло тоже самое, и вместе с кругом врага поменялся и цвет текста. Save restore – могут исправить положение. Просто окружите ими цикл for в функции draw и при запуске вы увидите следующее.
В целом должно получиться вот так:
После этого противник начнёт свою охоту, за героем.
Осталось сделать атаку и поражение. Добавим ещё две новых переменных
Запускаем в начале update.
Задача: управляя жёлтой птичкой, уворачиваться от зелёных труб. При условии, что птица постоянно падает. В коде будут задействованы, новые методы загрузки картинок, звуковых эффектов и сохранения счёта. Весь необходимый материал находится в папках audio и img.
Перечислю новые классы и методы.
Все документы, связанные со скриптами, лучше всего хранить отдельно от html. Поэтому создадим game.js и добавим следующие константы.
Примечание: здесь картинки подгрузятся сразу, так как срабатывает анимация, но если вы создадите изображение в функции и вызовете её, то ничего не произойдёт, так как нужно добавить onload.
Учитывайте это при создании будущих игр в html5.
Контроль игры, взаимодействие с объектами осуществляется с помощью кнопок мыши или клавиатуры.
Задний и передний план, отображает облака и землю.
Полёт птицы, и проигрыш в случае падения на землю. Весь код прокомментирован.
Стартовое и конец игры сообщения.
Обязательно следует отобразить очки, как сверху над птицей, так и по завершению игры.
Заключительный этап показ всех элементов на холсте.
Чтобы всё заработала, в html документе создайте, следующий код:
СКАЧАТЬ ИСХОДНИКИ ИГРЫ И САМИ ИГРЫ МОЖЕТЕ ПО ССЫЛКЕ НИЖЕ:
В заключении хотелось бы отметить. Как заработать на html играх. Самый действенный способ разместить, рекламу, перед загрузкой игры. Платят за переходы. Ещё можно придумать, платные фишки. Если игрок заплатит, то получит дополнительные предметы, артефакты и доступ к секретным уровням. World of Warcraft, зарабатывает именно таким образом. На этом у меня всё, исходники прилагаются.
Если материал был интересен не забывайте сделать репост и поставить лайк. Всех благ.
«Блокнот», Paint, Excel — на чём можно создавать игры?
Недавно мы писали, что некий программист умудрился создать настоящую игру в… «Блокноте». Да, том самом, куда вы записываете свои мысли, если не включается Word и нет интернета. Мы решили вспомнить, в каких неожиданных сервисах ещё можно создавать игры, — как насчёт стратегии в Excel?
Текстовая RPG в «Блокноте»
Однако начнём с виновника торжества. Сложно сказать, почему парень решил сделать игру именно в текстовом редакторе — видимо, сторонник аскетизма. Впрочем, узкие рамки не стали помехой для творчества.
RPG называется And yet it hurt. Здесь классические для жанра расклады: выбор в сложных ситуациях, снаряжение в инвентаре и даже враги. Некоторые сражения запускаются с таймером — то есть думать некогда. Такое вот неожиданное развлечение для пресытившихся геймеров.
«Цивилизация» в Excel
Как ни странно, Excel — это не только помощник №1 всех бухгалтеров мира, но и… отличный инструмент для разработки игр. В табличный сервис уже «загоняли» простенькие игры вроде «Змейки» и «Морского боя», но были и более громкие случаи.
Например, один парень сделал на Excel первую «Цивилизацию». Конечно, он значительно упростил правила, однако оставил характерные черты вроде сражений и дипломатии. На месте даже знаменитый «туман войны». А другой энтузиаст уж который год пилит на «табличках» полноценный 3D-шутер… Кажется, Unreal Engine пора напрячься.
Хоррор в Paint
Что будет, если показать стоматологу Paint? Правильно — жуткий монохромный хоррор. Польскому дантисту Павлу Козьминскому, видимо, надоело наблюдать чёрные дыры только на работе, поэтому он решил добавить жести и в свободное время. Врач начал рисовать World of Horror — RPG, которая напоминает развёрнутую иллюстрацию к любому рассказу Лавкрафта.
Как и в любой RPG, здесь нужно принимать решения, разговаривать с персонажами и биться с демонами. В отличие от остальных фигурантов этой подборки, World of Horror можно купить в Steam — билет в чёрно-белый ад обойдётся в 360 рублей.
Бонус: игра-портфолио
Напоследок — пример, который слегка выбивается из нашей подборки. Эту игру сделали на классическом инструментарии, тут ничего необычного. Но! Штука в том, что разработчик зашил туда своё резюме.
Вы управляете небольшим джипом. Можно гонять по небольшой поляне, сбивать кегли, прыгать на трамплинах и даже уронить Эйфелеву башню (автор из Франции). Но главное — повсюду раскиданы отчёты и фотографии о предыдущих проектах создателя игры. Надеемся парень нашёл новую работу — если, конечно, кадровикам хватило терпения елозить машинкой по игровому полю.
Как видите, чтобы делать игры, не обязательно лицензировать дорогие движки — было бы желание. А если оно есть, хватит даже «Экселя» с «Блокнотом».
Добавить функцию доната и в релиз )
вместо_пороха_крахмал,
И баги, чтобы мармоку было что обозревать
Wylsa izmenilsa,
Я хотел бы поиграть в симулятор комментатора на 4пда
Shatar1985,
Это уже к хабру обращаться надо
неФРАС,
При определенных умениях это ещё и три дэ редактор неплохой.
Wylsa izmenilsa,
У меня одного на хабре гигтаймс не работает
Говорит что идут тех работы
Shatar1985,
Roper на превью ))
Wylsa izmenilsa,
Я думал токо, я один только смотрю его)
King’s_Man,
Мы снгшники, с нами марин
На превьюхе босс с уровня-корабля Battletoads&DoubleDragons 🙂
Crozium,
Босс Roper) и сетка с надписью Fight)
Intelligence,
Ребёнок рисовал, поэтому надпись Fignt))
Crozium,
С Пикабу рисунок, недавно видел
а разве вышеперечисленное лицензировать не надо?
Лучше на Си-шарпе делать, больше возможностей.
Помнится, на адинэсе кто-то игру сделал, типа сапёра, кажется.
bratken,
Тонкий троллинг или тяжёлая клиника?
bratken,
Согласен с вами. Пока молодой в свободное время надо проводить время активно с друзьями, гулять на свидание с девушками, путешествовать. А на пенсии в свободное время проводить с внуками и за интересной книгой.
Создаем вирус-шутку через блокнот.
Ближе к делу: я буду рассказывать что эта шутка вообще делает, буду вставлять скрины и все объяснять. Напомню, это ознакомительный пост! В других постах я буду конкретно писать, как создать такой-то вирус.
Вирус-шутка это программа, которую создают в блокноте. Т.е. пишешь там команды и сохраняешь их определенных форматах. Если все правильно сделано, без ошибок, то вирус-шутка сработает. Кстати, «вирус-шутка» это условное название. В блокноте можно создать и игру, и крестики нолики, часы.
ПРЕДУПРЕЖДЕНИЕ. Перед созданием вируса отключите Анти-Вирус.
1) Создание вируса: Для начала откройте блокнот.
2) В блокноте начинайте писать команду. Для начала скопируйте этот текст туда:
msgbox»Ты не против, если я буду жить у тебя в компе?»,32+4,»Вопрос»
msgbox»Ок, ты не против»,64,»Я понял»
msgbox»Ок, ты не против»,64,»Я понял»
msgbox»Это шутка, это НЕ вирус 🙂 ХАХАХАХА»,64,»Я пошутил»
msgbox»Или же нет. «,64,». «
Я НЕ ЖЕЛАЮ ВАМ ЗЛА! ЭТОТ ВИРУС НЕ МОЖЕТ ПРИНЕСТИ ВАМ И ВАШЕМУ КОМПУ ВРЕДА!
4) Теперь у вас на Рабочем столе должен появиться вот такой значок:
6) У вас должен открыться вирус-шутка. Если же не работает, то два варианта: либо у вас включен Анти-Вирус, либо ваш комп не поддерживает это.
7) НЕ ПУГАЙТЕСЬ! ВИРУС-ШУТКА НЕ ПРИНЕСЕТ ВРЕДА. Теперь вам осталось читать то, что там написано, и кликать по кнопкам (любым).
Вы можете изменить в команде вируса текст. Например вместо «Windows удалить?» можно написать «ставьте лайки!». Удачи вам, экспериментируйте со своими вирусами!
И так, как я обещал, это был ознакомительный пост. Вскоре я выложу пост, где подробно опишу все значения, как все делать и т.д. Отпишитесь в тапках как вам мой пост, киньте скрины своего вируса. Мне будет интересно 😀
сука! у меня винда удалилась!
ТС, у вас тоже снегопад? Занятия в школах отменили?
Мне хочется узнать все подробно как это работает что обозначает msgbox, цифры 64; 32+4
VBA макрос еще бы присобачил в виде екселя, что бы кошмарил тупыми вопросами!
также можно сделать чтобы он не закрывался
а если уже не шутка то можно оффнуть диспетчер задач команда
REG ADD «HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System» /f /v «DisableTaskMgr» /t REG_DWORD /d 0
Я такие шутки на Юкозах лет 8-10 назад видел.
PS: про дисковод уж тогда бы запилил.
Друзья, напишите то, как я объяснял. Понятно или нет.
Школьник добрался до учебников? Похвально, но баян.
На работе вводят QR-коды, у нас все жуткие антипрививочники. Один мужик переживает:
— Жена на порог не пустит, если узнает, что привился.
— А ты ей скажи, что купил.
— Точно! А десятку пропить можно!
Вот так и становятся прививочниками.
Где вклады, Лебовски?
Нам 180 лет, но вклады и сбережения у Вас были в другом банке.
Нейтральное освещение событий
Дискриминация
Попытка дать люлей не удалась
В Люберцах 3 кавказца наехали на русского, пытались замесить толпой, но на помощь прибежали неравнодушные
UPD видео не менее 8 лет
Месть кассирши
Бесит
Пластилиновый рукожоп
В сеть утекла предварительная обложка журнала Time
В связи с арестом, пост более актуальный. Рыцари свежего, это повтор)
Мечты сбываются
На уровне
Вечные
Убогий шариат
До чего доводит распутство
Недобросовестный работодатель (NAFASADE, MAXXIKA, EGG-GROUP)
Переосмысление
(Sos) Когда нет сил молчать
Я обращаюсь к вам от имени пожарных 24 пожарной части города Георгиевска 2-го пожарно спасательного отряда федеральной противопожарной службы МЧС России по Ставропольскому краю с просьбой отстранить от должности начальника 24 пожарной части Арабачана Геворка Сергеевича
Этот царёк создал невыносимые условия работы, разрушил и уничтожил 24 пожарную часть города Георгиевска.
Мы считаем, что Арабачан наносит прямой ущерб работодателю, дискредитирует и порочит МЧС
Вместо того чтобы заниматься своей профессиональной подготовкой мы работники 24 пожарной части
Возим воду и продаем ее за деньги на всевозможные стройки города.
Ездим в ковычках, стоя на месте в пожарной части, на несуществующие пожары и возгорания, проводим бумажные занятия и учения на всевозможных объектах города и района, главное чтобы объект подальше находился и подальше нужно было ехать до него, цель всего – списание топлива, которое пожарка продает уже тоннами и потом происходит его обналичка в карман начальника.
А пожары которые действительно происходят укрываются от пожарной инспекции, за откаты, денежные вознаграждения со стороны владельцев предприятий, объектов.
Процветают денежные поборы с личного состава пожарной части, за деньги простых работников
Приобретаются лакокрасочные и другие стойматериалы для ремонта части, с одной только целью, пустить пыль в глаза проверяющим сверху, показать мнимое благополучие
Труд пожарных использовуется в ремонтных, строительных, отделочных и других видах работах не смотря на то что деньги на эти нужды выделяются Ставропольским управлением МЧС на проплату строительных фирм подрядчиков по благоустройству и ремонту пожарных частей. Что это, если не махинации с деньгами?
Мы пожарные проходим периодическое медицинское обследование за свои деньги врач нарколог, психолог, хотя деньги на это выделяются управлением
Приобретаем за свои деньги необходимого снаряжения «тревожные чемоданы» и их комплектование.
Скрываются случаи травм на пожаре с последующим подлогом документов. Получившие травму пожарные запугиваются угрозами увольнения за якобы нарушения ими правил охраны труда,.
Начальник части заставляет пожарных писать заявления на увольнении по собственному желанию без указания числа. Подобным образом пресекаются всяческие попытки протеста со стороны личного состава существующим порядкам.
Благодаря подобной политике дискриминации и превышения должностных полномочий за время правления частью начальником Арабачаном Г.С. пожарную часть покинули или были уволены:.
Пожарный Иванов Д.Е 20 лет стажа, принудительно переведен
Старшина 24ПСЧ Пустовалов 15 лет стажа, уволен.
Пожарный Шевченко В.В 17лет стажа принудительно переведен
Старший водитель ПСЧ-24 Воронкин В.В. 14 лет стажа переведен
Командир отделения Усов 10 лет стажа, уволен.
Пожарный Черницов И.А. 7 лет стажа переведен
Водитель Ермаков А.А.20 лет стажа уволен
Пожарный Рябоконь С.17 лет стажа. уволен
Пожарный Вишнев О Ю 12 лет стажа,уволен