Оставлю небольшой отзыв. Недавно Иван вышел со мной на контакт с предложением, от которого я не смог отказаться. Качество его работы достаточно высоко, а цены вполне адекватны. Если вам нужен композитор, я рекомендую как минимум связаться с Иваном и узнать, что он готов вам предложить.
Notin, Серьезные ошибки в архитектуре, вызванные неопытностью, в основном ) Второй раз такого не будет )
Добавлено (14 июля 2015, 20:42) --------------------------------------------- У меня снова появилось право редактировать шапку. Непонятно, но вовремя ) Добавил видео в шапку.
Добавлено (15 июля 2015, 21:20) --------------------------------------------- Что-то как-то и контента у меня особо не осталось, чтобы показать... где активность? )
Сообщение отредактировал Kos94ok - Вторник, 14 Июля 2015, 20:34
Notin, К слову, результат, который мы видим сейчас - это всего полгода работы. Два года до этого ушли на прошлый движок, который целиком полетел в мусорник.
Notin, Не знаю, возможно. Буду смотреть по конечному продукту. Моей конечной целью никогда не было продать игру и заработать денег, но если получится, я буду очень даже рад.
Remmintan, Я хотел про сеть отдельную статейку выдать, но вообще - да, вроде решились. Элегантность в общении сервера и клиента утеряна, но протокол теперь гарантирует, что все пакеты дойдут. Возможно, несколько раз, но дойдут )
Добавлено (14 июля 2015, 19:31) --------------------------------------------- Я никогда не подружусь с видео... Небольшая демонстрация системы погоды.
Сообщение отредактировал Kos94ok - Вторник, 14 Июля 2015, 19:32
Madeline, Благодарю за поддержку ) Remmintan, Тогда понятно. Удачи тебе в твоей разработке, кстати )
Добавлено (10 июля 2015, 11:34) --------------------------------------------- Что происходит, когда программисту становится лень подсчитывать статистику вручную? Он учит программу делать это за него, конечно же.
Добавлено (12 июля 2015, 10:37) --------------------------------------------- Где же все комментарии? Мне нужно вбросить еще контента? Ладно, есть у меня немного в запасе ) Не так давно закончил работу над системой чата и системного лога. В отличие от консоли, этот лог выдает сообщения о том, что важно для игрока. Например, получение или потеря вещей из инвентаря. Выглядит лог таким образом:
Эти сообщения висят на экране всего несколько секунд, а наличие сообщений о том или ином событии можно отключить в настройках. Ну а чат выглядит похожим образом:
Думаю, о назначении чата мне рассказывать не нужно )
tduk, Все зависит от твоей работы, конечно же. Лично я буду ждать информации о том, на каком движке ты это делаешь, хотя я уже чувствую конструктор или юнити. Но ты все еще можешь меня удивить.
Сообщение отредактировал Kos94ok - Пятница, 10 Июля 2015, 10:14
Remmintan, Тут дело в другом. На моей GTX 660 это незаметно, а на какой-нибудь Intel HD Graphics это будет падение, скажем, с 40 до 20 кадров, что заметно. Я стараюсь оптимизировать код настолько, насколько возможно. Иногда даже слишком, признаю, но зато у меня остается возможность добавлять подобного рода эффекты без особой боязни, что это убьет производительность ) К слову, в нынешних реалиях ограничивать частоту кадров - идея так себе. Если уж и резать, то до 120, не меньше. Ибо есть мониторы с высокой частотой обновления.
Сообщение отредактировал Kos94ok - Среда, 08 Июля 2015, 23:03
vladhad22, Спасибо, очень приятно ) Интересно, правда, почему у меня может получиться лучше? )
Добавлено (07 июля 2015, 17:51) --------------------------------------------- Еще одно небольшое обновление. Играл я, значит, с шейдерами, когда заметил возможность сделать одну интересную вещь. Привожу скриншот-сравнение. Слева новый эффект активирован, справа - его нет.
Теперь источники освещения дают заметный эффект даже днем. К сожалению, такой эффект заметно ударит по производительности (с 260 до 230 кадров в секунду для трех источников освещения, а чем больше - тем заметнее), так что его можно будет отключить в настройках.
Remmintan, Моя простая технология теней не позволяет создать полные динамические тени ) И я не вижу никакого способа избавиться от такого ограничения )
Добавлено (06 июля 2015, 00:01) --------------------------------------------- Хотелось бы поделиться прогрессом за последние дни. Меня порадовал результат работы над фонариком, который я выложил выше, но он никому особо и не приглянулся. Тем не менее, пока я делал его, мне пришлось реализовать пару достаточно важных систем. Ну а раз я начал активно копаться в коде ядра, добавил и еще кое-что полезное ) Я говорю о системе прицеливания и строительства. Прицеливание позволяет использовать активные предметы или способности самым ленивым образом - мышкой. Клик мышкой на кнопку, клик мышкой на точку - снаряд полетел или действие выполнилось. Со строительством же... все тоже просто, конечно, но я принес немного демонстрации )
Начнем мы с того, что соберем стандартную палатку. Эта возможность была добавлена благодаря все той же системе строительства.
Далее, подберем предмет - нашу палатку.
Если мы хотим построить палатку в другом месте - нет проблем. Находим соответствующий пункт в меню.
Заметив привычный зеленый (или красный, если строить нельзя) контур, выбираем место.
Один финальный клик - и палатка уже стоит!
Система используется для палатки, костра и нескольких элементов древа технологий.
Другой интересный момент заключается в том, что эта же система была реализована и в старой версии движка, однако её создание там потребовало куда больших усилий, да и результат был не настолько хорош. Я считаю это хорошим знаком для новой архитектуры )
Сообщение отредактировал Kos94ok - Понедельник, 06 Июля 2015, 00:06
Эргалон, Ничего не виснет, просто пакеты... не доходят, наверное. Соединение есть, сервер видит передвижения юнита клиента, а клиент - нет. Хотя TCP протокол должен доставлять все пакеты, если я правильно помню спецификацию. Ну или бывают баги другого типа. Например, клиент просто не получает данные некоторые, как, например, позиция юнита или еще чего-то. Но если соединение было установлено и все стартовые пакеты данных дошли, то потом некоторое время все работает как надо. Странно, в общем.
Добавлено (04 июля 2015, 19:09) --------------------------------------------- Никто фонарик не заказывал? )
Сообщение отредактировал Kos94ok - Пятница, 19 Июня 2015, 22:40
Вот интересно, я один сталкиваюсь с совершенно необъяснимыми проблемами, когда работаю с сетевым кодом? Причем проявляются они только в реальной ситуации. Локальный сервер - никаких проблем. Сервер + клиент на одном ПК - проблемы есть, но все вполне себе работает. Сервер на одной машине, клиент на другой (обе передо мной, соединение через внешний адрес) - работает. Но как только я пытаюсь протестировать систему с кем-то, так все резко перестает работать, и соединение проходит правильно только когда звезды на небе верно расположатся...
Сообщение отредактировал Kos94ok - Пятница, 19 Июня 2015, 22:04
Remmintan, Мультиплеер встроен едва ли не в самое ядро игры, так что она уже онлайн ) Приличная часть вычислений выполняется на стороне сервера, так что клиент не имеет столь больших привилегий. И даже если кто-то найдет эксплойт, я не планирую, что кто-то будет держать большие публичные сервера игры в принципе. Это маленькая кооперативная игрушка, которую нужно играть с друзьями. А там если вы все решите массово читерить, то и флаг вам в руки )
Эргалон, Не за что. На самом деле, я не очень доволен своей реализацией интерфейса, потому что как-то она выглядит слишком массивной, хоть и работает как надо. Возможно, позже переработаю во что-то более удобное. Remmintan, Критичные куски кода закрываются семафорами, так что многопоточность - не проблема в этом плане. И да, я понимаю все минусы отсутствия инкапсуляции, но я понимаю и все плюсы. Конечно, мне иногда приходится залипать по паре часов в код, пытаясь отловить очередной хитро окопавшийся баг, но если какой-то код полез туда, куда не надо, он бы все равно влез туда, только для этого ты бы написал отдельный метод. Первая версия движка вообще была гораздо более функционально-ориентированной. Там не было классов подобного рода, только объекты предметов, декораций и юнитов. По части рендера, я не так много могу рассказать. В этот раз я все-таки полагаюсь на библиотеку, которая делает большую часть грязной работы. То есть основная часть работы со шрифтами выполняется через SFML. Реализовав шрифты однажды, я больше не хочу этим заниматься ) Вся эта архитектура - это исключительно пробы и ошибки, а также мой личный опыт. Мне кажется, что по части теории ты знаешь даже больше, чем я )
Сообщение отредактировал Kos94ok - Воскресенье, 14 Июня 2015, 23:07
Эргалон, собственно, класс cUI. Большая часть данных интерфейса хранится именно там. Часть данных, которые часто используются, лежит в базе данных. Отдельного класса на инвентарь, как элемент интерфейса, нет. Логика инвентаря - это три класса cItemContainer (один хранится в объекте персонажа, два других - в cCraft), манипуляции с контейнерами производятся через callback'и кнопок, принадлежащих основному классу.
Сообщение отредактировал Kos94ok - Воскресенье, 14 Июня 2015, 22:39