разработка

Подписчиков: 11     Сообщений: 189     Рейтинг постов: 1,975.4

gamedev Игры Приключения ведьмы Ежевики разработка point and click adventure сделал сам  

А наш скворечник в фестивале участвует!

И вы;%:№т его там во все его щели!
Steamworks > Управление приложениями > Blackberry the Witch: Journey Blackberry the Witch: Journey (1702910) Приём заявок на Фестиваль «Играм быть»: октябрь 2021 года УЧАСТВУЕТ Фестиваль «Играм быть»: октябрь 2021 года Фестиваль «Играм быть» в Steam возвращается 1 октября 2021 года, чтобы дать
Развернуть

gamedev Игры Приключения ведьмы Ежевики разработка point and click adventure сделал сам  

А мы выпустили демоверсию!

Собственно его можно найти тут! Еще его можно найти в гуглплее, но там более старая версия.

Все игры Прдалкмпгцесхие игры Blackberry the Witch: Journey Blackberry the Witch: Journey центр сообщества BLAGKBERR YmWITGH JOURNEY Приключения Point b CIcK Инди Магия 20 Войдите, чтобы добавить этот продукт в список желаемого или скрыть его Может ли эта игра вам понравиться? Загрузить

Развернуть

разработка идеи помогите ДнД песочница 

Я тут хочу свой досуг занять и сделать какую-нибудь софтинку для ДнД

Я тут хочу свой досуг занять и сделать какую-нибудь софтинку для ДнД. Подкиньте идейки.
Сразу была идея просто сделать свою автономную версию dndbeyond, но потом подумал, что оно никому нафиг не сдалось и объем работ слегка затянет создание.
В общем был бы рад помощи в придумывании. Если подкинете годную идею, то может тут и процесс разработки вкратце затрону.
Развернуть

gamedev Игры Приключения ведьмы Ежевики разработка point and click adventure сделал сам  

Приключения ведьмы ежевики, выход демоверсии!

Ударившись в разработку мы забыли про обновления. А так то Мы скоро выпускаем демо игры!
Идут проверки на разных интернет площадках.

Blackberry the Witch: Journey demo Открыть в Google Play Статус обновления О На рассмотрении Перейти на страницу "Обзор публикации",gamedev,Игры,Blackberry Witch,разработка,Приключения ведьмы Ежевики,point and click,adventure,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам,

 Видео по игре:

Развернуть

программирование geek OSDev Операционная система ассемблер разработка длиннопост 

ОСдев №10: основной загрузчик, часть 3. GDT.

Подготовительный этап закончен, можно приступать к интересному. Кроме собственно загрузки файлов наша программа должна подготовить для ОС рабочую среду. Это значит: переключить процессор в 32/64-битный режим, настроить таблицу прерываний и создать базовую GDT. Сегодня разберёмся с последним пунктом.

GDT - сокращение от Global Descriptor Table, глобальной таблицы дескрипторов. Что это такое? По сути - набор записей одинакового формата, описывающих области памяти и разрешения, которые они имеют. Упрощённо это выглядит так:

//область 0

адрес области

размер области

параметры доступа

флаги

//область 1

адрес области

размер области

параметры доступа

флаги

...

В 32/64-битном режиме дескрипторные таблицы используются вместо старой схемы адресации сегмент:смещение. Зачем? Сегмент:смещение - небезопасная технология, которая позволяет переписать любой участок памяти. Надо ли говорить, что при неосторожном обращении это легко может закончиться бедой? Дескрипторная таблица даёт возможность ограничить запись или выполнение кода в отдельных областях RAM. Дескрипторные таблицы появились как часть аппаратной защиты памяти вместе с 286 процессором.

Как это работает? После выхода из 16-битного режима процессор больше не принимает адреса в формате сегмент:смещение. Если попытаетесь так сделать - получите исключение GPT (General Protection Fault). Вместо этого в сегментном регистре процессор ожидает получить смещение дескриптора внутри ДТ. При этом для операций над этим сегментом будут действовать правила, указанные в дескрипторе. Например, попытка обратиться к памяти за пределами сегмента или запись в защищённый от записи сегмент будут вызывать исключения (кстати, про обработку исключений поговорим позже, пока давайте примем, что это фатальная ошибка, которая приведёт к остановке программы).

Кроме глобальной таблицы дескрипторов существуют ещё локальные (ЛДТ), TSS и таблицы дескрипторов прерываний (IDT). Для того, чтобы наша ОС могла начать работу, обязательно наличие только двух таблиц: GDT и IDT. Давайте теперь взглянем на GDT поподробнее. Скажу сразу, зрелище будет не очень приятное. Но начнём с лёгкого. Так как GDT - часть аппаратной схемы защиты памяти, у неё есть свой регистр: GDTR. Это 48-битный регистр, 4 байта которого предназначены для смещения GDT, а 2 - для её размера. Таким образом, GDT не может быть больше 65536 байтов в размере. Размер записи в GDT - 8 байтов, значит,< таблица может иметь максимум 8192 дескриптора. Зная всё это, хорошим тоном было бы сразу зарезервировать 64К под GDT, но в моей архитектуре ОС создаёт свои таблицы, так что сейчас я обойдусь минимумом. Минимум в данном случае - 3 дескриптора. Нулевой, сегмент кода и сегмент данных. Зачем отдельно выделять нулевой дескриптор? Дело в том, что обращение к нему в GDT приводит к, вы угадали, исключению. Это тоже своего рода мера предосторожности.

А теперь время взглянуть на структуру дескриптора. И тут, увы, наследие тяжёлого прошлого во всей красе. Ради обратной совместимости в кодом для старых процессоров дескриптор GDT превратили в кашу.

Первые два байта - это первые 16 битов границы сегмента.

Следующие три байта - первые 24 бита основания сегмента.

Следующий байт - параметры доступа. Рассмотрим ниже.

Следующий байт совмещает в себе биты 16-19 границы и флаги. Об этом тоже подробнее ниже.

Ну и последний байт - биты 24-31 основания.

Неудобно? Не то слово. Когда будем писать ядро - обязательно замутим процедуру для комфортной работы с этим месивом. К счастью, сейчас у нас статичная структура всего из трёх сегментов, так что заполнить можно и вручную. Создадим и подключим модуль GDT.inc. Как это сделать, мы рассматривали в прошлый раз. И добавим в него вот такую таблицу:

;Нулевой дескриптор, сЫ 00001л бы 00001л db 001л
с1Ь 00000000Ь с1Ь 00000000Ь с!Ь 001л
¿Дескриптор сегмента бы 0РРРР1л с!ы 00001л с!Ь 001л
дЬ 10011010Ь с!Ь 11001111Ь с!Ь 001л
¿Дескриптор сегмента бы 0РРРР1л бы 00001л с!Ь 001л
6Ь 10010010Ь 6Ь 11001111Ь с1Ь 001л
¿Биты 0-15 предела.
¿Биты 0-15


Это и есть наша GDT, ничего ужасного. Значения в нулевом дескрипторе для нас не важны, а вот остальные давайте рассмотрим подробнее. У нас есть два дескриптора: один - для кода, другой - для данных. Оба начинаются с 0 и занимают FFFFF*4Kib = 4Gib. Фактически это значит, что, начав работать, ОС сможет использовать всю память по своему усмотрению. Давайте теперь разберём параметры доступа и флаги.

Бит 1 - флаг чтения/записи. Его значение различается для сегментов кода и данных.
Для сегментов кода установленный флаг означает, что чтение разрешено.
Запись в сегменты кода запрещена всегда.
Для сегментов данных установленный флаг означает, что разрешена запись. Чтение из сегментов данных

Таким образом, значение параметров доступа 10010010b даёт нам вот что: это сегмент данных, запись в него разрешена, сегмент растёт вверх, уровень привилегий - ring0. А теперь флаги. Биты 0-3 здесь заняты границей сегмента, не обращаем на них внимания.

Бит 4 зарезервирован и должен быть равен 0.
Бит 5 указывает на 64-битный сегмент. Так как мы пока переходим в 32-битный, должен быть равен 0.
Бит 6 указывает на 32-битный сегмент. Наш выбор, устанавливаем в 1.
Бит 7 - гранулярность. Если равен 0, то значение границы сегмента используется как

Окей, теперь у нас есть GDT. Но как указать системе, что её нужно использовать? Процессор ведь не дурак, сам искать не станет. Всё просто, джентльмены из IBM в кои-то веки о нас позаботились. При помощи специальной ассемблерной команды lgdt (load GDT) мы можем передать в регистр GDTR линейный адрес таблицы и её размер. Для этого добавим перед GDT такую структуру:

60ТК_р1:г:
dы 00171п	;Размер таблицы - 1 (23 байта).
dd 00000000И	;Абсолютный адрес таблицы.,программирование,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,OSDev,Операционная система,ассемблер,разработка,длиннопост

Размер таблицы мы уже знаем, а вот адрес придётся посчитать, так что пока оставим 0 и напишем процедуру инициализации GDT:

init_GDT ргос
init_GDT endp
push eax pushfd
xor eax,eax
mov ax,offset GDT
add eax,00000500h
mov dword ptr [GDTR_ptr+2],eax
cli
lgdt pword ptr GDTR_ptr sti
popfd pop eax ret,программирование,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,OSDev,Операционная

На случай, если тут не всё очевидно, поясню. Мы помещаем в EAX смещение GDT относительно сегмента, а потом добавляем адрес сегмента*16. Это и есть линейный адрес, сохраняем его в структуре. После этого отключаем прерывания, передаём структуру процессору командой lgdt и включаем прерывания обратно. По идее прерывания можно не трогать, так как в 16-битном режиме GDT не используется, но я перестраховщик.

Собственно, на этом всё. Добавьте вызов init_GDT в конец загрузчика перед cli и дело в шляпе. Сегодня без картинки, но вот вам котик.

программирование,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор,OSDev,Операционная система,ассемблер,разработка,длиннопост

Чистая дискета: https://drive.google.com/file/d/1Bold4ds8oEruHQ7fJZKHglVo7A2Vc5MR/view?
Предыдущие части:
Развернуть

gamedev Игры Приключения ведьмы Ежевики разработка point and click adventure сделал сам  

Приключения ведьмы ежевики

Давно ничего не публиковали и тому было множество причин: мы были заняты разработкой чтобы ускорить процесс.
Сами себе поставили дедлайн на 1е июня доделать демку из первой главы игры и сами успешно его... переносим. Так безусловно получилось. Где грань того самого идеального? На чём сказать хватит и перестать пытаться сделать лучше?
Попробуем добавить еще месяц.
Большая часть квестов первой главы собрана, остался код для загадок, паззлов и интерактивных элементов и некоторые недостающие элементы анимации.

Нет, мы не остановились в том что делали, вот немного анимации из игры:
Развернуть

Комиксы проектирование разработка it юмор 

Scrum
Вы хотите сделать подлокотники
Вы запираетесь для работы на один месяц
Вы провалились. На 15-минутном собрании вы решили чать с нуля.
Lean разработка
Вы хотите на Марс (но у вас нет денег)
МЛКТ VIRKUS '1Я
Вы приклеиваете крылья к фейерверку
Вы убеждаете инвесторов, что ракета однажды
Каскадная модель
Agile
Теперь вы уже I
Вы хотите на Марс, наверное
Вы начинаете строить ракету
хотите на Уран
Канбан,Смешные комиксы,веб-комиксы с юмором и их переводы,проектирование,разработка,it юмор

Развернуть

gamedev Игры Blackberry the Witch разработка point and click adventure сделал сам  

Еще одно короткое геймплей видео и краткая история как я облажался

Неделю с лишним это отрисовывали и еще неделю ломал голову над интерактивностью (и производительностью и плавностью и красотой). И в тот момент когда я закоммитил изменения и запушил их в ветку, я понял что я (программист команды) облажался. На заднем фоне на мониторе я увидел это:

’S»4.
О.,gamedev,Игры,Blackberry Witch,разработка,Приключения ведьмы Ежевики,point and click,adventure,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,2д,Blackberry the Witch

Я заметил что на сцене на крючок этого странного почтового ящика не должна действовать гравитация в этом направлении.

Да, оно красиво, но я в пустую ломал голову над тем чего не надо было делать. =/

Развернуть

gamedev Игры Blackberry the Witch разработка point and click adventure сделал сам  

Наша доблестная группа из двух с половиной непричастных к разработке и двух ленивых жопок с котом энтузиастов разработчиков игр в основываемой мною компании во всю борется чтобы успешно просрать все обещанные самим себе и другим людям сроки и дедлайны выпустить игру.

Кто-то скажет: некультурно. На что я отвечу: зато честно.

Ну а пока вот скриншот. Мы занимаемся сборкой квестов первого акта, демо на основе которого планируем выпустить к 1 июня. Так же нас можно найти и поддержать на патреоне.

	
ir	
г - — л \		
	1 ]|‘
1ST	Toly'
		1 1 \ / I \г
А	ilí ч\	
i /П г ^		¿/'
Wí J,,gamedev,Игры,Blackberry Witch,разработка,Приключения ведьмы Ежевики,point and click,adventure,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,2д,Blackberry the Witch
Развернуть

gamedev Игры Blackberry the Witch разработка point and click adventure сделал сам  

Выгоним паука из кладовки?

Итак, сегодня у нас в гостях мистер паукан!

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

gamedev,Игры,Blackberry Witch,разработка,Приключения ведьмы Ежевики,point and click,adventure,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,2д,Blackberry the Witch

Он не такой большой и страшный, да?

gamedev,Игры,Blackberry Witch,разработка,Приключения ведьмы Ежевики,point and click,adventure,сделал сам,нарисовал сам, сфоткал сам, написал сам, придумал сам, перевел сам,2д,Blackberry the Witch

Или смотря как на это посмотреть, да?
Пост с видео по игре.
Развернуть
В этом разделе мы собираем самые смешные приколы (комиксы и картинки) по теме разработка (+189 картинок, рейтинг 1,975.4 - разработка)