UDKФорум

В UDK 4 будет C++ вместо UnrealScript :) (5 стр)

Страницы: 14 5 6 7 8 Следующая »
#60
20:11, 6 фев 2014

innuendo
> смысл US в том, чтобы быстро менять геймлогику
До этого её еще надо написать. А с этим мудацким анриал скриптом эта задача растягивается в 5 раз и становится крайне нервной.

WISHMASTER35
> Теперь даже для простого скрипта придется писать .h и .cpp файлы (:: Наверно
> главная головная боль с++ от которой никуда не деться.
> А какой компилятор он будет использовать?
ты хоть видел анриал скрипт?

#61
20:15, 6 фев 2014

StiX
> До этого её еще надо написать. А с этим мудацким анриал скриптом эта задача
> растягивается в 5 раз и становится крайне нервной.

Интересно, а можно пару примеров?

#62
20:24, 6 фев 2014

StiX
> > смысл US в том, чтобы быстро менять геймлогику
> До этого её еще надо написать

Как бы смысл в том, что уже есть решение - его нужно подправить под текущую задачу

ufna
> Интересно, а можно пару примеров?

Присоединяюсь :)

#63
20:33, 6 фев 2014

StiX
> ты хоть видел анриал скрипт?
мельком когда-то видел. А что?

#64
21:57, 6 фев 2014

ufna
> Интересно, а можно пару примеров?
native скрипты. Добавил\убрал что-то помеченное как native и да здраствует перегенерация здоровенного хедера (у нас в проекте он занимал под 160к строк), в котором объявленны все native классы. Соответственно необходимо долго ждать компиляцию С++ кода и еще 2-3 минуты - скриптов.

#65
21:59, 6 фев 2014

WISHMASTER35
> мельком когда-то видел. А что?
Когда-то видел и работал с ним - это две большие разницы. Ты высказался в таком ключе, что писать на С++ хуже чем на US, не имея при этом опыта работы с последним.

#66
22:05, 6 фев 2014

StiX
> native скрипты. Добавил\убрал что-то помеченное как native и да здраствует
> перегенерация здоровенного хедера (у нас в проекте он занимал под 160к строк),
> в котором объявленны все native классы. Соответственно необходимо долго ждать
> компиляцию С++ кода и еще 2-3 минуты - скриптов.

Ну жесть просто :) Конечно, когда ты меняешь native - так и будет, кто в этом сомневался ? И как часто для геймлогики нужно было менять native ?

> Ты высказался в таком ключе, что писать на С++ хуже чем на US, не имея при этом
> опыта работы с последним.

Не имеешь проблем с C++ style memleak, не имееш проблем с порчей памяти - уровень вхождения снижается и тд.

Ты правда думаешь что US сделали лишь бы
подложить свинью ? :)

#67
0:02, 7 фев 2014

innuendo
> И как часто для геймлогики нужно было менять native ?
Всегда. Я работал над ММО проектом. Нужен был нейтив, что бы меньше тормозили сервера. Нужен был нейтив, что бы было сложнее реверсить клиент - что очень без проблемно делается для голого unreal script.

innuendo
> Не имеешь проблем с C++ style memleak
Хм. Я никогда в жизни не имел проблем с мемликами на С++.
С порчей памяти - это у всех есть. Но оно почти всегда довольно быстро находится и исправляется.

innuendo
> Ты правда думаешь что US сделали лишь бы
> подложить свинью ? :)
нет конечно. Но итог таков - что он оказался свиньей. Технологии программирования далеко шагнули с конца 90-х, а анриал скрипт, застрял в позапрошлом тысячелетии. Я имею ввиду тулзы. Черт возьми, ихняя идэ для написания скриптов была разработано сторонней компанией. Я уже молчу о других благах цивилизации.

#68
4:25, 7 фев 2014

innuendo
> Не имеешь проблем с C++ style memleak, не имееш проблем с порчей памяти -
> уровень вхождения снижается и тд.
Вот интересно, те кто пугают мемликами и порчей памяти - сами то хоть их видели где-то серьезно? Я вот нет, а говнокодю еще так. Кроме того - а нафига пользователям работать с голой памятью? Умные указатели давно завезли, для нелюбящих их синтаксис сто лет как есть typedef, для нелюбящих их в принципе есть система идентификаторов (как сделано в том видео на предыдущей странице).

Уровень вхождения в С++ без указателей (вообще если без навыков) - неделя (я писал свой первый рогалик как раз через неделю как взял книгу, указатели и ооп я еще не понимал). Этого достаточно чтобы писать скрипты

#69
7:47, 7 фев 2014

war_zes
> Вот интересно, те кто пугают мемликами и порчей памяти - сами то хоть их видели
> где-то серьезно?
Видел, очень мало хорошего :)

> Уровень вхождения в С++ без указателей (вообще если без навыков) - неделя (я
> писал свой первый рогалик как раз через неделю как взял книгу, указатели и ооп
> я еще не понимал). Этого достаточно чтобы писать скрипты

Самая простая задачка - пройтись по всем entities на уровне, проверить на признак и вызвать какой-нибудь метод

#70
7:54, 7 фев 2014

StiX
> Всегда. Я работал над ММО проектом.

Очень показательный пример. Если брать малолитражку для гонок F1, то можно потом жаловаться - плохие конструкторы сделали тормозной мобиль. Правда, в городе малолитражка будет полезнее :) А многих проектов не нужно каждые пять минут native менять

> Хм. Я никогда в жизни не имел проблем с мемликами на С++.

Повезло

> нет конечно. Но итог таков - что он оказался свиньей

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

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

Про IDE согласен, да

#71
8:05, 7 фев 2014

innuendo
> Самая простая задачка - пройтись по всем entities на уровне, проверить на
> признак и вызвать какой-нибудь метод
Итераторы есть. Их ведь никто через new/delete не зовет. А еще foreach и auto

for each (auto f in foo)
  {
    if (f->i)
      f->foo();
  }

При этом можно возвращать не указатель из контейнера, а ссылку - я не про &, а про специальный класс обертку который и содерит реальный указатель:

class Foo
{
   void foo()
   {
      m_foo->foo();
   }
    FooImpl *m_foo;
}


Вот еще причина, почему будущее за теми движками кто вставляет нативные ЯП:
http://habrahabr.ru/post/211576/

В каком еще движке можно прикрутить свой собственный скриптовый язык?

А ведь это расширяет круг пользователей - нравится шарп, пиши на шарпе, нравится JS, пиши на нем, нравится lua пиши на ней, хочешь свой язык, напиши и используй.

Также и тут, ведь С++, а значит можно взять ту же луа, прикрутить, и дальше на ней работать. А разработчикам движка для этого и делать ничего не надо. То есть очередной плюс перехода на С++. Ну вот смогли бы вы прикрутить к US луа?

#72
8:16, 7 фев 2014

innuendo
> А многих проектов не нужно каждые пять минут native менять
Вот как я дал ссылку выше, нативный язык позволяет прикрутить любой ненативный, который удобней разработчику и на котором он и будет писать

#73
8:30, 7 фев 2014

war_zes
> Вот еще причина, почему будущее за теми движками кто вставляет нативные ЯП:
> http://habrahabr.ru/post/211576/
  С головой всё в порядке? В статье прикручивают Lua для работы через C#, при чём здесь вообще нейтив? Наоборот статья наглядно демонстрирует, как без помощи укзателей и прочих крестограблей можно написать игру в прямом эфире.
  Ну и ещё пара умных мыслей оттуда же:

написание квестов, скриптовых сценок и т.п. — не должно требовать перекомпиляции кода. Это геймдизайнерская задача. А никакая геймдизайнерская задача не должна требовать лазанья в код. Это — аксиома грамотного построения кода игры.

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

StiX
> Я работал над ММО проектом. Нужен был нейтив, что бы меньше тормозили сервера.
  А при чём здесь сервера, мы же про клиентскую часть говорим. Что там с серверами история совершенно отдельная, там можно писать на чём угодно, хоть на NodeJS. Кстати, то, что сейчас многие активно на него переходят говорит о том, что в прямых руках ничего особо не тормозит.

#74
9:03, 7 фев 2014

war_zes
> Итераторы есть. Их ведь никто через new/delete не зовет. А еще foreach и auto

Начнём с начала. Нужно как-то получить эти самые entity, чтобы их перебрать

Страницы: 14 5 6 7 8 Следующая »
UDKФорум

Тема в архиве.