Най-ефективният начин за създаване на ниво на игра? (LibGDX)

Правя игра, подобна на платформинг (не точно платформинг; това е вертикално превъртане), но зареждането на нивата трябва да е подобно. Досега съм срещал два начина за създаване на ниво на игра.

  1. Използване на карти с плочки. По принцип използвате някои плочки, за да създадете своето ниво в редактор на карти с плочки, като например Плочки, и след това използвате това като вашето ниво.

  2. Използване на ArrayList и съхраняване на всички GameObjects (тухли, шипове и т.н...). Всички обекти и техните позиции ще бъдат съхранени в текстов файл и след това ще бъдат достъпни и поставени в масива по време на изпълнение с помощта на StringTokenizer и цикъл.

Струва ми се, че използването на Tiled Map е по-лесно и по-удобно. Има ли някакви недостатъци при използването на Tiled Maps и/или предимства при използването на метода ArrayList? Или има друг метод, който е още по-добър?


person michaeljan    schedule 23.08.2015    source източник


Отговори (2)


Отговорът е във вашия въпрос: Tiled Map е по-лесно и по-удобно, тогава текстовите файлове са по-трудни и по-малко удобни.

Вместо да използвате текстови файлове с персонализиран анализ, защо не използвате стандартен подходящ формат като XML или JSON. Анализаторът на Goos вече съществува за тези формати.

Ако въпросът ви е относно производителността, не се притеснявайте, tiled е XML формат и ако експериментирате с проблеми с производителността в бъдеще, можете да обработите предварително своите карти с плочки, за да генерирате оптимизиран формат за вашата игра.

person mgsx-dev    schedule 24.08.2015

Tile Maps може да са лесни за използване, след като ги научите, но научаването може да не е непременно лесно. Ето уикито, за да сте сигурни:

https://github.com/libgdx/libgdx/wiki/Tile-maps

Ако смятате, че вашата игра е достатъчно проста, за да можете да я направите с ArrayList и StringTokenizer, казвам защо не.

Кажете обаче, че играта ви става по-сложна по пътя. Може би искате да изберете Tile Maps, за да ви помогнат да управлявате тази сложност.

person strider    schedule 25.08.2015