ПроектыФорумСобираю команду

Life is Feudal Sandbox MMORPG. Ищем тестировщика. (40 стр)

Страницы: 137 38 39 40 41 42 Следующая »
#585
22:36, 10 окт 2014

San4es
Это контракт "наоборот". Правильные контракты и статический полиморфизм должны выглядеть следующим образом:

struct Data
{
    int field0;
    int field1;
};

template <typename T>
void EditData(T* data, str_const member)
{
    static_assert(std::contract::require_member<T, member>::type, "Given type has no member " + member);

    static_if(std::contract::require_member<T, member>::type) {
        T::*member = 255;
    }
}

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

template <typename T>
class HasMetaClass
{
private:
  template <typename U, U>
  class Check { };

  template <typename C>
  static char F(Check<DK::Class<T>*, &C::metaClass>*);

  template <typename C>
  static long F(...);

public:
  enum
  {
    Result = (sizeof(F<T>(0)) == sizeof(char))
  };
};

static_if тоже нельзя сделать, вместо него:

template <typename T, bool>
struct Retainer;

template <typename T>
struct Retainer<T, true>
{
  static inline void Retain(T* ptr, bool)  { /*ptr->Retain();*/ }
  static inline void Release(T* ptr, bool) { /*ptr->Release();*/ }
};

template <typename T>
struct Retainer<T, false>
{
  static inline void Retain(T* ptr, bool)  { (void)ptr; }
  static inline void Release(T* ptr, bool) { delete ptr; }
};

Использование которого ещё более жуткое:

Retainer<T, HasMetaClass<T>::Result>::Retain(objPtr, std::is_base_of<DK::ReferenceCountedObject, T>::value);
Retainer<T, HasMetaClass<T>::Result>::Release(objPtr, std::is_base_of<DK::ReferenceCountedObject, T>::value);

У тебя получилось сходу понять код, написанный выше? Большинство сдаётся, когда видит SFINAE в HasMetaClass :)
Мало кто доходит до использования Retainer в качестве static_if.

А задача на самом деле очень простая - нужно было сделать обобщённый код, который бы управлял временем жизни объектов внутри биндинга к скриптам.
Если надо сделать что-то более сложное во время компиляции - код превращается в полный адЪ.

Поэтому int S::*member, при полном отсутствии в языке вменяемых средств для метапрограммирования, абсолютно никакой ценности не представляет.

#586
22:57, 10 окт 2014

bazhenovc
Честно - не получилось.
Я разве похож на человека у которого фамилия Александреску?
Чудо обобщенного программирования))

Закроем тему про плюсы, а то ругаются люди?

#587
23:19, 10 окт 2014

тема превратилась в тему про плюсы xD
надо сказать что читать стало сложнее(для меня), но интереснее и познавательнее...

#588
4:38, 11 окт 2014

> А сколько, если не секрет?
Bishop, не секрет. Он реально очень (я бы даже сказал, что излишне) короткий, порядка 20-25 мсек, но мы ещё пока тюним, так что всё может измениться.

#589
19:09, 1 апр 2015

Сегодня выкатили патч с новым революционным режимом улучшенной графики "Improved Graphics Mode" (c):

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#590
20:50, 1 апр 2015

Крутой проект!

#591
0:31, 2 апр 2015

Достали протухший проект из гробика? :)

#592
7:14, 2 апр 2015

Почему протухший?
На Стиме мне он все время выпадает.

Цену только задрали до небес: была тысяча, сделали полторы.
Бобик, если бы вы ее по 400-500 руб. продавали, я бы купил. А так слишком дорого.
Я за это время купил Grav, Savage Lands и Reign of Kings. И все это в совокупности дешевле LiF.
Savage Lands многообещающая.

#593
10:12, 2 апр 2015

Ciaphas
> Почему протухший?

Все по той же причине :)

Изображение

> На Стиме мне он все время выпадает.
> Цену только задрали до небес: была тысяча, сделали полторы.
> Бобик, если бы вы ее по 400-500 руб. продавали, я бы купил. А так слишком
> дорого.
> Я за это время купил Grav, Savage Lands и Reign of Kings. И все это в
> совокупности дешевле LiF.
> Savage Lands многообещающая.

А если бы мы ее бесплатно раздавали, вот бы народу то было :)
Ради интереса, и сколько времени вы наиграли в сумме в эти три игры? По опыту общения с игроками на выставках и по девелоперской статистике на стиме в нашу игру играют сотнями часов. Люди реально живут у нас, потому и Life is Feudal.
Пока этот чел из штатов держит рекорд (2000 часов на момент написания этого поста):  http://steamcommunity.com/profiles/76561198052492832

Моя мысль о том, что можно накупить кучу игр, которые надоедят через пару часов, а можно купить одну и надолго и она того стоит ;)

Анекдот немного в тему:

Нашел лев на улице 50 руб. и решил исполнить мечту своей жизни - посетить
бордель. Приходит он туда и спрашивает сутенершу:
- А можно у вас заказать тигрицу?
- Да, конечно. 200 руб час
- А сколько будет стоить пантера? - спрашивает лев
- 150 руб. час.
Лев в раздумьях: денег то не хватает.
- Хорошо, а если леопардиху заказать?
- 100 руб час!- отвечает сутенерша.
- А у вас есть кто-нибудь на 50 руб.? -задает вопрос лев
- Конечно есть! Мышки-девственницы- 5 руб. пучок!!

#594
10:53, 2 апр 2015

Bobik
2000 часов за какое время? Год, два? Графон слабый.

#595
11:12, 2 апр 2015

:)))
Игра на Стиме появилась 19 Сентября 2014 года, так что грубо за пол года.

#596
12:24, 2 апр 2015

abrasive
> Графон слабый.
Don't you worry, графон к релизу подтянется.

#597
17:35, 7 апр 2015

Внезапно освободилась одна вакансия в отделе тестирования (QA)

Просьба отписываться по координатам в этой теме:
http://www.gamedev.ru/job/forum/?id=200300

#598
19:09, 26 апр 2015

Привет Bobik. а вы в Англии работаете? игра. то вроде как Английсской фирмы bitbox.ltd

#599
22:01, 26 апр 2015

Orcan

игра. то вроде как Английсской фирмы bitbox.ltd

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

Страницы: 137 38 39 40 41 42 Следующая »
ПроектыФорумСобираю команду

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