Любой игровой движок для Delphi?

Наиболее распространенный случай, который я видел для кажущихся таинственными ArrayIndexOutOfBoundsExceptions, то есть, по-видимому, не вызванных вашим собственным кодом обработки массива, является одновременным использованием SimpleDateFormat. В частности, в сервлете или контроллере:

public class MyController {
  SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy");

  public void handleRequest(ServletRequest req, ServletResponse res) {
    Date date = dateFormat.parse(req.getParameter("date"));
  }
}

Если два потока вводят метод SimplateDateFormat.parse () вместе, вы, скорее всего, увидите исключение ArrayIndexOutOfBoundsException. Обратите внимание на раздел синхронизации класса javadoc для SimpleDateFormat .

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

14
задан user390957 13 July 2010 в 21:02
поделиться

7 ответов

Это очень, очень широкий вопрос, на который сложно дать простой ответ.

Большинство «игровых движков» - это системы, которые предварительно созданы на том или ином языке и реализуют всю низкоуровневую игровую логику для определенного типа игры. Обычно они поставляются с каким-то набором инструментов, который позволяет вам создавать игровой контент (уровни, персонажи, сценарии и т. Д.) Для запуска на движке. Если вы ищете настоящий игровой движок, он не будет «для Delphi». Он может иметь встроенную систему сценариев, но это будет язык сценариев, а не настоящий язык программирования с компилированным в собственный код, такой как Delphi. Вероятно, самая близкая вещь, которую вы найдете, - это двигатель TURBU , работа над которым еще не завершена. Это движок для ролевых игр консольного типа, и он поставляется со встроенными скриптами на основе Object Pascal. Но это все еще скриптовый язык с множеством ограничений, а не полноценное программирование на Delphi.

С другой стороны, если вы ищете инструменты для самостоятельного построения игровой логики, вы определенно можете найти их в Delphi. Взгляните на Asphyre , это фреймворк для разработки игр, а не игровой движок. Он содержит набор классов и модулей, которые значительно упрощают интерфейс с мультимедийными компонентами на компьютере, такими как DirectX / OpenGL, клавиатура, мышь и другие входы, звук и музыка и т. Д. Это довольно хорошая структура, подходящая для создания игровой движок. В нем нет компонентов для написания сценариев, но для Delphi доступно изрядное количество языков сценариев.

Надеюсь, это поможет вам начать работу.Если у вас есть более конкретные вопросы, не стесняйтесь задавать их здесь, в StackOverflow, и, возможно, один из нас сможет найти более полезный ответ.

6
ответ дан 1 December 2019 в 14:31
поделиться

Вот список ссылок на Delphi, связанных с играми.

(Вы можете добавить в этот список)

5
ответ дан 1 December 2019 в 14:31
поделиться

Посетите Андорра 2D . Это отличный движок для создания игр, и он более мощный, чем DelphiX. Я знаю, что это называется Andorra 2D , но с его помощью также можно разрабатывать 3D-игры. Кстати, существует множество руководств, поэтому я думаю, что у вас не будет проблем с разработкой игры.

Обновление: отличные руководства для Andorra2D вы можете найти здесь .

Приветствую

4
ответ дан 1 December 2019 в 14:31
поделиться

есть unDelphiX

, но он в основном для 2D-игр и основан на DirectX.

0
ответ дан 1 December 2019 в 14:31
поделиться

В разработке находится игровой движок Delphi OpenGL под названием Ярость 3D . Некоторое время он выглядел многообещающим, но, похоже, не обновлялся за 4 года.

0
ответ дан 1 December 2019 в 14:31
поделиться

Несколько лет назад был проект оболочки для DirectX называется DelphiX.

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

-1
ответ дан 1 December 2019 в 14:31
поделиться

Я программировал игры на Delphi с момента его выхода. Я широко использую TGraphics32 для рендеринга игровой доски, UndelphiX для звука DirectX и игры по локальной сети, пакет скинов от KSDev, чтобы придать классный вид, и множество общих компонентов, таких как LMD Tools и TMS, для обеспечения специальных функций. Таким образом, я могу сосредоточиться на написании игры, а не на инструментах. Надеюсь это поможет.

-1
ответ дан 1 December 2019 в 14:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: