Войти
ФлеймФорумПроЭкты

Floating Islands (83 стр)

Страницы: 182 83 84 85119 Следующая »
#1230
(Правка: 11:49) 11:49, 2 фев. 2020

war_zes
> как ты выведешь марио на экран если у тебя нет ни одной строчки кода кроме int
> main()?
хотя бы так "drawing sprites with the windows gdi"
там на вскидку 20 строк кода


#1231
11:58, 2 фев. 2020

Вий
> Это терминальная стадия NIH.
мммм

#include "engine/easy.h"
using namespace arctic;  // NOLINT
using namespace arctic::easy;  // NOLINT
где же тут подвох... хм... А теперь давай ты тоже без движка, передеаешь свой тетрис

forwhile
> там на вскидку 20 строк кода
и потом все равно их переписывать, только вот из-за обилия костылей оно настолько врастет в код что потом легче всё выкинуть чем пытаться исправить...

хорошо, вот давай по другому - выводим спрайты через gdi (да или даже через sdl render)... а потом встала задача - динамическое 2д освещение на шейдерах (потому что оно требуется по геймплею, который отличается днем или ночью). А у тебя софтвар и никак ты к нему шейдеры не прикрутишь. Придется переделывать рендер, переделывать спрайты, там еще и шрифты отвалятся - и очень много переделывания.

Я уже это все проходил, больше я таким способом ничего не делаю

#1232
(Правка: 12:13) 12:06, 2 фев. 2020

У меня в движке все начиналось с такого спрайта (это реально из кода):

"float4 main( VS_OUTPUT input ) : SV_Target { float4 _color; if(input.Pos.x > rect.x && input.Pos.y > rect.y && input.Pos.x < rect.x + rect.z && input.Pos.y < rect.y + rect.w) { _color = float4(color.x, color.y, color.z, 1.0f); }else{_color = float4(1.0f, 1.0f, 1.0f, 0.0f);} if(input.Pos.x > rect.x + 1 && input.Pos.y > rect.y + 1 && input.Pos.x < (rect.x + rect.z) - 1 && input.Pos.y < (rect.y + rect.w) - 1) { _color = float4(1.0f, 1.0f, 1.0f, 0.0f); } return _color; }\n"
FS квады рендерились друг на друга и получалось что-то вроде
Изображение
А гуи уже было (MyGUI), были так же обработка ввода вплоть до джойстиков(тоже библиотека), объекты, сцена и коллизии, класс игры где все это взаимодействовало. Звуки были на сишном Beep. С таким набором можно было уже делать любые игры, я даже тестил изометрию на всем этом. Последнее, что изменилось в движке это как раз эти пресловутые спрайты, сделал лайн рендер и вскоре забил на 2д.

#1233
12:11, 2 фев. 2020

gms
> У меня в движке
ага-ага, и этот шейдер у тебя грузится прямо из main. и никакого другого кода не надо....

#1234
12:12, 2 фев. 2020

Вий
> > ничего не делаю
за полтора дня написано с нуля около 2к строк кода (ну на вулкан слишком много кода надо, да)

#1235
12:19, 2 фев. 2020

war_zes
> ага-ага, и этот шейдер у тебя грузится прямо из main. и никакого другого кода
> не надо....
Шейдер грузился из сцены, в которую передавался контекст из класса игры, а игре он передавался и класса Application, который уже запускался в мейне))

#1236
12:20, 2 фев. 2020

Вий
Что стало с Похерительницей?

#1237
12:40, 2 фев. 2020

gms
> Шейдер грузился из сцены, в которую передавался контекст из класса игры, а игре
> он передавался и класса Application, который уже запускался в мейне))
ну вот видишь - нужна сцена, нужен контекст, нужен Application - это все ведь тоже надо писать. При том что и сам шейдер тоже работает через какой-то класс, и для него нужна обвязка с каким-то GAPI, плюс еще надо чем-то загрузить из файла текстуру... И вот уже дохрена работы, при том не связанной с игровой логикой.. А люди мне тут заявляют что все не так и всё это не нужно.

я это сейчас и пишу. Прошло всего полтора дня от старта.

Да, можно взять готовый движок.... сколько времени надо чтобы изучить движок? Сколько времени потом еще надо чтобы бороться с нюансами этого движка? И вот тоже не быстрее получается

Да, можно было спрайты вывести через софтварный SDL... но потом мне все равно понадобится попиксельное освещение (см римворлд) - и пришлось бы все также переписывать весь рендер, только вот написать с нуля проще чем пытаться переписать (просто когда-то давным давно я пошел по этому пути "сейчас набросать на том что есть, потом переделать", а потом мне понадобилось что-то там сделать с вращением - мне говорят, на матрицах все на изи делается... но вот только какие к черту матрицы если у меня только пиксели и экранное пространство (у меня там даже флоатов не было, все координаты в целых числах)? пришлось выкинуть весь код и пойти изучать OGL/DX

Вий
> А поиграть в него нельзя
но этот код нужен.

#1238
12:45, 2 фев. 2020

О как, нашел целую длл от движка, только в этом билде я уже вместо ректов перешел на кружочки))
b2014 | Floating Islands
Я к тому, что в первый месяц можно забить на спрайты или звук, делать игру в консоли, или в gtest.

#1239
12:48, 2 фев. 2020

Вий
> Не нужен до тех пор пока в него не играют
ну по факту в твой тетрис тоже играть не будут

#1240
12:49, 2 фев. 2020

p.s. если вдруг что - сейчас я как раз занимаюсь кодом который будет выводить спрайты на экран (и если успею - шрифты)

#1241
13:34, 2 фев. 2020

war_zes
> времени надо чтобы изучить движок? Сколько времени потом еще надо чтобы
> бороться с нюансами этого движка?
Меньше чем тратишь ты

#1242
13:50, 2 фев. 2020

Да уж. Все по кругу. Сколько было уже оберток написано... Возьми GodotEngine и делай себе 2D игру спокойно. Разбираться совсем не трудно.

#1243
14:40, 2 фев. 2020

war_zes
Почему ты не делаешь первую итерацию игры к консоли, используя пчевдографику или что то подобное?

#1244
16:04, 2 фев. 2020

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

рендер будет скорее всего на сдл, но уже завтра

Страницы: 182 83 84 85119 Следующая »
ФлеймФорумПроЭкты