nedoPC.org

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



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

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Наверное пришло время умертвить проект - заниматься Виртбургом нет времени...


После очередного возвращения дума в мою жизнь, снова потянуло к своему 3D-движку (на основе которого крутился Виртбург) - надо чтоли его допилить и приделать к чему-то полезному...

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


17 Feb 2011 15:47
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Мысли по возрождению 3D движка (который уже поддерживает SDL):
- переписать с C++ на C (чтобы собиралось под большее кол-во платформ и компиляторов, включая 16-битные и без floating point)
- добавить SDL звук (или mikmod), причём стерео!
- добавить скриптование на RW1 (со встроенным отладчиком и т.д.)
- добавить возможность редактирования уровней непосредственно в 3D
- добавить возможность стерео-отображения с помощью красно-зелёных очков
- насоздавать уровней
- насоздавать ботов
- написать документацию
- выпустить под GPL (залив на github.com)

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


Last edited by Shaos on 21 Feb 2011 00:48, edited 5 times in total.



18 Feb 2011 08:12
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
А смысл потраченного времени и усилий? - Only just for fun?
Или считаешь - может где пригодиться?


18 Feb 2011 13:18
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
А смысл потраченного времени и усилий? - Only just for fun?
Или считаешь - может где пригодиться?


мне как раз и жалко УЖЕ потраченного времени и усилий - я этот 3D-движок пилю как минимум с 1998 года

потом под SDL олдскульных софтверных 3D-движков не так уж и много - кому-то может и пригодиться...

кроме того можно этот 3D-движок позиционировать как недо-движок для недо-девайсов на которых нету OpenGL :)

ну и к тому же теперь это будет опенсорц под GPL (раньше был клозесорц с некоторым кол-вом открытого кода)

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


18 Feb 2011 15:52
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
А смысл потраченного времени и усилий? - Only just for fun?
Или считаешь - может где пригодиться?


мне как раз и жалко УЖЕ потраченного времени и усилий - я этот 3D-движок пилю как минимум с 1998 года


Посмотрел архивы - начал я пилить свой движок в марте 1997 года. Поначалу экспериментировал с алгоритмом из книжки "Компьютерная графика" (который рисовал лишь одноцветные стены):

Image

Сначала я раскрасил перпендикулярные стены в 2 разных цвета:

Image

А потом наклеил на стены текстуры:

Image

Потом переписал с нуля алгоритм и началось - вот скрины моих тестовых программ за 1997 год:

Image Image Image Image Image Image Image Image Image

Как видно я кое-что из дума подтянул ради эксперимента ;)

Скрины за 1998 год (реальный 3D-объект, рост вверх и туман):

Image Image Image Image Image Image Image Image Image

В 2000 году на базе этого движка был рождён Виртбург:

Image Image Image Image Image Image Image Image Image Image Image Image Image Image

а в 2002 году развитие Виртбурга по сути остановилось:

Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image Image

P.S. ещё в 2002 году я немного поэкспериментировал с OpenGL:

Image Image

но это была тупиковая ветвь развития...

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


Last edited by Shaos on 25 Feb 2011 18:32, edited 1 time in total.



20 Feb 2011 23:54
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Пока решил развивать движок в сторону гипотетической игры "Robot Warfare 3D", в которой по карте будут бегать роботы, управляемые программами на языке RW1:

Image

P.S. Картинка частично отрендерена моим движком, а частично подрисована в гимпе

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


21 Feb 2011 00:36
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Есть такое ощущение, что разрешение маловато... нет?
Грубовато рендеринг смотрится...
А ОпенГЛ тебе за кратные степени 2 матрицы не понравился?


21 Feb 2011 08:35
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Есть такое ощущение, что разрешение маловато... нет?
Грубовато рендеринг смотрится...


раньше разрешение скрина было 320x200, а теперь - 800x600
размер текстуры на один кубик - 64x64 (а у куборобота - 40x40, чтобы мог визуально гладко протискиваться по коридорам шириной 64, а также вертеться)

Lavr wrote:
А ОпенГЛ тебе за кратные степени 2 матрицы не понравился?


мне оно не понравилось т.к. там уже много чего кем понаделано и соревноваться водиночку собственно бессмысленно, а софтверный рендеринг - это искусство+математика :)

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


21 Feb 2011 10:09
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Image


вот та же карта, но в обновлённом движке:

Image

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


23 Feb 2011 22:40
Profile WWW
Doomed
User avatar

Joined: 05 Nov 2007 05:08
Posts: 487
Location: Украина
Reply with quote
Post 
класс!


23 Feb 2011 23:44
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Shaos wrote:
Мысли по возрождению 3D движка (который уже поддерживает SDL):
- переписать с C++ на C (чтобы собиралось под большее кол-во платформ и компиляторов, включая 16-битные и без floating point)
- добавить SDL звук (или mikmod), причём стерео!
- добавить скриптование на RW1 (со встроенным отладчиком и т.д.)
- добавить возможность редактирования уровней непосредственно в 3D
- добавить возможность стерео-отображения с помощью красно-зелёных очков
- насоздавать уровней
- насоздавать ботов
- написать документацию
- выпустить под GPL (залив на github.com)


Внимательно перечитал свой код - про 16-битную компиляцию и отсутствие floating point придётся забыть - от плавающей точки там так просто не избавиться...

Ещё из мыслей:
- вместо языка описания 3D-карт 3DMap (файлы с расширением .3dm) разработать более вменяемый синтаксис с объектным подходом
- светотени станут программными (до сих пор затемнение или высветление сторон кубов приходилось прописывать в 3dm-файле путём заведения тёмных или более светлых версий одной и той же текстуры)
- появится возможность наклеивать на стены кубов разные текстуры друг над другом (до сих пор на одной стороне повторялась одна текстура)
- вернуть в движок туман, полумрак и реальные 3D-объекты (пока лишь с одноцветными гранями без текстур)
- входным файлом для движка вместо исходного кода 3D-карты будет монолитный бинарный файл, скомпилированный из исходника и включающий все необходимые текстуры и байткод скриптов (до сих пор монолитный файл VDS использовался только лишь как хранилище стандартных текстур)
- любая поверхность внутри игры может быть модифицирована по ходу, например забрызгана кровью, изрешечена пулями или разукрашена
- сохранение игры создаст новый монолитный бинарный файл, который даже может играться без оригинального бинарного файла игры
- кроме того этот сохранённый файл будет содержать записть всего происходящего до момента сохранения с возможностью проиграть "видео" с различных точек зрения, либо запустить это как демо (как вдуме)
- допускается возможность наличия в природе коммерческих бинарных файлов с игровыми уровнями, распостраняемыми отдельно от опенсорцного GPL движка

Shaos wrote:
Сегодня моя ребетёнка (в августе будет 4 года) с интерeсом бродила по Виртбургу и когда я показал ей секретную комнату в "Валютном Козлино" попросила сделать ещё ;)


P.S. Сегодня со своей уже пятилетней дочкой (в августе будет 6) создавали уровни - она рисовала на бумажке что она хочет увидеть, а я описывал в 3dm :roll:

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


Last edited by Shaos on 17 Apr 2013 19:07, edited 1 time in total.



27 Feb 2011 00:29
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Реанимирую свой виртуальный город Virtburg, родившийся в октябре 2000 года
Кстати, народ туда до сих пор регистрируется по 2-4 человека в месяц...

Я тоже смотрел, но вроде не регистрировался... Удивился еще - зачем
тебе это, но теперь, конечно, понятно.


27 Feb 2011 07:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Померял с секундомером скорости - если принять, что высота (и ширина) одного куба (один этаж) составляет около 2 метров, то игрок ходит со скоростью 17 км/ч, а бегает - со скоростью 50 км/ч (стометровку с такой скоростью можно пробежать за 7.2 секунды)

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


27 Feb 2011 10:14
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
Сделал имитацию робота, пользуясь набором спрайтов:



P.S. У ютюба появилась опция замены звука на песенку из списка - выбрал кую-то металлическую группу - вроде подходит ;)

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


28 Feb 2011 00:09
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22411
Location: Silicon Valley
Reply with quote
Post 
А нос пожалуй длинноват - укорочу...

P.S. Вчера исправил проблему перевода чисел с плавающей точкой в целые из-за которой середина любого спрайта имела размазанную двойную точку во всех горизонталях (+0.9 переводится в 0, однако -0.9 тоже переводится в 0, поэтому отрицательные числа надо смещать на 1), а сегодня исправил проблемы отображения по вертикали - съедание верхней горизонтали и щели между вертикальными спрайтами (их на видео видно).

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


28 Feb 2011 20:19
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 89 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: Mondx and 20 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.