Понедельник, 30 Сентября 2024, 07:32

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
BOOMДата: Пятница, 03 Декабря 2010, 07:57 | Сообщение # 401 | Тема: В КАРЗИНУ
I am the creator of ADE
Сейчас нет на сайте
nik, Ты уверен, что кто нибудь тебе сделает такую работу? Грубо говоря, это заказ на индивидуальный движок. Если один программист, то он никогда не возьмётся. Хотя бы потому, что проектом, такого рода довольно опасно заниматься (авторы демки не слишком могут быть рады).

А тебе не выгодно. Причина тому, стоимость проекта. Команде придётся выложить, ну, тысяч 150 рублей, как минимум, в месяц. А работа может затянуться на года два, три. Лучше купить лицензию на UnReal...

Поверь, твоя идея довольно утопическая, что бы кто нибудь, написал тебе порт движка. Допустим, как я, взял бы за работу по реализации движка, похожего на UnReal, где то 50 000 000 $ с учётом передачи авторского права. Но опять же, похожесть может затронуть только внешне. Лично я не хочу нарываться на проблемы из-за авторского права. Подумай.

А ещё лучше изучай С++, или С#, к чему душа лежит, и пиши сам движок.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Пятница, 03 Декабря 2010, 07:58
BOOMДата: Среда, 01 Декабря 2010, 15:49 | Сообщение # 402 | Тема: XP, Vista или Seven?
I am the creator of ADE
Сейчас нет на сайте
Из продуктов семейства Windows самая стабильная - это, конечно, ХРюша. Вроде бы, как, 7-ка более или менее... Но после просмотра и тестов я убедился в том, что это та же Виста, только сжатая, добавлено несколько софтин, и в дизайне изменена.

Если не выйдет более хорошая версия Windows, то у меня на ПК пропишется Linux окончательно.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Среда, 01 Декабря 2010, 15:42 | Сообщение # 403 | Тема: В войне Microsoft и Linux страдают школы
I am the creator of ADE
Сейчас нет на сайте
Quote (XArDaS777)
находится в конце своего жизненного цикла

Человеку свойственно ошибаться.
Quote (ezhickovich)
Windows, которая с большой вероятностью умрёт уже через 5 лет...

Хрюша не умрёт, как бы не хотели того мелкософтовцы. Причина тому, что она уже перешита многими энтузиастами, и конечный продукт вполне качествен (Уж 9 лет ей, поди). Я думаю, только Хрюша проживёт ещё лет 10, если не больше.
А то, что последние продукты виндовс не ахти и их политика ведёт к краху самой корпорации - это факт.
Quote (SlavyanOOs)
Windows не умрет - 90% ее юзеров и не подозревают о существовании других ОС. А еще 50% юзает IE o_O

Ну, ~75% компов под виндовс, из которых 60% - хрюша. Да и тем более всё больше народу подключается к сети, и больше народу понимает, кто выиграет эту битву.
Quote (Buran)
P.S. переход на СПО это не только дешевле (намного), но еще это и борьба с пиратством.

К тому же и сильный рывок в развитии ПО. Энтузиастов много, и у них идей много, это неоспоримое имхо.

И.М.М.
Linux - это будущее. Хотя я сижу ещё на хрюше, но по соседству с ней стоит Ubuntu, Chrome OS и Xonomi. И скажу, ОСПО всё лучше и качественней. Я уже давно подумаю спрыгнуть с хрюши полностью (пока на Xonomi, уматная сборка Линукса для работы с мультимедиа).


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Воскресенье, 28 Ноября 2010, 16:27 | Сообщение # 404 | Тема: Графика
I am the creator of ADE
Сейчас нет на сайте
SarCasm, странноватый вопрос. Если речь идёт о 3D графике, то бери DirectX или OpenGL.
GDI - это, по моему, примочка Microsoft для лёгкого написания игр (если не путаю). Там C# в поддержке был, вроде.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Воскресенье, 28 Ноября 2010, 16:28
BOOMДата: Среда, 24 Ноября 2010, 18:24 | Сообщение # 405 | Тема: MS C++ и C++
I am the creator of ADE
Сейчас нет на сайте
Quote (mendoza)
Ну давай тогда вообще на Windows 98 SE сидеть. Какая разница? Те же окна.

Я имею в виду, что от версии IDE практически ничего не зависит. Выбор IDE сугубо принадлежит программисту, впрочем, как выбор ОС. Так что Ты в корне не прав.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Среда, 24 Ноября 2010, 18:06 | Сообщение # 406 | Тема: MS C++ и C++
I am the creator of ADE
Сейчас нет на сайте
Quote (mendoza)
а смысл сидеть на старье? Новые версии в разы удобнее и эффективнее.

А какая разница? Если только новый C++ стандарт поддерживает...

Quote (WXZRW)
Мне так не кажется, и вообще мне для работы достаточно возможностей 6 версии. Я это к слову упомянул, дело не в версии С++, если кто-то не умеет писать код, думаю что и самый последний релиз С++ ему будет ни к чему. Я именно об этом и говорил.

Главное не инструмент, а голова и руки мастера. Поэтому, я с тобой полностью согласен.

Fоzzie, если возникают такие вопросы, то приводи код, который ты в него вбиваешь, и, по возможности, лог компиляции кидай, что бы можно было бы понять, в чём ошибка.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Воскресенье, 21 Ноября 2010, 04:09 | Сообщение # 407 | Тема: AlloDraw engine
I am the creator of ADE
Сейчас нет на сайте
Quote (Devel)
Вот ты меня не внимательно прочел

Нет, прочитал всё нормально. Но сложность заключается в том, что постоянно сверху читать, писать и удалять система не будет. Значит необходимо разработать более гибкую систему (что то похожее на таблицу), а это потеря скорости, и больший объём в памяти. Помимо этого C++ не поддерживает динамические массивы, и поэтому, в базисе я использую stl классы vector и map, немного поиздевавшись, конечно:

Code
template<class IDKey, class PObject> class pmap
{
protected:
     map<IDKey, int> _map_object;
public:

     typedef map<IDKey, int>::iterator           _iterator;

     pmap(){/**/};
     ~pmap(){/**/};

     _iterator Begin() { return _map_object.begin(); }
     _iterator End() { return _map_object.end(); }

     PObject *ReadIteratorSecond(_iterator &value){
         return (PObject *) value->second;
     }

     IDKey ReadIteratorFirst( _iterator &value){
         return value->first;
     }

     void CreateClearObject(IDKey ID){
         PObject *obj = new PObject();
         _map_object[ID] = (int) obj;
     }

     void FreeObject(IDKey ID){
         if(_map_object.count(ID) == 1){
             PObject *obj = (PObject *)_map_object[ID];
             delete obj;
         }
     }

     void Clear(){
         PObject *obj;
         _iterator it = _map_object.begin();
         while(it != _map_object.end()){
             obj = (PObject *)it->second;
             delete obj;
             it++;
         }
         _map_object.clear();
     }

     unsigned int Size() { return _map_object.size(); }

     PObject *operator[] (IDKey ID){
         PObject *obj = NULL;
         if(_map_object.count(ID) == 1){
             obj = (PObject *)_map_object[ID];
         }
         return obj;
     }
};

К тому же я использую более сложные структуры, на пример эта структура ключ-имя:

Code
struct _PairKey
{
     TypeID      _KeyID;
     lpString    _KeyName;

     _PairKey &operator=(const _PairKey &vl){
         _KeyID = vl._KeyID;
         _KeyName = vl._KeyName;
         return *this;
     }
     bool operator == (_PairKey &vl) { return _KeyID   == vl._KeyID;  }
     bool operator != (_PairKey &vl) { return _KeyID   != vl._KeyID;  }
     bool operator >  (_PairKey &vl) { return _KeyID   >  vl._KeyID;  }
     bool operator >= (_PairKey &vl) { return _KeyID   >= vl._KeyID;  }
     bool operator <  (_PairKey &vl) { return _KeyID   <  vl._KeyID;  }
     bool operator <= (_PairKey &vl) { return _KeyID   <= vl._KeyID;  }
     bool IfKeyName   (_PairKey &vl) { return _KeyName == vl._KeyName;}
     bool IfNotKeyName(_PairKey &vl) { return _KeyName != vl._KeyName;}

     _PairKey() {/**/}
     _PairKey(TypeID id, lpString nn){ _KeyID = id; _KeyName = nn; }
     ~_PairKey(){};
};

Где lpString есть AnsiString, либо WideString, всё зависит от выбранной кодировки. Объект из такой структуры лучше создавать динамичным, в противном случае скорость упала бы во много раз...


Я, как выше уточнял, попробовал переписать функции и скорость работы увеличилась. На 1 000 000 объектов, при чтении с помощью каретки, время с 0,3 сек (300 мс) упала, примерно, на 0,1 сек.

Devel, мне просто надо оптимизировать код. Чем сейчас я и занимаюсь... А вообще, я думаю над тем, что бы реализовать выделение по группе объектов, примерно, как ты привёл первый пример.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Суббота, 20 Ноября 2010, 18:56 | Сообщение # 408 | Тема: AlloDraw engine
I am the creator of ADE
Сейчас нет на сайте
Quote (Devel)
Зачем резервировать 300 мб памяти, это же глупо. Память нужно увеличивать по мере запросов на несколько килобайт например и уменьшать иногда.

Это расчёт. Вообще, резервировать 300 мб памяти, на самом деле - глупо (тут полностью согласен). Я создаю динамическую систему, поэтому и размер будет расти со временем нагрузки.

Quote (Devel)
Помню я делал тесты своего стекового класса, выходило 10 000 000 итераций, где 1 раз записывается в стек и 1 раз читается из стека (push и pop), выходило где-то 100 млсек на 3.0 Pentium.

На MinGW у меня ещё меньше результат. Но я хочу написать двиг на Builder 6, частично используя VCL классы. Поэтому я и вытягиваю из него всю мощность. А во-вторых, я довольно не опытный программист.

Здесь замут в том, что я 1 000 000 раз вызываю оператор NEW. Ну, другого варианта я просто не знаю.

Я думаю, переписать функции, которые я привёл выше, используя итератор (двухсторонний, конечно). Так скорость чтения должна возрасти в несколько раз.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Суббота, 20 Ноября 2010, 18:58
BOOMДата: Суббота, 20 Ноября 2010, 10:17 | Сообщение # 409 | Тема: Создание игры в Дельфи
I am the creator of ADE
Сейчас нет на сайте
danil73, для начала переименуй тему.
Quote (danil73)
ездишь просто у кого пaраметры машины больше тот и выиграл.

Так будет не сильно интересно. Интересней, если ввести понятия уровня возможностей игрока.

Вообще, эту задачу реализовать не сложно.

Создай структуру, в которой будут храниться все параметры игрока, она понадобится и для ИИ.
Далее реализуй временную систему, там, сколько дней провёл в игре. Время суток. Можно включить и погоду (использовать случайные числа для определения погоды).
Реализуй класс ИИ. То есть, опять рандомные числа в области обучения и так далее.

Самое сложное - тюнинг. Более эффективнее будет смотреться, если будет картинка машины...


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Суббота, 20 Ноября 2010, 10:04 | Сообщение # 410 | Тема: AlloDraw engine
I am the creator of ADE
Сейчас нет на сайте
Devel, ты, прав, самое главное - простота. А на счёт OrionPHP я наблюдаю и думаю, что у этого проекта есть своё будущее. Вообще, PHP мне нравится.

Quote (Devel)
часто когда что-то меняешь, боишься что какая-то мелочь перестанет работать, а то и хуже:

А какого мне. Я пишу в билдере шестом, а он вообще капризный, по сравнению с версией для дельфина (я так Delphi называю).

Вот допустим, у меня не получилась, как хотел, идея с байт-кодом, но получилась идея с разбитой памятью по ячейкам.

Новые эксперименты с памятью, или тест класса TFunTrack.

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

Изначально, класс TFunTrack должен был работать с массивом символов, так называемой датой байт-кода. Чтение должно было происходить по средствам смещения каретки. Но сложность заключалась в том, что в памяти используется четыре основных типа: байт, число, дробь и строка. При преобразовании информации в эти типы тратится довольно много времени (мне нужны, в конечном результате вывода, именно они). Но результат был всё ровно, довольно быстрым: на создание и запись в 1 000 000 тактов движения потратилось, примерно 1,3 сек. При этом, понадобилось памяти: 23 500 Кбайт. Чтение же, (ведь это главное) на 1 000 000 тактов, потребовало 1 секунда. Казалось бы, быстро, но на 10 000 000 тактов потребуется, примерно, 10 секунд.

Но эксперименты на этом не закончились, наоборот, только начинались. И решил я использовать методику, которую использовал в GLogic. Память разложена по таблице. А таблица выглядит так: номер по порядку — дата. Но в GLogic, ячейка памяти статична, то есть при операции она копируется (поэтому, этот сценарный движок очень медленный). Тогда я изменил принцип передачи данных из полного объекта в передачу только указателя. Далее я модифицировал принцип чтения из памяти. В классе устроено несколько функций, которые двигают каретку и указатель на класс ячейки памяти. Ниже приведены эти функции, указатель, и назначения их:

void Begin() - Устанавливает каретку в начало таблицы.
void End() - Устанавливает каретку в конец таблицы.
void NextStep() - Продвигает каретку на один вперёд.
void BackStep() - Продвигает каретку на один назад.
void GoToID(int __id) - Перекидывает каретку на адрес __id.
DataComand *CurretPoint - Собственно, указатель на текущий объект, где расположилась каретка.

Как раз результаты этого класса меня удивили. Скорость записи немного ниже, а скорость чтения в несколько раз ниже, чем в предыдущей разработке. Но и без жертв не обошлось. Этот класс потребовал в два с половиной раза больше памяти. В общем, вот результаты:

Тест создания и записи объектов с помощью класса TFunTrack

Количество созданных объектов: 1 000 000
Количество операций с памятью: 6 000 000
Общее количество обращений к классу: 7 000 000

Скорость заполнения: 0.8 сек.
Память на одну ячейку: 64 Б.
Расчётная память на 1 000 000 объектов: 62 500 кБ.
Количество занятой памяти при тесте: 70 476 кБ.

Тест чтения данных из объектов по средствам класса TFunTrack

Количество объектов: 1 000 000
Количество обращений к памяти: 3 000 000
Обращение памяти через каретку. Вывод данных в переменную типа double.

Время выполнения операций: 0.3 сек.


В заключение, скажу, конечно, физическую память требует довольно большую, но скорость высокая. Этот результат тот, который мне нужен. Поэтому, по такому же принципу, я перепишу классы менеджеров памяти.

В общей сложности, я предполагаю, в полном проекте, может использоваться до 3 000 000 ячеек памяти во множествах таблиц. Так как команда будет принимать приличное количество параметров, и служить, в принципе, полноценной функцией. Но об этом позже, я предполагаю, что максимально потребуется около 300 мегабайт оперативной памяти для работы со сценарным движком.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Суббота, 20 Ноября 2010, 04:43 | Сообщение # 411 | Тема: Visual Studio 2010 Express Edition
I am the creator of ADE
Сейчас нет на сайте
Странник, вот ссылка на инструкцию на русском языке инструкция на оф-сайте. Там расписано по мелочам и даны ссылки на MinGW и SYS, всё поймёшь.

______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 18:23 | Сообщение # 412 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
В общем, это коллекция GM исходников - примеров. Я их скидывал давненько (не помню, где брал). Там есть примеры и описания на английском. Тебе подойдёт.
Весит сия чудо 9 метров. клик...

Ещё, в файлах много исходников. Поищи.

З.Ы.
У меня уже пол второго ночи, я спать....


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 18:13 | Сообщение # 413 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Quote (Lorderon)
О том что ты уже дал ему ответ на тот вопрос.

Не спорю, ты понимаешь, а он нет...


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 18:10 | Сообщение # 414 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Quote (Lorderon)
Не о чём не говорит?

О чём это ты?

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

>> Соблюдайте правила! Пишите грамотно!
Это правило, и из-за него можно влететь на бан.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Пятница, 19 Ноября 2010, 18:11
BOOMДата: Пятница, 19 Ноября 2010, 18:07 | Сообщение # 415 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Я имел в виду это:


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 17:58 | Сообщение # 416 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Правая кнопка по мемо (где пишешь сообщение на форум.), в появившемся меню выбираешь словари, потом "добавить/удалить словари...". Выбираешь "Русский" и устанавливаешь.

Quote (zik13)
te (BOOM)по верх него нанести спрайт (проще); эть как

Используешь событие прорисовки и рисуешь, с помощью инструментов в разделе "draw".


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Пятница, 19 Ноября 2010, 17:59
BOOMДата: Пятница, 19 Ноября 2010, 17:50 | Сообщение # 417 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Quote (zik13)
спс . а вот как сделать так чтобы когда подходишь к предмету например к телефону воспроизводились действия а потом когда снова подходишь они уже не делались

Есть два способа:
1. Использовать триггер, как в примере, только в редакторе объекта отключить видимость, и по верх него нанести спрайт (проще);
2. Отключать действия (см. справку.)

З.Ы.
Скинь Оперу и установи Ру-пак по проверки орфографии. Много ошибок.


______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 17:42 | Сообщение # 418 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
zik13, просто добавь, следом за проигрыванием звука, событие сообщения.

______________________________
Я вернулся, и это чудо.
______________________________
BOOMДата: Пятница, 19 Ноября 2010, 17:40 | Сообщение # 419 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Lorderon, нет, не тролль. На форуме задаёт много вопросов. Скорее всего нуб, который не знает что и как. Думаю, стоит помогать, тем более мы все начинали нубами, хотя и справку листали...

Quote (zik13)
Триггер события Триггер - это новый тип событий в Game Maker, которые случаются при указании выполнения каких-либо других событий, например когда объект находится рядом с другим объектом, нажатие комбинации клавишь, достижение указанного счета и т.д. Вы даете им имя и код, написанный на GML. После этого они могут использоваться на всех объектах, как и другие события. При этом вы можете легко расширить функциональность Game Maker.

Ну вот... Можешь, когда хочешь. Спрашивай вопросы, если что.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Пятница, 19 Ноября 2010, 17:41
BOOMДата: Пятница, 19 Ноября 2010, 17:36 | Сообщение # 420 | Тема: заставка
I am the creator of ADE
Сейчас нет на сайте
Ну ты даёшь. В игрострой полез и не знаешь, что такое триггер? В основном, это устройство, которое выполняет определённые задачи, когда объект входит в зону. Триггер и некая зона связаны между собой.

В примере, который я тебе предоставил, используется так называемый "псевдотриггер". Это зона, которая удаляется, но перед удалением выполняет определённые действия.


______________________________
Я вернулся, и это чудо.
______________________________


Сообщение отредактировал BOOM - Пятница, 19 Ноября 2010, 17:36
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг