Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 22.07.2011, 00:15   #891
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Цитата:
Сообщение от DimaTs Посмотреть сообщение
в общем не знаю как спросить понятней..
допустим в основном таймере мы отрисовываем все действия персонажей на экране. события от игрока и его действия отрисовать не сложно, а вот как быть с персонажами под управлением ИИ? то есть вот некому НПС нужно пройти из пункта А в пункт Б, я могу рассчитать это, а как запомнить и самое главное как этим воспользоваться? заводить отдельный поток для обсчета?
Неоднократно описывал универсальную структуру объекта по записям собственного типа и систему обработки всех объектов в одном таймере, ...ищите на страницах темы. Чтобы ИИ имел "характер" и двигался так как ему велит "интеллект" сначала нужно придумать скрипт и скрипт-движок, он-то и будет менять направление, если выполнены пункты скрипта.

Вот на страницах соседней темы:

Модель юнитов 1
Модель юнитов 2
Модель юнитов 3
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его

Последний раз редактировалось Beermonza; 22.07.2011 в 00:18.
Beermonza вне форума   Ответить с цитированием
Старый 23.07.2011, 22:04   #892
Alexan-Dwer
Форумчанин
 
Аватар для Alexan-Dwer
 
Регистрация: 20.04.2009
Адрес: Россия
Сообщений: 136
Репутация: 38
Хорошо

phomm, Beermonza спасибо за хороший ответ.
Осталось только узнать, как правильно объявлять такие переменные:
Код:
 type PHero: ^THero; … var Hero: PHero;
или
Код:
 var Hero: ^THero;
P.S. А на форуме изменение репутации работает? Уже второй раз добавляю отзыв, а изменений нет.

Последний раз редактировалось Alexan-Dwer; 23.07.2011 в 22:07. Причина: Постскриптум
Alexan-Dwer вне форума   Ответить с цитированием
Старый 23.07.2011, 23:00   #893
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,995
Репутация: 3436

icq: 446843180
skype: phoenix_proger
По умолчанию

а варианты идентичны, но первый всетаки лучше.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 24.07.2011, 16:16   #894
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Цитата:
Сообщение от Alexan-Dwer Посмотреть сообщение
Осталось только узнать, как правильно объявлять такие переменные:
Код:
 type PHero: ^THero; … var Hero: PHero;
или
Код:
 var Hero: ^THero;
P.S. А на форуме изменение репутации работает? Уже второй раз добавляю отзыв, а изменений нет.
В данном случае, без записей (я их не вижу), оба варианта мертвые. Если нужен скоростной доступ к переменной или массиву, то записывай так:

Код:
type
  TABuf = array[0..99] Of Byte;
  PABuf = ^TABuf;

...

var
  A: PABuf;
TABuf - конкретной длины байтовый массив, применяемый под что-то. PABuf - указательный тип, задающий правила доступа к новому типу данных TABuf.

В остальных случаях с записями указательного доступа не требуется, достаточно переменной или массиву на значить тип, например:

Код:
type
  THero = packed record
    H1: Integer;
    H2: Word;
    ....
    H10: PChar;
  end;

...

var
  Hero: THero;
Варианты с указателями нужны там, где нужна скорость обработки, например: графика, музыка, потоки шифрования/расшифровывания данных.
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Старый 25.07.2011, 15:16   #895
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Цитата:
Сообщение от какtus Посмотреть сообщение
Beermonza, а ты сможешь написать нормальную игру без движка?
Читай тему "Как Вы относитесь к созданию игр на Delphi?", если осилишь 90 страниц, узнаешь.
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Старый 27.07.2011, 12:42   #896
какtus
Форумчанин
 
Аватар для какtus
 
Регистрация: 02.04.2011
Адрес: г.Бугульма
Сообщений: 56
Репутация: 13
По умолчанию

Ага, делать мне больше нечего.
Я пишу на C++ + DirectX Graphics + DirectInput + DirectAudio,
а не на Delphi + тормооооооознутый GDI.
какtus вне форума   Ответить с цитированием
Старый 27.07.2011, 15:24   #897
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Цитата:
Сообщение от какtus Посмотреть сообщение
Ага, делать мне больше нечего.
Я пишу на C++ + DirectX Graphics + DirectInput + DirectAudio,
а не на Delphi + тормооооооознутый GDI.
Я бы сказал "тормознутый Flash", "тормознутая Java", "тормознутый кривой GDI", "тормознутый кривой C++ + DirectX Graphics + DirectInput + DirectAudio". Если руки прямые и голова на месте с мозгами внутри, то и на GDI можно выполнить задачу столь же быстро, но меньшими ресурсами системы, а криворукому кичиться бесполезно, везде нужен грамотный подход.

Если ты еще раз скажешь, что "C++ быстрее Delphi" я точно бан торжественно вручу, поскольку темы этого "холивара" на форуме имеются.

Если бы дочитал хотя бы до половины указанную тему, то понял бы, что GDI только выводит готовый кадр на экран как это делает ОС, сама же графика выполняется на ассемблере с расширенными возможностями регистров SSE. В результате: видеокарта может быть самая слабая (8М памяти, как у большинства ноутбуков), работа на всех машинах с ОС Windows, никаких актуальных DirectX закачивать и устанавливать не нужно, достаточно 250М свободной оперативной памяти, загрузка процессора 0-10%, fps ограничен искусственно на уровне 30, что соответствует скорости обновления кадров например в полнометражном фильме.

Внимательнее пожалуйста, а то фразы в духе "у меня монитор Samsung все остальные - какашка!" оцениваются другими пользователями в минус.
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Старый 27.07.2011, 15:55   #898
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 20,995
Репутация: 3436

icq: 446843180
skype: phoenix_proger
По умолчанию

уточню, что под "кривой" имелось в виду кривое применение.

кстати Java не тормознутая(руки рулят и там), флэш, с ним труднее, он вроде так нормально аппаратную графику и не поддерживает.

руки многое рулят, смотря на некоторые игры/проги, я в этом массу раз убеждался.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 27.07.2011, 16:14   #899
Beermonza
Инженер ИС
Профессионал
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
Репутация: 746
По умолчанию

Пепел Феникса, совершенно верно, ...я не уважаю таких людей, которые говорят: "вы тут ерундой занимаетесь, а вот C++ + DirectX Graphics + DirectInput + DirectAudio - это вещь!!", хотя одного слова DirectX или Direct3D достаточно, чтобы стало понятно какая библиотека используется. Я думаю автор промелочился, нужно было продолжать складывать в строчку: компилятор, номер процессора, ...марку монитора, клавиатуры, мышки, ...на себя перейти, описав возраст + цвет волос + газ, ...а-то величие выбора не так полно ощущается.
__________________
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума   Ответить с цитированием
Старый 27.07.2011, 17:51   #900
Ulex
Непрофессионал
Профессионал
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Адрес: город Н-ск.
Сообщений: 1,423
Репутация: 1104
По умолчанию

Цитата:
Сообщение от Beermonza
работа на всех машинах с ОС Windows
Таки далеко не на всех.
Как впрочем и с DirectX и\или OGL.

А вообще я перестаю понимать (а может и не понимал никогда) слово движок. Сейчас принято что-ли всё подряд движком называть? Причём это такая мана небесная - ничего не понимаем, не хотим ничего читать и изучать ("Ага, делать мне больше нечего") - берём движок и пишем очередную "грабить корованы".
__________________
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уроки по созданию игр для новичков... -=DeS=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 750 14.11.2017 21:26
Музыка программистов - как вы относитесь к АРИИ? Весёлый Жека Свободное общение 46 10.10.2008 22:32
Конкурсы по созданию игр на Delphi mutabor Свободное общение 0 15.06.2007 12:40
Работа по созданию ПО remix Фриланс 3 22.04.2007 11:00


16:57.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru