|
Заблокирован
|
|
Игра "SUPER MARIO" или "SOLDIR OF MARIO"28.01.2025, 13:58. Показов 26503. Ответов 274
Метки нет (Все метки)
Здравствуйте, дорогие мои братья и сёстры!
Игра "SUPER MARIO" или "SOLDIR OF MARIO" Да да! Добавлено через 19 минут Господь сподобил меня Своей милостью, я, когда-то, писал вот эту игру - она была написана, когда я окончил школу и поступил в ВУЗ, летом. Видео процесс игры и работа в редакторах кирпичиков, ролик сети 'You Tube', длительность ролика около 9 минут. Кликните здесь для просмотра всего текста
И, что хочу вот сказать: перед тем, как Господь поднял меня, это было рано, в пятницу 13 февраля 1998 года, я являлся в то время лаборантом на кафедре вычислительных машин. К.г.(*), я написал игру под названием "SOLDIR OF MARIO" - "Солдат Марио", как смесь игры Super Mario (c TV приставки "Dendy") и игры Soldier of Fortune ("Солдат Фортуны") с небольшого ZX-Spectrum компьютера (памяти у него было всего 64 килобайт) в 96-97 годах, летом, почти в то время не спал и не ел, потому что меня накрыла настолько сильная волна поддержки, у меня было постоянно состояние эйфории, пока я, практически не отрываясь от экрана монитора занимался программированием "Soldir of Mario" И, вот, разработка этой игры очень здорово помогает понять и как устроен и задуман наш мир. https://github.com/wiz3267/mario Добавлено через 4 часа 52 минуты Программистам, которые занимались разработкой игр, лучше, как мне кажется, легче понять, что мир, в котором мы живём, очень интересно устроен. Никаких случайностей, тут, конечно нет. Прежде, чем реализовать проект, Господь размышлял - а какой это будет мир, ад или рай. Если рай, тут одна цветовая гамма, все цветы радуги, небо было необходимо создать голубоватого цвета, траву - зеленого, облака - белыми, хлеб - белый. Но этого мало. Нужно ещё разработать все живые организмы - какова будет взаимосвязь всех животных и существ экосистемы. Нужно создать некоторые вещества, без которых невозможна жизнь любого организма - вода H2O и кислород - просто О2. Также, кроме всего прочего, это вещество должно будет обладать рядом важных для жизни свойств - при 0 градусов оно должно начинать закристаллизироваться и становится жестким, твёрдым веществом, однако свойства у него будут таковы, что оно не будет тонуть в воде. Почему так - в таком случае зимой водоёмы с водой будут покрываться корочкой льда, и можно в таком случае ходить по воде (всем людям). Ну и так далее. Один организм должен будет питаться другим. Главный герой или персонаж этого мира - человек. Человек должен состоять не только из костей и мяса, но как венцу творения у Человека будет бессмертная душа, "Я", сознание и память. Человек будет способен своим сознанием быть в высших сферах подсознания и общаться с Бесконечным Богом. Каковы должны быть размеры этого мира, продолжительность дня и ночи, продолжительность года, как и вокруг какой оси должен вращаться этот мир, скорость движения вокруг Солнца (основной светильник), какое должно быть расстояние от Солнца до Земли, мощность Солнца, чтобы была возможность жить на планете людям и другим живым существам - короче говоря, чтобы мы, жители планеты Земля, не поджарились летом на Солнце и не замерзли зимой.....и т.д. и пр. и пр., будет ли вокруг этого земного мира вращаться ещё один - планета Луна - если да, то какова должна она быть, радиус планеты Луна, скорость вращения вокруг Земли, скорость вращения вокруг оси и наклон оси, рельеф местности. Ну и, самое главное, а каков будет сам-то Человек, Венец Творения? Как он должен выглядеть? Потом, по истории строительства нами Вавилонской башни, когда древние люди решили построить башню до неба - Господь расстроил их планы, произвёл разделение языков у строителей Вавилонской башни. До селе, они говорили на одном самом первом древнем первоязыке, а тут они заговорили, вдруг, внезапно, на самых разных языках и наречиях, они перестали понимать друг друга, остановили на время строить башню, заморозили строительство, как бы сказали сейчас, спустились с неё и разбрелись по лицу всей Земли. Всё это написано в книге "История нашей Вселенной - от создания до падения", где самым подробным образом описана история Землян, что случилось с Землянами: почему они, начав за "здравие", окончили уже за "упокой", переубивали друг друга, разрушили сами себя, превратили свою планету в самый настоящий ад. Увы. Чтобы люди на будущее знали, как не следует поступать и жить, смотря на эту трагическую гибель нашего с вами Земного мира - планеты Земля Солнечной Системы Галактики Млечный Путь.
3
|
|
| 28.01.2025, 13:58 | |
|
Ответы с готовыми решениями:
274
Super Mario на C++ и OpenGL Персонаж super mario не видит коллизию |
|
Заблокирован
|
||||
| 11.08.2026, 22:48 [ТС] | ||||
|
А я не то, чтобы хвастаться ассемблером, просто написано это было в 1996 году, я вот смотрю на этот код - сейчас я бы уже так не смог написать. Значит память была нормальная в то время - сколько только одних идентификаторов там, например, через ключевое слово ассемблера extrn - т.е. они находятся в другом файле проекта.
0
|
||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 11.08.2026, 23:00 | |||
|
Вторая - что х86 всегда был именно процессором. Сложным устройством, взаимодействие с которым должно идти только через операционную систему. То есть что-то простое на ассемблере х86 написать не получится. Обязательно придется дергать функции ОС, Биос или еще какого окружения. --- Если сейчас кто-то хочет изучать архитектуру ЭВМ, начать лучше всего с 8-битных контроллеров вроде AVR (или PIC, или х51 - но на счет них не уверен, не пробовал). В крайнем случае - risc-v или простых arm.
0
|
|||
|
Заблокирован
|
|||
| 13.08.2026, 00:27 [ТС] | |||
|
Интернета не было тогда. Но зато был один мужик, который продавал компьютерные книги, руководство по всяким DOS, или по прерываниям. Но что хотел сказать - про уровень вхождения в тему. DOS содержала утилиту debug.com (или .exe точно не помню). И вы сразу же можете писать на ассемблере там, какое нибудь прерывание вызвать BIOS или DOS. Но что главное хотел сказать, что нельзя что-то простое написать на ассемблере. Можно пользоваться тем, что DOS работала, всё-таки, в текстовом режиме. И текстовый режим - он во-первых очень быстродействующий - один байт используется для сивола, а второй - для цвета. Ну можно было написать разные вещи. И во-вторых очень экономный. Виндуха XP ещё умела работать с текстовым режимом, Far manager, какой-нибудь, можно было переключить в текстовый режим, например, 80x25. Но далее, корпорация микрософт отказалась от поддержки текстового режима, наверное, чтобы не позориться при тормозах системы. Добавлено через 1 час 42 минуты
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||||||
| 13.08.2026, 07:41 | ||||||
|
Вывод несчастных 80х25 = 2000 символов это ну вот совсем не самое узкое место. Современные видеокарты выводят не тысячи, а миллиарды, и не символов, а треугольников. К каждому из которых надо применить несколько шейдеров, да еще растеризовать на пиксельную сетку, да еще к каждому пикселю применить очередную пачку шейдеров. И все это с частотой 60 - 200 Гц. Не те жалкие 30 Гц, которые были потолком для ЭЛТ-мониторов. А вот на современных камнях такты уже особо не посчитаешь. Конвейеры, предсказатели, да даже просто многозадачность, делают скорость выполнения непредсказуемой. --- Впрочем, недавно я наткнулся на какой-то древний журнал. Радио что ли. И там был ассемблерный листинг под какой-то компьютер того времени. Радио-86рк, возможно. Вот там меня впечатлило, как ассемблерные команды кодируются в бинарный код. Просто глазами видно где номер регистра, а где адрес перехода. Причем переходы там абсолютные, какой адрес указан, туда и перейдет. Понятно, чем это хуже современного подхода с относительными адресами. Но вот в учебных целях - наверняка было отлично. Сейчас, понятное дело, это не более чем музейный экспонат.
1
|
||||||
|
фрилансер
6506 / 5757 / 1134
Регистрация: 11.10.2019
Сообщений: 15,405
|
||
| 13.08.2026, 07:49 | ||
|
Орион-128 процессор КР580 счастливое детство ![]() Из Радио ещё предлагалось вручную дампы по циферкам перебивать в комп. Что я с радостью делал
1
|
||
|
Заблокирован
|
||
| 13.08.2026, 08:47 [ТС] | ||
|
Вы удивитесь, COKPOWEHEU, но что текстовый режим, что палитровый 320x200x1, имели не жалкие 30 Гц, а самые настоящие 70 Гц. И да, даже на том железе, которое у меня было во время разработки игровой программы "Soldir of Mario" - "Солдат Мариа", а это был, как я уже говорил, микропроцессор i486 с тактовой частотой не как сегодня 2 ГГц, а гораздо-гораздо скромней, и память была не 4 Гигабайта, а 4 Мегабайта - ну так даже с такими скромными характеристиками проект уверенно работал 70 кадров в секунду, обеспечивая переброс кадра изображения из обычной памяти в видеопамять посредством цепной инструкции ассемблера rep movsd. И да, именно во время обратного хода луча машины. Я ждал обратного хода луча машины, постоянно считывая регистр состояния. И как только я дожидался этого - бац, и всё - кадр из обычной памяти перебрасывался в видеопамять. Всё элементарно и просто, и не нужно было изучать микрософтский презерватив DirectDraw для этого. Добавлено через 1 минуту По моей просьбе папа продал трёхколёсный мотоцикл "Урал" и купил мне компьютер ZX-Spectrum, самодельный, который делали старшие ребята в подвале дома. Для меня это было откровением. Начиная с загрузки картинки прямо в видеопамять этой простой машины ZX-Spectrum с ленты магнитофона, когда ты видишь своими глазами, как звук превращается в изображение и что такое там, 1200, по-мойму, бод. Что это такое, что за скорость поступления данных с магнитофона такая. Короче говоря (далее к.г.) - для меня это было ключевое приобретение во всей жизни. Радости моей не было предела, и, вскоре, от ZX-бейсика я перешел к ассемблеру Z80. Никто бы никогда не поверил, что там 6-7 классник какой-то пишет игру на ассемблере Z80 для Спектрума и постоянно сбрасывает исходник на магнитфонную плёнку, т.к. Спектрум мог сброситься в любой момент, когда, например, заводился холодильник на кухне. Хотел ещё раз подчеркнуть, что радости моей не было предела, когда папа купил мне по моей просьбе Спектрум. Такой радости у меня больше никогда, наверное, не было. Возможно и была, когда я разрабатывал "Солдата Марио" летом, находясь всё время при этом в состоянии сильной эйфории (я не курил тогда, ни сигареты, ни что покрепче, также не пил кофе алкоголь и пр. да любые вещества для мозга - всё это мне было не нужно - я просто сливался с машиной в одно целое, и Машина Сама могла управлять моими руками в режиме слепой печати. Как хотела Машина, так и делала. Возможно, что это был машинный экстаз - когда человеческое "Я" сливается с "Я" машины, наподобие религиозного экстаза)
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||||
| 13.08.2026, 09:44 | |||||
|
Но, конечно, протокол общения с дисплеем по SPI, это далеко не просто запись байтиков в видеопамять. Как я уже говорил, даже сейчас есть место байтокрутству, не обязательно для этого изучать музейные экспонаты. Впрочем, даже здесь можно извратнуться - писать EFI-программы. В отличие от MSDOS, это хотя бы теоретически может быть полезным.
0
|
|||||
|
Заблокирован
|
||||||||
| 13.08.2026, 16:20 [ТС] | ||||||||
|
По поводу эмулятора DOS - да, работает, но такой точности, как при реальном железе не получается. 70 кадров за одну секунду времени. Никак. То картинка тормозит, то ещё что. У меня вот, программа, которая отображает стрелочные часы и бегущую строку работает идеально, без пропуска кадров и прочее. Одна из стрелок часов делает один оборот за одну секунду, без лагов. Когда работает на реальном железе, а не на виртуальном: Хочешь - программируй машину. Хочешь - сбрасывай машину. Что хочешь, к.г., то и делай. Добавлено через 1 час 55 минут
0
|
||||||||
|
Заблокирован
|
||
| 14.08.2026, 10:20 [ТС] | ||
|
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 14.08.2026, 13:33 | |||
|
Но вы свою программу позиционируете как обучающую. Сейчас, в 2026 году, обучать DOS-у и подходам того времени - вредительство. Еще раз говорю. Если хотите принести пользу окружающим как учитель, поделиться опытом - переделайте. Либо подход "от истории" - примитивная реализация на MSDOS ("как тогда просто это решалось") - перенос на winGDI или какой-нибудь SDL ("в целом, такой подход применим и сейчас") - перенос на шейдеры OpenGL / Vulkan ("а вот так принято в современном мире"). И уже в самом конце перейти от демонстрационных заготовок к полноценной игре. Загрузка текстур, несколько уровней, настройки меню и управления, рекорды, сеть, ... В общем, на что фантазии хватит. Либо сразу начать с последнего пункта, выкинув всю остальную древность. Либо, извратский вариант, переписать все это на EFI. Мол, под винду пишут все, кому не лень, а давайте обойдемся без операционки вообще.
0
|
|||
|
Заблокирован
|
||
| 14.08.2026, 17:08 [ТС] | ||
|
Также, кроме всего прочего, первая эйфория у нас в классе наступила, когда мы, 5-классники, 10-летние дети увидели впервые, японскую машину MSX-2.
0
|
||
|
Заблокирован
|
|
| 14.08.2026, 17:51 [ТС] | |
|
Ок, теперь, если вы не против, я хочу опять вернуться к базису этой темы - реализации проекта "Солдат Марио". Из каких же составных частей состоит эта игровая программа? Как она устроена изнутри? На чём жиждится? Как работает графика?
Графика уровня состоит из титлов. Что такое титл? Титл - это своего рода "коробка", это изображение на плоскости, одинаковое по X и Y. Титлы рисуются так, что большинство из них можно размещать рядом, и они при этом будут сливаться в одно. Это кадр из редактора уровней.
0
|
|
|
Заблокирован
|
|||||||||||
| 14.08.2026, 17:55 [ТС] | |||||||||||
|
Это кадр выбора титла в редакторе уровней - стрелки вверх, вниз, вправо, влево, <enter> - выбор и возврат в редактор
Так представлен в проекте заголовочный файл Level.h Для лучшего понимания я привожу полностью этот файл, а ниже - часть исходника, в котором зашиты атрибуты кубика (титла).
У каждого кубика (титла) есть также свои атрибуты:
0
|
|||||||||||
|
Заблокирован
|
||
| 14.08.2026, 19:36 [ТС] | ||
|
Также, кроме всего прочего, первая эйфория у нас в классе наступила, когда мы, 5-классники, 10-летние дети (13 мальчиков и 2 девочки - все мы были из одного класса) увидели впервые в жизни настоящий нормальный и классный компьютер - с видео- и с аудио- схемой компьютер, японскую машину MSX-2. А год-то тогда был, если я 1979 года рождения + 10 лет = 1989 год это был. В СССР компьютеры были только в школах, институтах и пр. Только спустя несколько лет, когда во всю стали делать самодельные ZX-Spectrum - народ тогда, более-менее вздохнул свободней. Приближался крах Советского Союза. Мы из 3-класса перепрыгнули сразу в 5-класс.
Вторая волна эйфории коснулась лично меня, когда папа подарил мне по моей просьбе бытовой компьютер ZX-Spectrum.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 14.08.2026, 20:23 | |||
|
0
|
|||
|
Заблокирован
|
|||
| 14.08.2026, 21:36 [ТС] | |||
|
Ну да, а в таком виде, как сейчас проект представлен - явно молодые программисты или просто не поймут, или не правильно поймут. Хотя сама идея проекта очень проста - есть класс графики, есть небольшое совсем число функций - нарисовать спрайт, там, линию вниз, линию вправо, прямоугольник, вывести буковки и пр. Добавлено через 7 минут Если превалирует какая-то сонливость, вялость мозга, апатия - тогда мне становится всё безразлично и я иду заваливаться в кровать спать.
0
|
|||
|
Заблокирован
|
||||||
| 15.08.2026, 01:32 [ТС] | ||||||
|
Атака босса:
ok, давайте тогда так: основной концепт заключается в том, что мы пишем всё сами. Конкретно - класс SCREEN - он осуществляет графику в свой внутренний буфер. И какая там ос будет - это дело двадцатое. Под ДОС просто можно цепную инструкцию применить - rep movsd, когда дело дошло до адаптации всего проекта в виндоус - пришлось вместо простой инструкции асм разбираться в презервативах, что я крайне не люблю делать. Читать чужие инструкции и чужой код. На кой мне всё это надо, не знай. Кто хочет - пусть капается в презервативах микрософтских, типа DirectDraw.
0
|
||||||
|
Заблокирован
|
||
| 15.08.2026, 01:39 [ТС] | ||
|
0
|
||
|
Заблокирован
|
|
| 15.08.2026, 02:04 [ТС] | |
|
Это фотография главного экрана игровой программы:
0
|
|
|
Заблокирован
|
||
| 16.08.2026, 09:52 [ТС] | ||
|
0
|
||
| 16.08.2026, 09:52 | |
|
Nintendo отмечает 20-летие игры Super Mario Kart Игра в стиле Mario (SFML) Поиск пути в массиве для фигуры 2х1(или попытка в ИИ для игры Dr.Mario) Mario
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|