Планы и всякое

Я давно не писал в блог “просто так”, о жизни. Этот пост будет посвящен этому. Я расскажу о том, чем я живу в последнее время, о прогрессе в разработке Ignite и о своих планах на будущее.

С 2009-го года я был в свободном плавании – будучи некрасиво уволенным по сокращению с предыдущего места работы, я не нашел ничего лучшего, чем открыть субъект предпринимательской деятельности и продолжить работать самостоятельно, на себя. Дела шли неплохо, но этот пост не про это, как и не про то, как в нашем государстве(Украина) способствуют развитию мелкого бизнеса. Скажу только, что к 2013-му году работать стало окончательно невозможно, и я начал искать работу программиста на стороне.

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

Я пошел работать на должность web developer`a и разрабатываю сейчас интересное web-приложение для своей компании. Она не занимается аутсорсом (как 99% компаний в Украине) и это первое, что меня радует. Второе – то что мне удалось совладать с собой и стресс с депресняком, которые преследовали меня при поиске работы и получении отказов, не заставили меня сменить ни род деятельности, ни даже язык программирования.. хотя конечно акцент с десктопов сместился на веб. Я все также продолжаю совершенствовать свои знания C# и .net framework.

От работы перейдем к личным проектам: работа над Ignit’ом опять застопорилась – за последние три недели я не написал ни строчки кода(ну может быть несколько). Если честно, мне просто надоело его писать. И, вероятно, это будет концом его разработки. В ближайшие дни я соберу версию, пригодную для публикации, и выдам ее на гора. Возможно, исходные коды уедут на github, но, если честно, мне стыдно за некоторые(многие) места времен hello world моего обучения языку C#. Возможно, публичный (сырой) релиз подстегнет мой интерес.. если же нет, то в задумке крутится новая (и совершенно не похожая на предыдущую) игра:

Игра будет написана с использованием MonoGame и будет поддерживать Windows/Linux из коробки и MacOS/iOS/Android в перспективе. Рабочее название Into the Void. Тематика: первое освоение далекого космоса.

Управление свободной камерой

Ignite pre-Alpha gameplay: New Interface

Ignite – Fire Damage

Сегодня добавил в игру первый элементальный эффект от урона – огонь. На данный момент он встречается только на факелах или при выпадении соответствующего аффикса при генерации редкого предмета:

В Игнайте огненный урон вешает на персонажа дебаф “Горение”, который сработает на следующем ходу и причинит часть уже нанесенного урона. Некоторые таланты будут увеличивать урон и продлевать время действия горения для его синергии с активными талантами. Наличие этого эффекта является базовой механикой для класса “Пиромант”.

Ignite – Увеличение дальности обзора

После просмотра видео, опубликованного в прошлом посте , мне пришло замечательное предложение, реализовав которое я стал на один большой шаг ближе к более качественному проекту. Предложение заключалось в том, чтобы увеличить отображаемую на экране игровую площадь. В итоге, я увеличил дальность зрения игрока с 25 до 50 клеток, и чрезвычайно доволен тем, как стала выглядеть игра:

Одновременно с этим, я увеличил непрозрачность непроходимых тайлов с 0,6 до 1,0 (т.е. теперь за первым тайлом стены не будет видно второй, как в стандартных рогаликах), и прозрачность частично прозрачных тайлов (лес) до 0,45. Пока тестирую эти изменения.

Ignite – Менеджер для Атласа Текстур

Лирическое отступление: Ходишь такой весь красивый по собеседованиям, и на одном без зазрения совести получаешь: “да Вы в WPF максимум из панели управления контролы на дизайнер накидать можете”.

Скопив достаточное количество подобных воробьиных слов, прощаешься с очередным интервьюером, приходишь домой и продолжаешь работу над своими проектами, в данном случае – Игнайтом. Сейчас я в большей мере занят проработкой игрового баланса: разработкой модели роста персонажа и сложности игрового мира, но кроме этого есть еще несколько направлений развития. Одним из них я собираюсь поделиться с вами в этом посте.

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

В процессе своей работы он создает новые атласы текстур и редактирует существующие. Также для атласа менеджер создает специальный разметочный xml-файл, где описывается его структура:

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

Менеджер загружает новые текстуры в атлас как из уже существующих файлов на компьютере, так и из буфера обмена. Также в буфер может быть помещена весь атлас целиком или отдельная его текстура для дальнейшей работы.

И чтобы хоть как-то оправдать вайн в начале записи, скажу что программа написана c помощью WPF и паттерна MVVM, что не является обязательным для такой небольшой утилиты, но гулять так гулять.





контент маркетинг