Легенды лифиана

Закрытые или заброшенные проекты, не состоявшие в Клубе, но имевшие ветку на форуме.

Модератор: Jolly Roger

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Легенды лифиана

Сообщение warchief » 08 авг 2009, 10:24

Вот еще одна моя попытка создать игру, теперь семидневную. На данный момент начался второй день разработки. Здесь буду выкладывать свой дневник. За все ошибки и неудобность чтения прошу извинить меня - дневник не редактируется.

Решил сделать рогалик за 7 дней.

Начало

+ появилась идея делать семидневный рогалик.
+ идея рогалика - герой (воин) путешествуя с караваном по пустыне (он охранник) попадает в бурю. Пытаясь укрыться от летящего песка он отходит от каравана и теряется. Через некоторое время он находит маленький оазис и решает ждать любой другой караван. Но пустыня опасна. Однажды на горизонте он замечает другую бурю - самую опасную бурю пустыни которую называют местные жители просто - ход мертвецов. Внутри бури трупы оживают и следуют за бурей по всей пустыне. Любого встречного они убивают. Герой недолго думая прыгает в яму которая находится возле оазиса и попадает в древний храм - склеп. От скуки он решает иследовать давно забытый храм, вот только оказывается что этот храм не так у и забыт.

Вот план на неделю:
день 1: каркас игры, выделение памяти для карты, для героя. Дополнительно: отображение героя и карты
день 2: герой и карта, движение по карте, перемещение между картами (старые карты будут сохраняться во временные файлы), LOS. Первая карта - оазис.
день 3: монстры и предметы. Инвентарь. Генерация подземелий и заселение монстрами и предметами. Контейнеры для предметов.
день 4: Полное подземелье по которому сможет двигаться герой. Монстры еще ничего не делают. Предметы можно собирать. Ловушки. Дополнительно: можно организовать загадки решив которые игрок сможет получить холошие плюшки.
день 5: Опасности для героя - АИ и повреждения от ловушек. голод.
день 6: Сохранение/загрузка игры. Полное оформление.
день 7: окончательный баланс игры, представление общественности


Ну, начну:
* долго думал что делать с ограниченностью в 16 цветов. В конце концов решил использовать TinyCurses 1.0a. Неплохая вещь. и в отличие от libtcod не перегруженна всем тем что мне не нужно. Да и в коде записанном в двух файлах легче разобраться. И документация есть, с примерами.
Поправка: из-за незнания, как вывести русский текст, TinyCurses использоваться не будет. Вместо этого я напишу свой двиг с копированием из TinyCurses. Поправка: легче опазалось написать с нуля.

День 0

Пишу свой двиг.
Все двиг записан. Пока он может только заливать экран цветом и выводить в любой точке текст. Фон и цвет текста можно менять. Размер текста также можно менять.

День первый
+Теперь можно заняться и игрой. Начну с каркаса.
+Создал первое окно-логотип-меню. Хм, какая-то у меня любовь к такому оформлению, назовука я этот стиль "золотом в тихом море". А так прикольно смотриться, в чем-то даже архаично.
+Ну, дальше описание героя.
Навыки
Магия - улучшает магические заклинания, поможет сократить время подготовки заклинания. При высоком уровне заклинания в двое сильнее.
Атлетика - позволит перепрыгивать через ямы, плавать. При высоком уровне добавка к здоровью
Выносливость - уменьшит голод, сопротивление болезни. на высоком уровне может применяться вместо стойкости.
Лечение - позволяет эффективней использовать подручные средства для лечения. Может помочь при кровотечении. на высоком уровне, эффект удваивается.
Внимательность - позволит избежать застигнутости врасплох. Обнаружить секретные двери и ловушки, тайники. На высоком уровне, эффект удваивается.

А с картой проблемы, слишком медленно отрисовывается. Придется делать такую вещь - буфер экрана в него заносится весь выводимый текст, потом весь этот буфер отобржается на экран одной функцией. Но пока вижу проблему - как хранить текст нестандартного размера?
не такую вещь делать не пришлось, оказывается это функция SDL_Flip() тормозит, вынес ее в одельную функцию и вызываваю только тогда когда нужно показать созданный в памяти рисунок.

+карта выводится на экран. остались существа и герой
+ герой выводится и на этом можно первый день закончить

И напоследок, какой из двух меню вам нравится больше? А может есть другие идеи по оформлению?
1.jpg
Меню в стиле "блеск во тьме"
1.jpg (52.41 КБ) 6462 просмотра
blue.jpg
Меню в стиле "золото в тихом море"
blue.jpg (54.81 КБ) 6462 просмотра
game.jpg
Скриншок игры
game.jpg (56.83 КБ) 6462 просмотра
Также выкладываю исходники консоли.
console 7DRL.rar
консоль
(2 КБ) 206 скачиваний
Последний раз редактировалось warchief 18 фев 2011, 13:47, всего редактировалось 2 раза.

Аватара пользователя
Sanja
Администратор
Сообщения: 776
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Sanja » 08 авг 2009, 10:39

Второй вариант нормально. Белое солнце, жёлтый песок, синее небо. Способствует.

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Maelstrom » 08 авг 2009, 10:47

А мне больше первый нравится. Как раз, склеп, темно, чёрный цвет.
Второй вариант навевает Adventure Island на денди :)
Айв кнгенгах Йог-Сотот

Аватара пользователя
Sanja
Администратор
Сообщения: 776
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Sanja » 08 авг 2009, 10:57

Кстати, да! Мне самому показалось, что вот-вот сбоку выбежит этот усатый удалец в кепочке.

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 09 авг 2009, 07:24

День 2
+ так герой и карта уже сделаны. Значит буду делать движение героя по карте
+ движение сделано. Отказался отделить героя и теперь и герой другие существа хранятся в одном массиве.
+ структурировал структуру игры
+ добавил несколько символов которые мне нужны для оазиса
+ переписал функцию определяющую текущее событие - теперь она не ждет событие а обрабатывает текущее состояние клавиатуры. Из-за этого получил возможность анимации для воды и будущей бури.
+ с водой получилось так: вместо обычных волн (какие волны в озере?) получилось мерцание - интересно его можно считать бликами солнца на поверхности воды?
* нашел интересный способ создания карт - в граф. редакторе создал рисунок, накинул на него сетку, проставил систему координат, потом просто заливал каким либо цветом нужные клетки. А потом с помощью системы координат находил нужную клетку и в коде указывал ее координаты.
+ оазис готов.
* Гм, какого цвета сделать героя? Белый на желтом раздражает... Возникла следующая идея - в пустыне герой темно-серый, в подземелье белый - получился эффект яркого солнца.
* теперь LOS.
* Мда, полчаса тупил со старым ЛОСом взятым еще с баллад Лифиана. "Почему-то" работающий алгоритм не хотел запускаться. И только долго помучавшись я вспомнил что нужно было сгенерировать таблицы расчета cos и sin, чего я не сделал. И как я это мог забыть?
+ LOS работает и на мой взгляд он очень хорошо подходит под игру.
* осталось перемещение между картами. Нет, сегодня я это делать не буду. На этом можно закончить второй день. Ох завтра будет самый сложный день, потому как я не знаю пока как зранить описание монстров и предметов
+ блин чуть не забыл про траву
game2.png
Вид экрана игры
game2.png (2.31 КБ) 6434 просмотра
Гм, а мне оба экрана меню нравятся. Наверное сделаю возможность выбирать стиль оформления экрана, тем более это не сложно.

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 09 авг 2009, 08:37

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

В следующем вы будете играть божественным аватаром. Игра будет жестокой, ваша цель - очистить город осажденой ужасными тварями (чем-то похоже на berserk). Но это ужастик - ваша сила будет зависить от числа выживших. Помните сцены в фильмах ужасов- когда люди от бестий прячуться в храмах и усиленно молятся? А бестии пытаются прорваться? Вот это и есть идея рогалика.

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 09 авг 2009, 08:42

и еще, помню был сайт по созданию ASCII демосцен (кто-то на этом форуме советовал), ну там огня, еще чего-нибудь. Можете напомнить мне этот сайт? ну или другие посвященные ASCII спец эффектам, желательно с исходниками.

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Maelstrom » 09 авг 2009, 19:53

Ты символы в форме картинок рисуешь? Просто интересно, откуда такая прикольная водичка и такие деревца.
Айв кнгенгах Йог-Сотот

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 09 авг 2009, 23:38

Нет, это все богатство true type. Я использую шрифт DejaVu Sans Mono. А сами символы подбираю через таблицу сиволов.

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 10 авг 2009, 04:06

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

Аватара пользователя
Aerton
Сообщения: 503
Зарегистрирован: 11 авг 2007, 02:58
Откуда: Новосибирск
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Aerton » 10 авг 2009, 04:29

warchief писал(а):и еще, помню был сайт по созданию ASCII демосцен (кто-то на этом форуме советовал), ну там огня, еще чего-нибудь. Можете напомнить мне этот сайт? ну или другие посвященные ASCII спец эффектам, желательно с исходниками.
Использовать libcaca и получить ASCII art из любой картинки или видео. Хоть на лету, хоть сконвертировать заранее.

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 10 авг 2009, 05:45

У меня сейчас мозг взорвется, третий день подходит к концу а я еще свой генератор карты творю.

Никто случаем нигде не видел генераторы карты в результает которых получаем карту чем-то похожую на храм? А то первые две карты будут в храме посвященном какому-нибудь богу, делать карты статическими как-то не хочется. Не делать же стандартный карта-коридор...
Использовать libcaca и получить ASCII art из любой картинки или видео. Хоть на лету, хоть сконвертировать заранее.
Мне чего хочется.... Чтобы на стартовом экране следующего рогалика текла кровь, то есть нужна анимация.

Аватара пользователя
Yozka
Сообщения: 127
Зарегистрирован: 29 июл 2008, 06:42
Откуда: Тюмень
Контактная информация:

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Yozka » 10 авг 2009, 06:29

Храм.
Как вам идея для следующей генерации.

Храм это здание, с одной большой комнатой по середине, по периметру - колонны, с боков небольшие комнаты - помещения, эти маленькие помещения должны быть симметричны.

Алгоритм может быть следующим
1. Карту делим на 4 части (по вертикали, и горизонтали)
2. Берем самую левую верхнию часть, далее потексут регион.
3. В регионе вправом нижнем углу делаем комнату прямоугольник с размером от половины ширины/высоты региона +-рандом.
4. оставшиесся пространство заполняем случайнми маленькими комнатами.
5. регион проецируем зерклаьно на верхнию правую область карты
6. также проецируем зеркально внижнию правую часть
7. проецируем в нижнию левую часть
-- получааем симитричную карту в центре которого одна большая комната
8. прорубаем ходы - соединяющие комнаты
9.расставляем колонны в центральной комнате.

Храмы, принадлежащие разным богам, различать можно по калоннам.
Бог 1 - колонны слева и справа
Бог 2 - одна большая колонна в центре
Бог 3 - колонный только справа
итд.

Relict
Сообщения: 59
Зарегистрирован: 05 сен 2008, 13:53
Откуда: Kursk

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение Relict » 10 авг 2009, 06:47

warchief писал(а):Никто случаем нигде не видел генераторы карты в результает которых получаем карту чем-то похожую на храм?
http://www.holyfire.org/plan1.htm#3
http://ancientrome.ru/art/artwork/img.htm?id=33
http://www.architektor.ru/pics/editor/komsky2.jpg
http://www.architektor.ru/pics/editor/komsky8.jpg

Аватара пользователя
warchief
Сообщения: 297
Зарегистрирован: 11 янв 2008, 09:55
Откуда: Озеро снов

Re: Легенды Лифиана: тайна пустыни 7DRL

Сообщение warchief » 10 авг 2009, 06:53

Храм это здание, с одной большой комнатой по середине, по периметру - колонны, с боков небольшие комнаты - помещения, эти маленькие помещения должны быть симметричны.
Наверное попробую на крайний случай такой способ
Да, не примерные планы храмов я знаю как выглядят. Мне нужен генератор.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей