LINUX.ORG.RU

Разработка очередной унылой игрушки. Нужны советы. Автор нуб

 , ,


1

4

Дорогой ЛОР, такими вот печальными ночами с ноутом и пакетом мангового сока рядом, я задумываюсь о том, что меня задолбало лепить сайтики на похапэ, ковырять сервачки, и пора бы мне начать нагибать эту голактеку со стороны десктопных (и не очень) приложений. За сим была рождена говноидея о создании какой-нибудь игрушки. В мозгу родился хитрый план написать какой-нибудь откровенно дибильный Tower Defence. Но чтобы была не просто дорожка, по которой бегут 20 шариков, и по бокам башенки, а с полноценным выносом мозга: чтобы было поле размером X на Y, чтобы юзер сам мог строить башенки, чтобы супостаты могли рассчитать кратчайшее расстояние до выхода и продвигались оптимальным путём. И чтобы обязательно игрушка была кроссплатформенная, дабы нерадивые дети, случайно скачавшие эту говноигру могли насладиться всеми багами, которые мне лень было (будет?) исправить, на Linux'e, W$, Android'e и порождении Стива Джобса.

Путём нехитрого гуглежа был найден SDL, который обещает несметные богатства, корованы и девственниц для всех платформ сразу.

Теперь остро стал вопрос технической части и оптимального выбора:

1. SDL торт?

2. Реализацию поля игры лучше делать двумерным массивом, двунаправленным списком, вектором или ещё какой приблудой?

3. A*, алгоритм Дейкстры или ещё что-то? Если у кого-то есть аналог алгоритма из Warcraft 3, то буду безмерно рад.

4. Что мне нужно знать и с чем ещё я обязательно столкнусь, что вызовет у меня острое желание прострелить коленку и вернуться к вебдеву?



Последнее исправление: ThisNameWasFree (всего исправлений: 2)
Ответ на: комментарий от PolarFox

Т.е. разбивать игрушку на отрезки времени, через которые пробегать по событиям и смотреть что нажато, а что не нажато, после чего снова в сон?

ThisNameWasFree
() автор топика
Ответ на: комментарий от PolarFox

Спасибо, вроде сработало. Чем лучше всего мониторить потребление оперативы\CPU, помимо стандартных top\htop?

ThisNameWasFree
() автор топика

Хм. Вот, допустим, пытаюсь структурировать хоть как-то разрастающийся быдлокод. Итак, есть фолдер ./TowerDefence/ с игрой. Есть папка ./TowerDefence/images/ с изображениями и ./TowerDefence/draw/ с кодом для их отрисовки соответственно. Не знаю что делать с разными папками. Как лучше всего разместить\указать сорцу из /draw/ путь к папке /images/ так, чтобы это работало на Linux, M$, MacOS и Android одновременно?

ThisNameWasFree
() автор топика
Ответ на: комментарий от ThisNameWasFree

не знаю, вряд ли разве что boost. А можешь парсить ОС и заменять пути.

usertest
()
Ответ на: комментарий от ThisNameWasFree

Может есть какая-то общая либа под все платформы скопом? :-\

Libgdx, но она на жабе. Зато сразу и под ведроид, и под прочее. Есть ещё cocos2d-x на плюсах, но он мне что-то не очень понравился.

PolarFox ★★★★★
()
Ответ на: комментарий от PolarFox

Заюзал пока boost:

#include <boost/filesystem.hpp>

...

std::cout << boost::filesystem::initial_path() << std::endl;
Не знаю насколько это кроссплатформенно, но пока вполне работает.

ThisNameWasFree
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.