forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Пишем 3D движок - замену Xors3D (http://forum.boolean.name/showthread.php?t=18971)

bugway 25.02.2014 19:12

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от HolyDel (Сообщение 275320)
как подключить к пурику библиотеки?
всякие там фритайпы да злибы.
плюсы выбирают не из-за языка, а потомучто к ним библиотек немерено.

если в PureBasic нельзя подключить стандартные DLL библиотеки - то в топку такой язык. Все нормальные языки умеют использовать DLL библиотеки. В том числе блиц, для которого и делался Xors3D. Вместе с библиотекой DLL распространяются также заголовочные файлы (headers), которые содержат описание импортируемых функций. Вся Windows по сути большой сборник библиотек DLL (которые можно использовать на многих языках). Суть - сделать такую библиотеку.

PS. A на Purebasic библиотеки цеплять можно!
С их сайта:

Цитата:

- Access to full OS API for advanced programmers
- Easy but very fast 2D game support through dedicated libraries (DirectX, SDL, ...)

Knightmare 25.02.2014 21:10

Ответ: Пишем 3D движок - замену Xors3D
 
Вся эта затея имеет смысл только в том, чтобы получить опыт работы с GAPI, например. Но в реалиях этого вашего бейсика опыт будет бесполезен чуть более чем полностью. Ну и если смотреть на вещи реально, то чтобы лепить куличики в песочнице хватит и дряхлого блитза, а все эти ващи типа "ололо, будут шейдеры и вообще все охуенно" не взлетают, я проверил, лол. В конце-концов есть сраный Юнити, и если выбраться из своей зоны комфорта и потыкаться в шарпы, то ВНЕЗАПНО окажется что лабать говно на них не сложнее чем на бейсике (да еба, говно с одинаковой эффективность лабать можно и на плюсах), но зато есть куда расти и хоть какие-то перспективы.
Суть в том, что блитзоюзеры только кричали что вот если им дать шойдеры, то они захватят мир и все дела, когда они их получили, то ВНЕЗАПНО поняли что это нихера не тривиальная штука и нельзя просто сказать - "ДВИЖОГ, ЗОПЕЛИ МНЕ БЛУМ, МОУШЕНБЛЮР И ПАРАЛЛАКСМАППИНГ БЫСТРОБЛЯТЬ" и оно все заработает быстро и идеально на любой сцене с любым контентом и т.д. и т.п. Все это говно требует знаний графического конвеера и каких-либо допилов для частных случаев. Тащем-то можно выдать и универсальное решение, но универсальные орешения всегда сильно медленнее частных, потому что учитывают овер9000 вариантов использования долбанутыми на всю голову юзерами (и блджад всегда найдется еще 100500 вариантов которых не учли, но они прям очень и очень нужны 3.5 пользователям твоего движка).
По итогу всей возни реально шейдеры осилило пара десятков человек, остальным даже не хватало сил внести малейшие правки самим. Это не добавляет мотивации при разработке.

Цитата:

Судя по обсуждениям только одного форума о Xors3d - все хотят продолжения поддержки движка, т.к. он очень простой. Но до сих пор НИКТО не предложил сделать аналогичный движок.
Да не нужно это никому на самом деле, достаточно того что есть чтобы играть в гамедевилопиров.

Цитата:

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

Цитата:

Кстати Knightmare вроде собирался что то делать только не для блица. Есть инфа?
Планы были, наработки были, но потом было решено это дело свернуть, т.к. перспектив никаких. Хотя в моменты лютчайщего будапешта от юзания кокоса возникает желание возродить последний проект кроссплатформенного 2D движка (3D на мобилках никому особо не упало, а остальное меня сейчас не интересует).

Цитата:

Цель - сделать движок с рендером DX9/10/11 с продуманной архитектурой и совместимый со всем, с чем только можно.
Не нужно.

Цитата:

Выбор языка PowerBasic 10 обусловлен следующим:

+ Простой синтаксис языка
+ Мощь и возможности Си (+ есть встроенный ассемблер, 17 типов данных!!!)
+ Чисто нативный код без виртуальных машин
+ Поддержка классов, COM, и.т.п.
+ самое главное: есть готовые заголовочные файлы для ВСЕГО WIN32API!!! Включая DX9/10/11!!!
В двойне не нужно.

Цитата:

Думаю если человек реально собрался выпускать игру на всех платформах - ему НЕ НУЖЕН движок уровня Xors3D, т.к. это уже совсем другой уровень.
Для написания очередного клона Flappy Bird и прочей казуальщины более чем, а это большая часть рынка.

Цитата:

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

Цитата:

Хотя чем и интересен именно PowerBasic - он позволяет делать все тоже самое, что и на Си - только намного проще и код намного более читабельный и понятный.
Шта? Для меня, как для С++ разработчика, твой кусок кода выглядит полным пиздецом, от обилия капса аж глаза начинают кровоточить.

Цитата:

Не думаю, что кто-то будет иметь желание ковыряться в чужом коде Си. Особенно Си++.
Обычное дело, это вообще не должно быть хоть какой-то проблемой для нормального разработчика, тем более при командной работе. Ну и еба, С++ это же не Perl:-)Откуда такие фантазии о его неебической сложности?

Цитата:

От сообщества поклонников Xors3D требуется список фич, которых не хватало в Xors3D.
Кто был серьезно заинтересован разработкой - давно свалил с бейсиков. Оставшимся все твои потуги не нужны.

moka 25.02.2014 21:40

Ответ: Пишем 3D движок - замену Xors3D
 
Ещё 2 копейки:

Рассмотри логику разраба: Я знаю С++, пойду искать двиг под С++.
Я знаю Blitz и только (таких единицы), пойду искать двиг, О Xors3D (мёртв), так бля, чё там ещё, PureBasic? Уф.. Учит значит новый язык, и ещё движок. Ну думаю о качестве излагаемого кода таким самоучкой можно и не говорить..

Есть PureBasic разраб, погодите, только их практически нет.

Так что я не совсем вижу на какую аудиторию ты целишься?
Вот глянь:
http://www.outracks.com/
http://www.godotengine.org/wp/
https://unity3d.com/
https://turbulenz.com/
И ещё десятки, и они умеют на все платформы. Многие из них на очень популярных языках, и с большими комьюнити.
Либо вы предлагается что-то новое и что потенциально имеет свой рынок, либо смысла очень мало суваться.

Опыт? Думаю Knightmare прав - опыта будет мало.
Я с 15 на блице сидел, на Xors3D один из первых шейдеры начал писать на нашем комьюнити, и тогда уже .Net учил, и PureBasic немного, и так вот тыкался до 19. А когда в 20 лет пошёл на работу разрабом на сраном PHP над сраными проектами (без опыта кодинга на PHP), то понял - вот теперь пора начать учиться.
С тех пор уже как более 4 лет, в разных компаниях учусь, и думаю только так стоит учиться, при этом если компания в которой работаешь не способствует твоему развитию интересными проектами и коллегами - то стоит менять пока молодой.

Сидя дома, да можно что-то замутить, но сегодня таких уже очень много, следственно "шанс" чего-то дельного без реального конкретного плана, анализа риска и людей по интересам изначально - далеко не уйдёшь, и опыта будет не много.
У нас на форуме этот паттерн с как минимум 3 людьми повторялся, далеко не ушли.
А кто-то и збсь пошёл (HolyDel, Knightmare, jimon).

St_AnGer 25.02.2014 23:33

Ответ: Пишем 3D движок - замену Xors3D
 
Ещё одна копейка в сторону выбора С/C++ (да и вообще любого человеческого ЯП):
Когда мне поднадоел блиц я качнул исходники Quake2 (idTech2 engine, да, не самый сложный проект). И, внимание... Абсолютно не зная синтаксиса и принципов языка C (никогда до этого не притрагивался к нему), я относительно спокойно разобрался в коде (большинстве его мест). Потому что он хорошо организован и читаем, хоть и с минимальным количеством комментариев. К чему я это? Да к тому, что читаемый и понятный код можно написать на ЛЮБОМ языке, и если человеку надо разобраться в любом коде - он разберётся в нём. Си как таковой язык не сложный, если пользоваться им на уровне того же бейсика. Но все его плюшки как раз раскрываются именно при изучении сложностей :)
Минус бэйсиков как таковых - они не нужны, кроме как для обучения основных принципов программирования в школе/техникуме/колледже (может быть с ОГРОМНОЙ натяжкой Visual Basic и нужен).
Ну и да, даже твой код на PowerBasic не так читаем простому смертному, как ты думаешь (для меня код на С++ понятнее был бы в разы, чем это; плюсом постоянный капс лок... фу таким быть).
Разумеется, это всё ИМХО и мне интересно посмотреть во что это выльется в дальнейшем, если конечно работа пойдёт дальше.

moka 26.02.2014 03:49

Ответ: Пишем 3D движок - замену Xors3D
 
Да и если вы в приоритет ставите опыт - то С++ - там опыта много, и полезный, т.к. игровой индустрии именно С++ разрабы нужны.

bugway 26.02.2014 09:14

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от St_AnGer (Сообщение 275348)
... читаемый и понятный код можно написать на ЛЮБОМ языке, и если человеку надо разобраться в любом коде - он разберётся в нём. Си как таковой язык не сложный, если пользоваться им на уровне того же бейсика. Но все его плюшки как раз раскрываются именно при изучении сложностей :)
Минус бэйсиков как таковых - они не нужны, кроме как для обучения основных принципов программирования в школе/техникуме/колледже (может быть с ОГРОМНОЙ натяжкой Visual Basic и нужен).

1. В современных "бейсиках" мало что осталось от оригинальных "бейсиков", которые были в 90-е.
2. Не нужно брать во внимание всякие поделки и интерпретаторы. (которых, к сожалению, большинство и которые даже не понятно, для чего создавались. Подозреваю, что как курсовики :) )
3. Нормальных компиляторов единицы. Один из которых PowerBasic.

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

Вообще выбор компилятора - это больше религиозный вопрос.

Что касается сложности языка СИ. Я не говорил что он сложный. Не сложнее PowerBasic`a. Портировать программы с Си на PowerBasic - одно удовольствие! Кому-то тут КАПСЛОК глаза резал... Мне так же режет глаз синтаксис Си. Но это не значит, что я кроме компиляторов BASIC ничего не признаю. Для каждой задачи какой-то более удобен, какой-то менее. Регистр исходного кода вообще никак не связан с компилятором - это всего лишь оформление.

Цитата:

Вся эта затея имеет смысл только в том, чтобы получить опыт работы с GAPI, например.
Именно! Это одна из главных целей. Совместить приятное с полезным. Главное - алгоритмы и API.

В целом Knightmare прав. Он уже прошел путь разработчика движка, знает многое, имеет опыт. Но почему всё оценивается с позиции перспектив и коммерческой выгоды? Изобретатель шахмат не получил ничего и даже погиб, но ведь многие играют в шахматы и сегодня. Существует огромное количество нишевых продуктов.

И еще не совсем понимаю: о каком магическом опыте на Си идет речь? Чем отличается опыт написания оконной процедуры с отловом сообщений на Си от опыта написания такой же процедуры на ассемблере или PowerBasic? Тоже самое и с DirectX - если знать АПИ - не важно на чем его использовать.

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


St_AnGer 26.02.2014 10:14

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от bugway (Сообщение 275369)
И еще не совсем понимаю: о каком магическом опыте на Си идет речь? Чем отличается опыт написания оконной процедуры с отловом сообщений на Си от опыта написания такой же процедуры на ассемблере или PowerBasic? Тоже самое и с DirectX - если знать АПИ - не важно на чем его использовать.

Попробуй устроиться в любую "игродельную" (грубо говоря) студию, где делаю более-менее серьёзные проекты и объяснить, что PowerBasic это как Си, только бэйсик. Больше чем уверен, что посмотрят на тебя глазами по диаметром с кубовую бочку и на работу не примут (хотя тут зависит от случая).

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

Ну и да, весь тот пост был чисто моим мнением о ситуации и не больше. И я согласен с тобой, что выбор ЯП - это вопрос довольно-таки "религиозный", если это можно так назвать. Главное, что бы в конце-концов была выполнена поставленная задача.

bugway 26.02.2014 10:36

Ответ: Пишем 3D движок - замену Xors3D
 
Немного поправил шапку - озвучил цели и задачи

Randomize 26.02.2014 11:27

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от Knightmare (Сообщение 275334)
Ну и еба, С++ это же не Perl:-)

:4to: Чем это он так тебя напугал?

Wegox 26.02.2014 16:34

Ответ: Пишем 3D движок - замену Xors3D
 
Ну делай сам пока:dontknow: будут демки - бенчмарки, народ может и подтянется.
А пока просто, без шейдеров и физики.. сделай поддержку 3D Vision и Oculus Rift, замути терраморфинг что та ещё:dontknow: удобный редактор например:super:

bugway 26.02.2014 16:43

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от Wegox (Сообщение 275400)
Ну делай сам пока:dontknow: будут демки - бенчмарки, народ может и подтянется.
А пока просто, без шейдеров и физики.. сделай поддержку 3D Vision и Oculus Rift, замути терраморфинг что та ещё:dontknow: удобный редактор например:super:

Видимо так и будет... :)

Samodelkin 26.02.2014 19:20

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

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

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

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

И делать сразу три гапи (дх9,10,11) это странно. дх10 тут вообще лишний, зачем он? К тому же не рассчитывай что ты напишешь рендер и всё, его нужно будет постоянно сопровождать, и тебе придется сопровождать сразу все гапи, а еще тот код который их обобщает, чтобы для юзания было прозрачно какое гапи используется. К тому же каму понадобиться дх9 если будет 11 (у него есть режимы совместимости если что)? Лучше сразу определись с минимальным необходимым набором (и целевыми платформами) и разрабатывай только его.

И да - используй лучше с/с++ (поновее желательно и без всяких мелкомягких расширений - так будет проще потом портировать).

А вообще имхо ничего хорошего в этой затее нет. Лучше определиться с конкретным проектом игры/игр и делать специализированный движок, делая упор на те фичи которые нужны в игре и экономя на несущественных и ненужных - только так можно относительно небольшими силами сделать лучше универсальных движков.

pax 26.02.2014 19:39

Ответ: Пишем 3D движок - замену Xors3D
 
В пользу С++ хочу сказать что проще найти помощников по разработке движка. Бэйсик это редкость.

bugway 27.02.2014 04:32

Ответ: Пишем 3D движок - замену Xors3D
 
Отлично - один человек присоединился!

Arton 27.02.2014 04:46

Ответ: Пишем 3D движок - замену Xors3D
 
Цитата:

Сообщение от bugway (Сообщение 275447)
Отлично - один человек присоединился!

И кто этот герой?


Часовой пояс GMT +4, время: 04:43.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot