C# 3D шутер в консоли / .NET Console 3d fps

preview_player
Показать описание
Процесс создания простой 3д бродилки без дополнительных библиотек на основе технологии Ray Casting

Скачать проект можно по ссылке:

Проект с генерацией лабиринта (нажать пробел):
Рекомендации по теме
Комментарии
Автор

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

starlord
Автор

Great job, everything works great. I would expect these programs run on C ++ or another low-level language, but trying it in C # is not a bad idea. As a big C # fan, your video helped me a lot, thanks :) Czechia

karelhana
Автор

Спасибо за видео. Сделал свою версию в windows forms, и все прекрасно работает. Еще устранил эффект рыбьего глаза и добавил объекты разной высоты.

AndrewPstvt
Автор

Жаль, что не могу поставить сразу 10 лайков! Дружище, ты гений!

wmdtpcc
Автор

Шикарно, просто великолепно) Огромное тебе спасибо, быстро и по делу)) Удачи)

kudesnk
Автор

Пора железо менять! FPS жестко проседает!
спасибо за контент!

mr.lelick
Автор

Спасибо большое! Очень интересно, и без лишней информации.

leozero
Автор

Если перед вами сплошная стена, это нормально - просто координаты игрока равны (0; 0) по x и по y соответственно. Поменяйте их, как в видео, на (3; 3).
Также, если имеется проблема с дёрганой прорисовкой в консоли, это проблема с разрешением в консоли.
Пишите:
Console.SetWindowSize(ScreenWidth, ScreenHeight + 1);
Console.SetBufferSize(ScreenWidth, ScreenHeight + 1);
Поиграйтесь с разрешением в консоли, если мой вариант не помогает.
Надеюсь кому-то поможет.

sausage
Автор

Очень круто!!! Я тоже написал такой шутер, но пошел дальше: я еще и текстурировать стены смог!!!
А в будущем планирую сделать мультиплеер и генерацию каких-нибудь структур.

lbqmznj
Автор

Забавная програмка :) Спасибо! посмотрю :)

eniluck
Автор

Hard type of content to find, especially in C#, thank you for this. I'll try to reproduce here. Cheers from Brazil

ExCyberino
Автор

Почему так мало подписчиков у такого умного человека?

marsik
Автор

Это настолько круто, что у меня просто нет слов

irox_
Автор

3:38 чтобы так выделить нужно зажать ALT

robertjjack
Автор

Круто, однако идти вдоль луча по 0.1 далеко не оптимально. На прямоугольной сетке raycast можно свести к построению линии алгоритмом Брезенхэма, где пикселями выступают блоки. В результате определение пересечения будет на порядок быстрее, а если использовать fixed point, то прям ну очень быстро. Собств-но как оно и было сделано в Wolfenstein 3D.

tarpaha
Автор

Хороший ролик. Идея такой реализации на канале javidx9, он пишет на C++, и подробно объясняет всю физику и математику.

ChaoticWhirl
Автор

Проблема с фпсом из-за того, что ты компилировал в debug'е программу. Но вообще годно, молодец

nicel
Автор

добавлю в библиотеку, повторю как-то:)

volodymyr_o