четверг, 19 октября 2017 г.

Отчет по движку - 1

Работа продолжается. Но к сожалению не удалось сделать то что хотел.

Зато был проведен сильный рефакторинг лоу рендера и сейчас началось интенсивное тестирование. То что получилось - мне нравится

Также я принимаю участие в конкурсе шутеров, который будут делать на этом движке (если успею). Цель как раз приспособить движок под реальные задачи.

вторник, 19 сентября 2017 г.

Отчет по движку - 0

Решил пилить что-то типа отчета о том что сделано в движке. Раз в неделю или по настроению...

Движок находится в очень ранней стадии разработки и пока не пригоден для применения.

Серьезная работа над движком началась с 15 августа (на основе старого варианта, из которого было выкинуто 90% кода).... Именно с 15 августа я стал работать над движком практически каждый день. От 3 до 10 часов в день. То есть движку сейчас чуть больше месяца :)


На текущий момент движок разбит на следующие библиотеки:
- Engine - общий и основной код (в будущем код будет разбит на несколько библиотек).
- Math - математическая часть движка
- Renderer - абстрактная часть рендера
- RendererGL - OpenGL слой
И состоит из 12557 строк (сторонние библиотеки не считались), но постепенно процесс ускоряется (очень сложно начать, когда оно все еще плохо работает, а потом оно уже легче)

Из текущих возможностей пока что работает низкоуровневый рендер. Сделаны:
- вершинный, индексный и константый буферы
- формат вершин, стейты, рендер конвеер, шейдеры
- рендер в текстуру 
Плюс операции над матрицами, в том числе пространства. Вращения через кватернионы.

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


четверг, 14 сентября 2017 г.

И снова к движкам

После годового перерыва снова вернулся к движкописательству. Всеже юнити - это не то

Движок здесь
https://github.com/warzes/3DEngine

Уже 145 коммитов. но пока что не пригодно для вообще какого-либо использования.

Движок пишется на OpenGL рендер.

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


Код движка время от времени проходит проверку через PVS-Studio (бесплатной версии).

Плюс тут прогнал его через https://bettercodehub.com/
Получил 5 из 10  (и то снизили за отсутствие автотестов, и за сторонние библиотеки (надо наверное в отдельный репозиторий пульнуть)

понедельник, 31 июля 2017 г.

Project Z - идея очередной игры мечты

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

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

Основная суть
Вы наверное знаете Hearthstone? Так вот - а я решил сделать такой же проект... но в другом жанре. Не ККИ, а варгейм с миниатюрами. Ну на самом деле вы могли заметить что я давно такое пытаюсь сделать - и по битвам fantasy и по вахе... А сейчас решил придумать свое.

И суть игры - игрок коллекционирует себе армию и сражается ею против противника
Вот примерно так (взято из Tabletop simulator)



понедельник, 10 июля 2017 г.

Анонс проекта мечты (планы)

Жанр: мморпг
Управление и камера: нонтаргет, камера от третьего лица
Визуальный стиль: 3D Low poly style (близкие аналоги - альбион онлайн и crowfall), с некоторой примесью аниме.
Сеттинг: ванильное фентези (но пока эльфо-гномы не планируются)

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

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


дописывается!!!







четверг, 4 мая 2017 г.

Я вернулся v2.0

Ну очень давно не писал в своем блоге (а за ним еще кто-то следит?)
А теперь вот решил вернуться.

И начну с анонса нового проекта. ну точнее не нового, а возрождения старого - битвы fantasy:) Я уже работал над этим проектом, но потом убрал на полку. а теперь пора продолжать
Добавлено: я всеже решил делать другой проект. Насчет выше названного - под вопросом. У меня очень мало мотивации к данному проекту.
Но если кому-то интересны именно BF - я попробую к нему вернуться. Плюс там еще ваха 40к новой редакции вышла - тоже были планы)

Делается на юнити.

p.s. играть в мморпг - зло:(

вторник, 7 июня 2016 г.

Как не забыть TODO в коде

В студии можно сделать так:
#define STRINGIZE_2( _ ) #_
#define STRINGIZE( _ ) STRINGIZE_2( _ )
#define TODO(msg) __pragma(message(__FILE__ "(" STRINGIZE(__LINE__) ") : TODO: " msg))

И теперь везде в коде (в любом месте) писать вот так:

TODO("описание задачи")

В результате, теперь при каждой компиляции все ваши TODO будут вываливаться среди ошибок и варнингов:) уж точно не забудете