С наступающим.
В общем, за эти полтора месяца я особо много работы себе не намечал и думал, что "оптимизировать код, допилить недопиленное" - это такая простенькая задачка, которая оставит мне время, чтобы сделать передышку и собраться с силами перед новым годом. Но не тут-то было. Взглянул на свой код и понял, что его писала макака с трехнедельным запоем. В этот раз воду лить не буду и сразу перейду к делу.
На прошлой неделе вышла десятая версия лав2д, где они добавили кучи крутых фич и радости моей не было конца, пока я не попробовал запустить саржик на своей старой машине. Выдал мне ошибку создания окна и тут я решил что делать. Благодаря треду с переписью, я выяснил, что многие из вас обладают мощным железом и я теперь могу особо не заострять внимание на поведение игры на слабых компьютерах. Хотя я все же постараюсь сделать отдельную версию для них. Пока что они мало чем отличаются.
Но, за это время у меня наконец появился монстр-компьютер, на котором работать - одно удовольствие, так что я продолжу пилить попиксельное освещение.
Еще один важный момент потом, а пока я расскажу что удалось сделать:
Так вот, я говорил, что код писала макака. И мне пришлось переписать многие вещи.
Переписал ООП(Были опасные баги...), инвентарь(Убрал слоты, добавил один большой слотище), текстбокс(Все равно он еще дерьмо, но в 10-й версии можно красить символы и у меня уже руки чешутся переписать текстбокс еще разок), худ(Теперь корректно работает на всех разрешениях), передвижением мобов(Было кривое дерьмо), и прочий мелкий шлак, который не помню. И две большие вещи:
Прорисовка. Да, теперь объекты не привязаны к тайлам. Раньше я вызывал цикл и прокатывал через него контентс тайла, таким образом рисовал послойно. Теперь это не нужно. Полностью переписал прорисовку с использованием спрайтбатча. Теперь объекты рисуются также послойно и независимо. Плюс спрайтбатч повышает производительность, рисуя одинаковые объекты за один вызов.
Карта, генератор карты и все, что с ними связано.
Полностью это дело перепилил, но теперь в более удобной форме и с зет-уровнями. Разберем подробнее чуток.
Теперь при генерации можно выбрать из пока только двух типов станций(Классическая и модульная с уровнем вниз) и пока только трех окружений(Космос, снежная поверхность и водный мир). Если классическую станцию мне удалось доработать до неплохого состояния, то над модульной придется еще поработать.
Короче, классической я добавил прибытие и отбытие, коридор между ними и к коридорам отсеки.
Модульная станция располагается на поверхности и каждый отсек друг от друга отделен, этажи отсеков уходят вниз и их связывает лифт, ну еще есть космопорт.
Окружения ничем интересным не блещут, ну есть там снизу лед, сверху снег. Или дно, а повыше вода по колено. Ничего интересного и уныло даже выглядит.
Не хотелось бы показывать, но да ладно, может появятся пожелания или советы:
Спойлер
Классика в космосе.
Спойлер

Водный мир с Кевином Костнером.
Спойлер

Полярный кошмар.
Спойлер

Звиняюсь за надписи и сообщения в текстбоксе, просто проверял версии. Мышка старой версии не работает на новом лав2д Вместо "l" надо юзать 1.
А, да. Еще должны были быть мебель и окна, но когда перепиливал ООП, возникло дерьмо в мап-генераторе и пришлось отключить, ибо там надо рыться в 1к+ строках кода и перепиливать куски. Я этим потом займусь. К концу января будет в лучшем виде.
Ну теперь перейдем к мелочам:
*Перепилил органы. Сделал пресеты(наборы) органов для генерации при создании моба. А также, внешние органы с полостью теперь имеют ячейки под внутренние органы. При наличии свободных ячеек можно добавлять дополнительные органы, три почки, два сердца и прочее. Планировалось, что каждый орган выполняет какую-то функцию и дают какие-то улучшения игроку, чем их больше, тем проще повредить органы. Что же, осталось теперь только придумать улучшения...
*Реагенты. Реагенты в органы, реагенты в банки, реагенты в природе, всем реагенты.
*Расчлененка на уровне сообщений в текстбоксе и удаление конечностей. Доделаю, чего уж...
*Спейс луб под названием "с трех тайлов в стену фарш"*Инструменты и использование их по назначению.
*Интенты. Пока только харм и хелп на кнопках 1 и 2, но позже добавлю еще два и хочу тумблеры на сайдскрине.
*Арт в главном меню, которое вы не увидите, потому что без анимации смотрится паршиво. Да и вообще не очень выглядит. Может даже перерисую...
*Саундтрек теперь тоже играет в главном меню.
*Некое подобие глобальной карты. Пока только жалкая наработка, которая делалась по фану, но теперь я серьезно подумываю сделать перемещения и всякое такое. Намного позже, конечно же.
*Сделал потайловое освещение более плавным и красивым.
*Еще примерно 6-7 фич, про которые я не расскажу, ибо 1)не будет интересно, 2)не допилено, 3)уродливые спрайты моего производства.
Как-то так.
Теперь планы на январь. Ведь в следующий раз я отпишусь в конце января.
Постараюсь доделать попиксельное освещение. Есть возможность и прочее, теперь уже с шейдерами. Я с ними поигрался, познакомился.
Подпилю генератор карты. Постараюсь разнообразить рельеф, добавить астероиды, холмы, коралловые рифы, какие-то мелкие декали. Решу проблему с мебелью и окнами, может доделаю модульную станцию.
Возьму две недели в январе на допил мелочей и фикс багов. Рождество будет весело проведено за кодом с чашкой кофе.
И... Переделаю саржик под аболютный топ-даун. Да, я взглянул на все и понял, что:
1. Стиль ССочки индивидуален и интересен, но один я его не потяну.
2. Вопрос со спрайтами персонажей решится, если сменить перспективу. Тогда понадобится лишь 20-26 фреймов (Всего) и меньше на анимации. В конце концов, инвентарь построен так, что вы сможете увидеть своего персонажа во всем обмундировании.
3. Это полезно для освещения. Если будут дырки в стенах, через них просочится свет, например... Тем более, я буду знать что конкретно учитывать при расчете освещения.
4. Станция наконец сможет крошится. Куски... Да что там, целые отсеки будут трещать по швам и улетать в опен спейс! Муторный алгоритм уже есть, остается доделать и можно будет заморочиться уже в написании.
5. Такой вид приятнее.
6. Ну и я думаю, что смогу спокойно подключить встроенную физику. В таком виде рассчитывать проще.
Не уверен, что здесь есть минусы.
Ну и атмос. Я его еще не сделал. Я пока только думаю над алгоритмом. Планировал сделать зональный потайловый, но это ущербно, имея в распоряжении возможность сделать что-то мощное. Я думаю, что попробую сделать что-то с использованием рейкаста(освещения) и точно помещу в отдельный тред, ибо чувствую, что атмос съест реально много. Короче, ничего не обещаю по поводу этого, ну, кроме алгоритма или попытки.
Собственно пока все.
Но хочу сказать спасибо человеку, написавшему саундтрек, он действительно хорош. И саундтрек, и человек.
И сказать спасибо спрайтеру, который нашел в себе силы и свободное время, чтобы попиливать для меня спрайты. Выздоравливай.
И тем не менее, мне бы еще пригодилась помощь.
Разыскиваются исключительно живыми:
Второй спрайтер. Первый, конечно, ну очень хорош, но дабы увеличить темпы...
Человек, умеющий в арты, которому не влом поработать за спасибо. Ибо я рисую ужасно. Достаточно взглянуть на аватарку и можно все понять.
Ну и напоследок, хочу сказать, что если все сложится удачно, а пока вроде как удачно, то в конце февраля должно получится что-то рабочее, а в конце весны 2016-го появится первая альфа. Тогда, с марта я смогу отписываться куда чаще. Каждые две или одну недели.
Цитата
Я бы мог помочь, но не представляю как могут знания атмосов ССки помочь в создании нового, в код то я не умею.
Знание газов, их поведения, давление. Это все можно найти в гуглах, но мне как раз нужен был человек, знающий все это в действии. Но теперь уже не нужно. Пока что. Пока я думаю как сделать лучше.