nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 23:14



Reply to topic  [ 89 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6
Самодельный 3D движок Virtburg 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
Shaos wrote:
Shaos wrote:
P.S. В 2011 году я планировал убрать 3DMap формат совсем и заменить каждый сектор роботом, который будет его описывать программно на языке Robby

в Robby (RW1) применительно для Виртбурга (platform 3) предполагалось переиспользовать команды select и set - select x y выбирала бы клетку сектора для работы, а set задавала бы номер текстуры - причём у set изначально был скрытый второй параметр (по умолчанию 0), который может указывать сторону столбика в клетке, куда мы наклеиваем текстуру (по умолчанию получается что она наклеивалась бы на потолок), а вот объявление текстур в Robby изначально не предполагалось - тут придётся изгаляться, например через команду SAY говорить команды объявления текстур при старте робота типа:
Code:
SAY "\! t0004 gray02 *A0"
SAY "\! t0005 gray01 rama01"
префикс \! будет говорить интерпретатору байткода, что это системные команды, которые идут мимо лога и не выводятся на консоль - вобщем как-то так...

P.S. Я смотрю прямая работа с текстурами всё таки предполагалась - через команды PLANE, COLOR, PIXEL, FILL и TEXT (и наверное CLEAR который в RW1P2 для ZX означал PIXEL цветом фона, а сейчас наверное можно прозрачным цветом номер 0) - другой вопрос, что скажем поточечное зашумление текстуры программно из байткода виртуальной машины будет медленным - так что наверное надо оба варианта доступа к текстурам иметь...

Ещё ведь нужно уметь не только текстуры для кубиков редактировать программно, но и спрайты (которые objects) - скажем обращаясь к ним через отрицательные номера в PLANE...

P.S. Хотя скорее их не редактировать надо, а перемещать в пространстве, а также прятать и снова показывать - cкажем через Robby команду COMMAND:
Code:
A=SpriteID
B=New_x // x*64 (с точностью до пиксела)
C=New_y // y*64 (с точностью до пиксела)
COMMAND @SHOW_SPRITE // показать спрайт в указанных координатах

A=SpriteID
B=New_elevation // z*64 (с точностью до пиксела)
C=New_height // h*64 (видимая высота спрайта)
COMMAND @JUMP_SPRITE // изменить высоту расположения спрайта, а также его видимый вертикальный размер

A=SpriteID
B=Ptr_Text // указатель на память с текстом
COMMAND @NAME_SPRITE // показать имя над спрайтом

A=SpriteID
COMMAND @HIDE_SPRITE // спрятать спрайт

Для начала можно взять старый движок роботов (выпущенный в 2001 с открытыми исходниками как "Robot Warfare 1 Open Game") - там нету всех этих COMMAND, PLANE, COLOR и т.д. но зато уже есть SEND и RECV (для отправки и получения одного целочисленного значения), с помощью которых можно реализовать триггеры, которые по сути те же линки:
Code:
^5,6 http://shaos.ru/vburg/50_51/main.3dm
# а тут мы указали ссылку - в эту дверь можно "выйти"
# и попасть в трехмерный мир в интернете
# (напоминаю, что для того, чтобы ходить
# в интернет нужна программа 3DMap Wanderer).
# Ссылка на карте привязывается
# к координатам - в данном случае (5,6)

^5,12 start.3dm 5 1 90
# кроме того можно в мире, на который ссылаемся,
# поставить игрока в произвольные координаты (здесь - 5,1)
# и направить его под любым углом (здесь 90 градусов)

Для триггеров вместо имени файла с путём можно указать число скажем большее чем 1000, например:
Code:
^5,13 1001

Это будет означать, что если пользователь попытался шагнуть в клетку с координатами 5,13 то система пошлёт широковещательное сообщение с кодом 1001 и все кто может на него реагировать - среагирует (например невидимый робот "ангел" может на это поменять местоположение спрайта двери вызвав SAY("\! o0099 7.5 9.5 0.1 1 door10") несколько раз с разным вертикальным смещением

P.S. более того - триггеры можно и прямо на сях обрабатывать - в коде игры, которая этот движок использует...

_________________
:dj: https://mastodon.social/@Shaos


26 Oct 2020 02:19
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
Размещение двери внутри коридорчика длиной 2, а лучше 3 кубика, спрячет дверь из области видимости, когда игрок не стоит точно напротив неё т.к. плоский спрайт всегда повёрнут лицом к игроку и со стороны будет видно, что дверь вывернута, что выглядит неестественно...

P.S. Сделал видео как это может выглядеть (под спойлером):
 video


Двери можно сделать открывающимися не только по триггеру - висящему на стене выключателю или шаганию в клетку перед дверью, но и по пробелу (как в думе) - или такой способ неестественен? Может лучше пробел отдать под прыжок?...

P.S. Дети просят поддержать W, A, S и D наряду со стрелками для движений - как в майнкрафте или роблоксе по умолчанию...

_________________
:dj: https://mastodon.social/@Shaos


27 Oct 2020 19:35
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
20 апреля 2011 года я оказывается думовского imp-а прикрутил чисто напоглядеть :)

Вот их 100 штук:

Image

Оказывается есть старый проект Freedoom, который много-много лет (c 2001 года) собирал фришные ресурсы для подмены думовской графики (а также звуков и музыки):

https://freedoom.github.io/screenshots.html

Можно для демонстрации возможностей моего движка оттуда что-то подтянуть ;)

Например:


Attachments:
freedoom.png
freedoom.png [ 300.55 KiB | Viewed 8735 times ]

_________________
:dj: https://mastodon.social/@Shaos
29 Oct 2020 00:35
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Можно для демонстрации возможностей моего движка оттуда что-то подтянуть ;)

Это смотря итоговая цель у тебя какая? А то я всё это читаю, но не задаю вопрос, который мы привыкли здесь не задавать. :wink:
Если всё это just for fun - это одна ситуация, а если цель какая-то иная, то и расклад, соответственно, иной.
В том плане - что надо подтянуть, или, может, не надо...

_________________
iLavr


29 Oct 2020 10:59
Profile
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Lavr wrote:
Shaos wrote:
Можно для демонстрации возможностей моего движка оттуда что-то подтянуть ;)

Это смотря итоговая цель у тебя какая? А то я всё это читаю, но не задаю вопрос, который мы привыкли здесь не задавать. :wink:
Если всё это just for fun - это одна ситуация, а если цель какая-то иная, то и расклад, соответственно, иной.
В том плане - что надо подтянуть, или, может, не надо...

Первопередняя цель заопенсорсить движок причесав:
Shaos wrote:
У меня пока задача выкатить движок как есть для локального использования - в виде одного файла virtburg.c и затем уже добавлять возможность онлайнового общения и дописывать новые фичи.
На данный момент практически всё что нужно слеплено в один файл размером 3700 строк (специфические для винды 2000 строк сюда не включены - там работа с DirectX и обработка ответов сервера).
Ещё надо избавиться от нескольких C++ классов, заменив их на структуры и функции работы с ними (всё равно чаще всего у меня эти классы имели только по одному объекту).
Остающиеся снаружи GIF-декодер и класс виртуального диска (используется для чтения слепленных вместе стандартных текстур) также будут убраны до того, как я опубликую исходники...
А далее:

  • выкатить простую игру-стрелялку, показывающую все возможности движка (с ресурсами из Freedoom например);
  • восстановить Виртбург (3D-бродилка с онлайн чатом) с добавлением встроенных игр (головоломки, квесты, стрелялки и т.д.);
  • таки сделать опенсорцную игру про кубообразных роботов задуманную в 2011 :mrgreen:

В процессе достижения последней и предпоследней целей подразумевается добавление в движок виртуальной машины роботов RW1 aka RobbyVM.

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

Attachment:
virtburg-glitch.png
virtburg-glitch.png [ 615.36 KiB | Viewed 8705 times ]


P.S. Параллельная цель - вовлечь своих дочек в GameDev - в основном младшую (10), которая уже сама что-то умеет кодить в Scratch. А старшая (15) хоть и играет в подобные игры, но сама учиться программировать отказывается (несмотря на успехи в математике - пару лет назад входила в лучшие 2% учеников по всем штатам и даже грамоту получила за успехи в учёбе за подписью президента трумпа).

_________________
:dj: https://mastodon.social/@Shaos


29 Oct 2020 14:44
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Порассуждаем над возможными расширениями для объявления объектов (плоских спрайтов), которые сейчас задаются так: oHEXID X Y Z H filename где HEXID это цифровой идентификатор объекта в шестнадцатиричном виде, X и Y - координаты объекта на плоскости (с десятичной точкой), Z - высота объекта над полом (обычно 0, но может быть любым числом с десятичной точкой), H - вертикальный размер объекта (может быть с десятичной точкой) ну и filename - это имя файла (раньше можно было использовать как .txr файлы, так и файлы .gif - сейчас я хочу оставить только .txr). Например: o0099 7.5 9.5 0.1 1 door10
1) так как идентификатор более нигде не используется (на него никто не ссылается и т.д.) его можно опустить, скажем писать o! что будет означать инкремент последнего ID (задание количества объектов через objects можно сделать необязательным - в этом случае объекты будут аллоцироваться автоматически);
2) можно будет давать объектам имена - в таком случае объект будет задаваться как o!NAME и указанное уникальное имя будет видимым над объектом в игре (однако если имя начинается с _ то такое имя будет невидимым) - по такому имени (наряду с ID) можно будет совершать над объектом некие операции через терминал или скрипт;
3) анимированные объекты (плоские спрайты) можно будет задавать путём перечисления имён более чем одного файла через запятую:
o! 7.5 9.5 0.1 1 door10,door11,door12
за которыми может идти частота чередования кадров в секунду (по умолчанию пусть будет 1 смена кадра в секунду) - максимум 18.2 (если указать больше, то оно уменьшится до 18.2), минимум 0 (в этом случае переключением кадров будут заниматься сторонние скрипты);
4) более сложные объекты, которые с разных сторон выглядят по разному (как персонажи в думе), могут отстреливаться, порождать другие объекты (например ракеты) и т.д. надо будет задавать через скрипты, например:
o! 7.5 10.5 0 -1 script
причём четвёртое число, ранее задававшее вертикальный размер объекта, будет теперь отрицательным и его значение должно интерпретироваться как уровень сложности, с которого данный персонаж появляется в данном месте (т.е. -1 будет означать видимость с первого уровня сложности), если логика сделана прямо в программе на языке Си, то имя должно начинаться с символа ^ и ещё одним возможным необязательным параметром после имени может быть числовой идентификатор триггера, который активирует данный объект (даже наверное можно поддержать более чем один триггер для одного и того же объекта или вообще сделать произвольные параметры, передающиеся в код объекта как есть);
5) должна появится возможность задания текстур, картинок для спрайтов и скриптов (в виде байткода роботов) прямо в тексте 3dm-файла (в форматах C, XPM и JSON);
6) надо будет добавить директиву fade, с помощью которой можно будет задавать затемнение (или высветление скажем для имитации тумана) объектов в зависимости от расстояния от игрока: fade COLOR DISTANCE где COLOR это индекс цвета в игровой палитре куда плавно уходят все цвета на расстоянии DISTANCE, например:
fade C0 16
что будет означать, что через 16 клеток все цвета у объектов, стен, полов и потолков будут выглядеть как чёрные (см. для примера скриншоты из 1997 чуть ниже);
7) возможно потребуется директива include (я пока не сильно уверен в её необходимости) и наверное макросы (у которых имена будут начинаться например с символа $).

Image Image

_________________
:dj: https://mastodon.social/@Shaos


30 Oct 2020 03:12
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
7) возможно потребуется директива include (я пока не сильно уверен в её необходимости) и наверное макросы (у которых имена будут начинаться например с символа $).
Можно наряду с include поддержать условную интерпретацию 3dm-файла - скажем добавить директивы препроцессора, которые начинались бы с %
Code:
%include filename
%define name something
%if name=something
...
%elseif name=somethingelse
...
%else
...
%endif
и по ходу пьесы макросы можно использовать в виде $name (чтобы легко можно было их выделить в тексте при парсинге).

Кроме того переменные можно разрешить задавать извне, как параметры урла - например http://virtburg.com/50_50/room.3dm?level=10&floor=green

Ну и разрешить файлы внутри 3dm-файла тоже через тот же препроцессор заводить:
Code:
%file filename
....
%endfile

Но это конечно всё сильно потом - сначала надо заопенсорсить с теми фичами, что есть...

_________________
:dj: https://mastodon.social/@Shaos


31 Oct 2020 18:44
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
AlexanderZh wrote:
А это будет по мотивам "соцсетей"? Может получится весьма интересно.

А что значит "по мотивам соцсетей"? Виртбург был 3D онлайн-чатом - там можно было ходить и общаться путём печатания текста (через сервер)

Нашёл видео, которое я сделал в январе 2003 (почти 18 лет назад ещё будучи в Екатеринбурге) из 1200 скриншотов от клиента Виртбурга в процессе блуждания по виртуальному городу - там даже видно гуляющих персонажей и сообщения ;)

 VIDEO2003


P.S. Вот нашёл прекрасную референс-картинку Берлина для имитации в будущем киберпанковском Виртбурге :oidea:

Attachment:
NightFogCity.jpg
NightFogCity.jpg [ 145.77 KiB | Viewed 8602 times ]


P.P.S. Яркости серого цвета на небе такие (на оригинальной фотке ещё и цветные отблески есть, но в моей палитре 256 цветов сильно муторно будет это повторять):

Attachment:
NightFogCityGrays.jpg
NightFogCityGrays.jpg [ 20.5 KiB | Viewed 8600 times ]

Перевод серого в цвета моей игровой палитры из серого диапазона (C0...FF):
Code:
#000000 -> C0
#101010 -> C4
#202020 -> C8
#303030 -> CC
#404040 -> D0
#505050 -> D4
#606060 -> D8
#707070 -> DC
#808080 -> E0
#909090 -> E4
#A0A0A0 -> E8
#B0B0B0 -> EC
#C0C0C0 -> F0
#D0D0D0 -> F4
#E0E0E0 -> F8
#F0F0F0 -> FC
(это только 16 цветов из 64 для демонстрации - промежуточные цвета получаются по аналогии - 0xC0+Y/4)

Соответственно цвета неба должны идти от #404040 (D0) до примерно #7С7С7С (DF), а здания вдалеке должны быть темнее чем #404040 (D0) чтобы оставаться видимыми...

_________________
:dj: https://mastodon.social/@Shaos


01 Nov 2020 01:07
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Кстати в обновлённом движке можно попробовать неевклидовые трюки вот из этих видеороликов :)


https://youtu.be/kEB11PQ9Eo8


https://youtu.be/W2xVJhcfkRY

_________________
:dj: https://mastodon.social/@Shaos


04 Nov 2020 22:30
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Post Re:
Shaos wrote:
Shaos wrote:
Посидел я в гимпе (линуксовый клон фотошопа) и сваял прототип интерфейса:

Image

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


Так будут какие-то замечания, предложения? В основном по нижней панели - что туда можно отображать? С верхней панелью всё понятно - в левой части будет типа терминал - для подачи внутренних команд и печати ответов, а в правой - лог радиопереговоров роботов, находящихся на этом уровне. По нижней панели - слева экран карты местности, справа - экран видеосвязи, в который например может выводится то, что снимается камерой на ракете, а также туда можно подключать вид сзади, слева или справа. В середине голова робота-андроида - возможно отображающая степень разбитости (как в думе). Слева - проценты энергии и вертикальный прогрессбар (здоровье=энергия). Понятие ARMOR я применять не буду. Справа вертикальный прогрессбар показывает кол-во основого оружия роботов - ракет. Ещё у робота есть пистолеты (как на картинке) - количество патронов планирую не ограничивать либо ограничивать каким-то большим числом типа 999. Также планируются гранаты (потом). Справа мелко хочу писать кол-во каждого из оружий. Ещё можно отображать часы - показывающие сколько часов-минут-секунд прошло с момента начала игры и с момента входа в уровень. Ещё предложения есть?

Снова попробовал примерить пистолеты из 2011 года:

Attachment:
rw3d-new-concept.gif
rw3d-new-concept.gif [ 147.7 KiB | Viewed 8526 times ]


Наверное поверх 3D рендерера в произвольном разрешении (с коррекцией соотношения сторон для широкого экрана) будет плоская поверхность 640x480 (как в старом клиенте Виртбурга) для показа окна чата, пистолетов, энергии, количества патронов, карты, консоль - которая всегда будет растягиваться под нативное разрешение экрана - например для реального разрешения 640x480 (с соотношением сторон 4:3) левый край и правый край откусятся:

Attachment:
rw3d-new-concept.jpg
rw3d-new-concept.jpg [ 178 KiB | Viewed 8526 times ]

соответственно всё информативное надо сохранять в этом прямоугольнике...

P.S. Имя "Robot Warfare 3D" по видимому надо бросить ибо пару-тройку лет назад вышла игра для телефонов с подобным названием:


https://youtu.be/yY8IpxKLLNE

Судя по текстурам домиков подумалось, что это российская игра - посмотрел и точно :mrgreen:
Quote:
Azur Games is an international mobile game developer and publisher. Founded in 2017 with and headquartered in Larnaca (Cyprus), today its offices can be found in Russia, Belarus and UAE.

Интересно, а её авторы знакомы с моей игрой "Robot Warfare 1" (1998,2000) и видели ли мои эксперименты 2002 года (я помниться засылал эти демки в какую-то игроделательную рассылку тогда) из которых могла бы вырасти своя "Robot Warfare 3D", если бы я это дело не забросил?

Image Image


P.P.S. Нашёл в архивах картинки покрупнее от 10 августа 2002 года - это более ранний OpenGL тест ещё без панорамы:

Attachment:
3d1.png
3d1.png [ 468.64 KiB | Viewed 8409 times ]


Attachment:
3d2.png
3d2.png [ 239.21 KiB | Viewed 8409 times ]


Attachment:
3d3.png
3d3.png [ 242.33 KiB | Viewed 8409 times ]



P.P.P.S. Я модель этого робота в 2000 году сделал в 3D-редкаторе для Quake который назывался WINQOOLE (там очень понятные текстовые форматы 3D-моделей, которые я потом сконвертировал в свои программы) - вот как демоуровень с этими же роботами выглядит из кваки:

Attachment:
qrobots.jpg
qrobots.jpg [ 182.69 KiB | Viewed 8360 times ]

_________________
:dj: https://mastodon.social/@Shaos


08 Nov 2020 23:52
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
Остающиеся снаружи GIF-декодер и класс виртуального диска (используется для чтения слепленных вместе стандартных текстур) также будут убраны до того, как я опубликую исходники...

Всё - выкинул поддержку виртуального диска VDS (мой собственный формат склеенных вместе файлов, выдуманный в 1996 году) и чужой GIF-декодер (точнее перенёс декодер во внешнюю утилиту для конвертирования GIF в TXR: https://gitlab.com/shaos/virtburg/-/blob/master/tools/gif2txr.c, сконвертировав все GIF-ы что оставались в TXR-ы) - пока движок всё также получается чуть больше 3700 строк. Теперь надо панорамы с GIF на JPG перевести (потребуется задействовать jpeglib для этого - причём он уже есть в линухе), попутно переделав фотканье экрана по кнопке F2 с TGA тоже на JPG (может быть JPG-текстуры тоже поддержать наряду с TXR?), а также прибить последнюю пару C++ классов и выложить наконец virtburg.c

P.S. Хотя наверное фотканье экрана надо сдвинуть в более старшие функциональные клавиши, например F5, а клавишу F2 использовать для сохранения состояния игры и F3 соответственно для загрузки сохранённого (как в думе). Я в 2011 году планировал сохранять бинарный блоб состояния движка, куда бы сбрасывались все внутренние структуры как есть (типа сериализация) - после этого этот блоб мог бы грузиться и играться даже без остальных файлов! Другой момент, что если уровень игры закончился, то надо будет откуда-то подгружать следующий уровень - тогда снова будут нужны исходные файлы карт и текстуры для следующего уровня. Возможно надо предусмотреть сериализацию неиспользванных файлов тоже - тогда игра может жить в блобе (и распространяться как движок+блоб), а изначальный набор исходых карт и текстур может быть лишь "исходниками" которые никуда не отдаются после такой "компиляции" (сериализации в блоб). Сериализацию можно прогонять через zlib, чтобы уменьшить размер файла. Расширение можно скажем сделать .vbb (Virtburg BloB) :mrgreen:

P.P.S. Попутно проверил работу движка в полном HD-разрешении 1920x1080 - выдает 30 с небольшим FPS на моём AMD64 компе. Наверное надо принять это разрешение как максимально возможное - тогда максимальный горизонтальный размер панорамы будет 1920*8=15360 пикселов (8 потому что горизонтальный угол обзора у меня сейчас установлен в 45 градусов, соответственно все 360 это 8 раз по столько). Если панорама меньше, то она будет растягиваться линейной интерполяцией прежде чем будет преобразована в мою игровую палитру. Высота панорамы не должна превышать тройной высоты экрана (выше просто не удасться задрать голову в текущей версии движка) или максимум 1080*3=3240 пикселов. Если панорама ниже по высоте, то верхняя и нижняя строчки просто будут копироваться выше и ниже доступной картинки, причём середина панорамы всегда будет считаться линией горизонта.

P.P.P.S. Вот нашёл на старых дисках оригинал панорамы сгенерированной мною в какой-то ландшафтной программе 20 лет назад, который впоследствии после ручной подгонки под мою игровую палитру превратился в задний фон Виртбурга (ниже уменьшенная картинка с оригинальных 2880 до 1000 пикселов по горизонтали):


Attachments:
oldback1000.jpg
oldback1000.jpg [ 34.63 KiB | Viewed 8389 times ]

_________________
:dj: https://mastodon.social/@Shaos
17 Nov 2020 02:14
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Чото забросил я это дело 2.5 года назад так и не допилив сырцы и не выложив под MIT-лицензией - надо найти время допилить и таки выложить...

_________________
:dj: https://mastodon.social/@Shaos


30 Apr 2023 22:00
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Shaos wrote:
Я модель этого робота в 2000 году сделал в 3D-редкаторе для Quake который назывался WINQOOLE (там очень понятные текстовые форматы 3D-моделей, которые я потом сконвертировал в свои программы) - вот как демоуровень с этими же роботами выглядит из кваки:

Image

А вообще было бы кому-то интересно, если бы я выложил BSP-файлы этих карт для первой кваки?

Attachment:
quake_006.png
quake_006.png [ 392.32 KiB | Viewed 3052 times ]


Там были вполне играбельные уровени (правда без выхода), сделанные в декабре 1997:

Attachment:
quake_004.png
quake_004.png [ 86.85 KiB | Viewed 3052 times ]


Основа была сделана с помощью программы, превращающей чёрно-белый BMP-файл в карту:

Attachment:
quake_003.png
quake_003.png [ 109.8 KiB | Viewed 3052 times ]


И далее уже в редакторе для уровней кваки я добавлял всякие штуки типа лестницы на крышу:

Attachment:
quake_001.png
quake_001.png [ 103.74 KiB | Viewed 3052 times ]


И по этой лестнице можно было взобраться и походить по тёмной крыше после того как убил всех врагов :)

Attachment:
quake_002.png
quake_002.png [ 41.91 KiB | Viewed 3052 times ]


И я даже сделал модель лестничной клетки с квартирой моей бывшей жены (точнее её родителей) и ещё двумя квартирами рядом - все с монстрами (файл создан 2 января 1998 года) :lol:

Attachment:
quake_005.png
quake_005.png [ 67.21 KiB | Viewed 3052 times ]


Надо чтоли видео прохождения квартирного уровня выложить :lol:

_________________
:dj: https://mastodon.social/@Shaos


28 Dec 2023 20:48
Profile WWW
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22416
Location: Silicon Valley
Reply with quote
Выложил видео неполного прохождения квартирного уровня (меня там в конце всё-таки убили соседи бывшей) :no:


https://www.youtube.com/watch?v=EmiE4VHr92w

P.S. Вот все мои карты для первого квейка: http://shaos.net/files/MYQUAKE.ZIP (404K)

_________________
:dj: https://mastodon.social/@Shaos


07 Jan 2024 18:19
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 89 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6

Who is online

Users browsing this forum: No registered users and 36 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.