воскресенье, 22 июля 2012 г.

Разработка рандомного генератора уровней для моей игрушки в самом разгаре:)

На данном этапе реализовано построение карты уровня, с последующей ее текстуризацией в ландшафт - летающие острова и наземные базы с пушками-турелями. Местоположение вражин реализовано, пока, еще "на коленке".

Если в кратце, то механизм случайной генерации карты уровня следующий:
1) По пустой карте уровня пускаем "червя" из конца уровня в начало (снизу на верх). Червяк движется рандомно по оси X, по оси Y - всегда вверх. Если червяк вылетает за границы по OX, то он появляется в произвольной точке своего пройденного маршрута и снова продолжает путь, пока не доберется до самого верха. Траектория передвижения червя можно наблюдать в видеоролике с на левой картинке с 6 по 13 секунды.

2) Произвольно на карту уровня раскидываем "центры роста" - те точки, вокруг которых, случайным образом, в разные стороны будет распространятся земля. Часть этих центров - должна попасть на "червячную" траекторию движения. Другая часть - может попасть куда угодно.

3) Из центров роста начинаю расти острова (правая картинка в видеоролике с 6 по 13 секунды). Для того, чтобы получить, именно, острова - "червячную дорожку" я, выкинул. Если ее оставить, то получается длинный, единый материк.

4) Далее, делую небольшую фильтрацию дырок и стыков между островами и произвожу тектурирование.


понедельник, 25 июня 2012 г.

...

Мда, чето совсем нет новых идей и с конфой не прёт:( В целом, не все так плохо - так как Моя теперешная работа связана с XML - в будущем планируется статья по парсингу XML файлов при помощи pugiXML. На данный момент - пытаюсь допиливать свою леталку SSGE. Нужен ХУДОЖНИК (жду предложений) для всего этого хозяйства, не использовать же все время графику из Tyrian. Хочется сделать что-то с похожей картинкой но в стилистике стим-панка. дирижабли, летающие суда и корабли, небесные острова и т.д. Не JamesTown. Планируется осуществить механизм генерации уровня - хочется реализовать скрул-шутер а'ля Diablo:)
Кстати, вот видево последнего билда:

вторник, 29 ноября 2011 г.

мелкие добавления в старые проекты

Недавно обновил сайты своих старых проектов (SwibPlex и BomjSurvivor): для SwibPlex добавлен кривой порт на html5-canvas, а для BomjSurvivor добавлены полноценный html5-canvas порт Survivor и кривой порт на языке Processing - теперь игру можно запустить на андроидных устройствах

МегаТест

Времени программить игры все меньше и меньше, а тут, вдруг, на работе началась аттестация. По итогам аттестации должен пройти экзамен в виде теста на компутере при помощи какой-то мутной проги. При чем, для того чтобы попробовать свои силы до экзамена предлагается купить попытку пройти тест. Денег мне жалко, все вопросы на руках, включая все ответы - верные и не верные. Механизм работы мутной проги известен: задается несколько вопрос с несколькими вариантами ответов перемешанными случайным образом, один из вариантов - верный. Учить ничего не буду, в инсте уже забил на это неблагодарное дело. Да, и что-то Я давно не "трогал" старенький паскаль... Во общем решено - напишу свою мутную прогу - тренажёр и придрочусь при помощи нее отвечать на вопросы правильно. Исходный код Моего варианта мутной проги выкладываю ниже - может быть кому пригодится. Прога написана на старичке Borland Turbo Pascal 7.0 :) Перевести ее на си или еше куда нибудь, думаю -труда не составит. Работает прога примерно так: есть текстовый файл с вопросами (в Моем случае - в кодировке DOS CP866!), который имеет примерно следующий вид:
$25$
{1}
[Текст вопроса N1]
[1. неверный вариант ответа]
[2. неверный вариант ответа]
<3. верный вариант ответа>
[4. неверный вариант ответа]
[5. неверный вариант ответа]
[6. неверный вариант ответа]

{2}
[Текст вопроса N2]
...
и т.д.

В $$ пишется суммарное число вопросов в тексте, в {} - номер вопроса, в первых [] - текст вопроса, и затем - в 5 вариантах в [] пишется неверные варианты ответа (или ничего не пишется, если вариантов ответа меньше 6), а в <> пишется правильный ответ. Далее этот текстовый файл парсится и "магическим образом" прога работает. Вот ее исходный текст:



Исходники Моего варианта мутной проги:MegaTest.zip

вторник, 20 сентября 2011 г.

Пчелайн безлимитный

Как-то, позвонила девушка из тех поддержки моего сотового оператора и предложила "по-акции" подключить "безлимитный" инет за 13 деревянных в сутки. После окончания акции, подключение данной услуги обошлось бы мне в 150 деревянных. Не плохо, показалось мне - и я согласился. Правда на деле он не совсем безлимитный оказался, но пофиг - серфить через телефон хватает выше крыши.
Ну так вот, сегодня утром не успев скачать пару обновлений и проверить почту - инет в один знамечательный момент отрубается и я обнаруживаю, что на счете пусто:( Не беда - кладу на счет денежку в размере 300 рэ. Продолжаю тунеядств читать почты, RSSы, хабры дальше... И опять: спустя некоторое время инет снова отрубается, а на счету лежит всего 50 копеек:( Звоню в тех поддержку. Объяснюя проблему - и оказывается, абонентская плата на сутки безлимитного инета снимаются только в начале этой самой сутки (в полночь!), ни минуты позже или раньше. На начало текущих суток сумма на счете была меньше абонентской и ее не списали, и инет был платным как у всех - по 6-7 рэ за метр. Об этом открыто ни предупреждают! В итоге, поговорив еще чуть-чуть с очаровательной девушкой из тех поддержки договорились, что так, как косяк не совсем мой - оператор деньги вернет на следующих условиях: услуга "безлимитный инет" будет переподключена (-150рэ) и еще будет снята абонентская плата за текущие сутки. В итоге на счете обнаружилась сумма в размере 137 рэ и был доступен снова пчелайн безлимитный...
Вот такая вот дурацкая история. Будьте внимательны - проверяйте свой счет до полуночи!

суббота, 20 августа 2011 г.

Планы...

Может показаться что блог заброшен и до программирования Мне уже "нету дела". Это не так. По-позже чиркну пару строк. Сейчас очень мало свободного времени - лето:) За это время, Я портировал SwibPlex на html5, "бомжсурвайвер" портирован на Processing и запускается под андроидом, пилю SSGE - починил тени, добавил слои. В будущем, в качестве основной платформы для разработок, думаю придерживаться html5. Планирую провести конференцию LGDC #2 в ноябре или раньше. Новых идей для игр, увы - нет:( Может попробую Box2d...