Суббота, 20 Апреля 2024, 13:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » puksus [237]
Результаты поиска
puksusДата: Пятница, 20 Октября 2017, 23:34 | Сообщение # 61 | Тема: Хирург Ниндзя Качок 1.5
Пчёлка Зоя
Сейчас нет на сайте
Глюк, мне кажется, что сначала выполнить игровую логику, а затем последовательно отрисовать результат на экран - очевидное и простейшее решение в лоб)
Всё равно рисовка может обращаться к данным объекта (например, получить позицию юнита) в тот же момент, когда эти данные меняются. Эти коллизии надо решать. Понятное дело, что тут не всё так просто, поэтому раньше я на всё это забивал и просто делал однопоточный код и распараллеливал только отдельные задачи, если получалось. Но, думаю, пришло время немного "поразвиваться".

И пишу я на с++, он намного быстрее жабы, поэтому тут можно позволить себе больше вещей)


https://vk.com/beezoya

Сообщение отредактировал puksus - Пятница, 20 Октября 2017, 23:35
puksusДата: Пятница, 20 Октября 2017, 22:23 | Сообщение # 62 | Тема: Хирург Ниндзя Качок 1.5
Пчёлка Зоя
Сейчас нет на сайте
Глюк, а так, что раньше я эту тему не трогал. Соответственно, в моих играх сейчас только расчёт освещения был распараллеленым, а всё остальное выполняется последовательно.

https://vk.com/beezoya
puksusДата: Пятница, 20 Октября 2017, 21:08 | Сообщение # 63 | Тема: Хирург Ниндзя Качок 1.5
Пчёлка Зоя
Сейчас нет на сайте
Samchik, какая частота обновления твоего монитора - столько и будет. В настройках сделаю возможность отключить вертикальную синхронизацию. Сама по себе игра будет нетяжёлой, достаточно будет слабого компа.

https://vk.com/beezoya

Сообщение отредактировал puksus - Пятница, 20 Октября 2017, 21:09
puksusДата: Пятница, 20 Октября 2017, 15:08 | Сообщение # 64 | Тема: Хирург Ниндзя Качок 1.5
Пчёлка Зоя
Сейчас нет на сайте
Цитата TLT ()
Что-то типа "Joe & Mac: Caveman Ninja" или "Chuck Rock" будет?

Не, геймплей будет более динамичным. Я вообще ни на какие другие игры не ориентировался, поэтому сложно сказать, на что будет похожа.
Скорее будет ближе к Nidhogg, Okinawa Rush в плане геймплея, но всё равно это не то.

Добавлено (20 октября 2017, 15:08)
---------------------------------------------


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


https://vk.com/beezoya

Сообщение отредактировал puksus - Пятница, 20 Октября 2017, 15:08
puksusДата: Вторник, 29 Августа 2017, 13:04 | Сообщение # 65 | Тема: Душевная музыка
Пчёлка Зоя
Сейчас нет на сайте
Shade Empire - Poetry Of The Ill-Minded

Добавлено (29 августа 2017, 13:04)
---------------------------------------------
Архидея, тег

Код
[video][/video]


https://vk.com/beezoya
puksusДата: Вторник, 29 Августа 2017, 12:55 | Сообщение # 66 | Тема: Какое кино вы смотрите?
Пчёлка Зоя
Сейчас нет на сайте
Самые любимые:
Игра престолов, Викинги
Царство небесное(режиссёрская версия), Последний самурай, 13-й воин


https://vk.com/beezoya
puksusДата: Воскресенье, 27 Августа 2017, 21:05 | Сообщение # 67 | Тема: Ваши любимые игры
Пчёлка Зоя
Сейчас нет на сайте
1. GZDoom с модом Brutal Doom или Project Brutality. Имхо, даже "чистый" дум без движков и модов интереснее многих современных шутеров, весящих по много гигабайт.
2. Mount and Blade: warband - лучшая боевая система для action игры в средневековье, масштабные баталии, интересный мультиплеер, есть кучи модов.
3. TES 4: Oblivion. Имхо, лучшая часть древних свитков, на неё можно навесить кучу модов. Больше всего меня в ней цепляет не геймплей(который имеет целый ряд ляпов), а атмосфера и свобода. А вот всеми любимая 3-я часть что-то уж очень топорная и схематичная, не понравилась.
4. HOMM 4. Имхо, лучшая часть героев, атмосферная, красивая. Ещё нравится 6-я часть, но она багованная, очень часто портит сохранения. А вот всеми любимые 3-я и 5-я части неинтересными показались, и стиль не нравится.
5. king's bounty. Красивая и сказочная история, интересный, но приедающийся геймплей (быть может, потому что я из принципа прохожу все игры на максимальной сложности, а оная игруля на "невозможной" сложности даёт прикурить)
6. Warcraft 3. Самый жирный её минус - лимит отряда в 12 болванчиков, поэтому управлять большими армиями неудобно + кликать каждому болвану на иконку со способностями довольно трудно в большом бою. А так, отличный сюжет, большие возможности встроенного редактора, атмосферность.

Добавлено (27 августа 2017, 21:05)
---------------------------------------------
А, ну ещё всякие там Dark Souls и Salt and Sanctuary


https://vk.com/beezoya
puksusДата: Среда, 09 Августа 2017, 22:33 | Сообщение # 68 | Тема: Плавное движение камеры
Пчёлка Зоя
Сейчас нет на сайте
Цитата flatingo ()
Просто вспомнил
Кстати, SFML это быстрая и простая обертка OpenGl, хорошо подходит для 2D среди библ. Совет автору

На нём и делаю. Если вдруг возможностей не хватает - пилю простенькие шейдеры. Когда-нибудь, быть может, пересяду на чистый OpenGL, но пока что возможностей хватает. Кроме того, на него повесил также и звук и клаву с мышью.

Цитата flatingo ()
А если делать геморно, то делай как я на SFML ранее, а именно рассчитывал расстояние до нужной точки и с каждым приближением чуток скидывал скорость. Профит

Пока что примерно так и есть. Может быть, когда-нибудь решусь усложнить
double dist = (mDest - mPos).length();
double speed = dist * mFactor2 + mFactor1;
потом прибавляю вектор равный по длине спиду помноженный на отрезок времени между фреймами, ну и с проверкой на то чтоб не продвинулся дальше положенного.

Цитата Otinagi ()
брал квадрат, чтобы корень не высчытывать - слишком напряжно

Камера двигается 1 раз за кадр, так что тут производительность не важна. Тут это не для каждого из 10к объектов на сцене высчитывать расстояние. Я кстати в прошлых проектах угол хранил в виде косинуса и синуса - чтобы не пересчитывать эти значения каждый кадр. Но убрал, потому что больше гемора, а производительности и так с головой хватает. Кроме того, sfml при рисовке всё равно принимает угол в градусах - а значит, "внутри" всё равно будет пересчитывать.

Цитата Vuvk ()
В OpenGL есть управление окнами? Ввод/вывод? Звук? Или даже сеть? А в SFML есть.

Это да, поэтому это скорее аналог DirectX, в котором всё это есть, но который намного тяжелее(и в плане понимания и в плане количества кода), только sfml ещё и кроссплатформенная штукенция.


https://vk.com/beezoya

Сообщение отредактировал puksus - Среда, 09 Августа 2017, 22:41
puksusДата: Вторник, 08 Августа 2017, 16:44 | Сообщение # 69 | Тема: Плавное движение камеры
Пчёлка Зоя
Сейчас нет на сайте
Psycho, очень очевидное решение. Что мне в нём не нравится - чтобы камера не приближалась к цели бесконечно долго, нужно ещё прибавлять к скорости некоторую константу. Тогда через некоторое время движение по одной из координат прекратится, а по другой продолжится, будет выглядеть не очень-то красиво. А поскольку мы не хотим, чтобы при подлёте к цели камера становилась архимедленной, то такая константа будет довольно немаленькой. Кроме того, движение по диагонали на одно и то же расстояние, как если бы цель находилась на оси, будет происходить быстрее.
Хочется что-нибудь поизящнее, а такой вариант, если что, всегда можно склепать за 5 минут.

Цитата Psycho ()
А вообще такие задачи лучше всего решать через твинеры, если они есть в движке конечно.

Движка нет, пишу на с++ (Visual Studio). А что такое твинеры? Может, я смогу вручную их реализовать?

Добавлено (08 августа 2017, 16:44)
---------------------------------------------
Короче, сделал тут ещё пару попыток сделать с безье - в итоге камера описывает неописуемые пируэты и летит к точке назначения как набухавшийся вдрызг голубь.

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

Собсно чо вышло. Код простенький.


на сломанные отступы внимания не обращаем


ну и на всякий случай


https://vk.com/beezoya

Сообщение отредактировал puksus - Вторник, 08 Августа 2017, 16:48
puksusДата: Вторник, 08 Августа 2017, 03:21 | Сообщение # 70 | Тема: Плавное движение камеры
Пчёлка Зоя
Сейчас нет на сайте
Значится так, всё происходит в двумерном пространстве, в котором, есть камера.
У камеры есть текущее положение и положение, в котором она должна оказаться в итоге. Также мы знаем её предыдущее положение, отрезок времени между кадрами, можем узнать скорость на основе этих данных и т.д.
Проблема: Заставить камеру плавно двигаться к цели, причём эта цель может произвольно меняться во времени - при этом камера всё равно должна двигаться по непрерывной траектории.

Нужно ли в данном вопросе использовать кривые безье и если да - то как?
Я тут пробовал уже чото на основе оных кривых написать, но вышел бред, да и не хочется очередной велосипед изобретать...


https://vk.com/beezoya
puksusДата: Суббота, 05 Августа 2017, 00:31 | Сообщение # 71 | Тема: Почему конкурс Gamiron №14 провален ?
Пчёлка Зоя
Сейчас нет на сайте
После предыдущего "просто и со вкусом", как-то и не хочется больше учавствовать. Хотя да, гамироны стали "обыденностью" форума и без них скучновато и пустовато. Во время их проведения на форуме всегда гиперактивность.
Положительные стороны отсутствия гамиронов - на гамирон даётся мало времени и сделать хороший проект за это время маловероятно. Если умеешь за собой следить - лучше делать то, что действительно хочешь, не ограничиваясь темой гамирона.
Отрицательные стороны отсутствия гамиронов - гамироны мотивировали на более усиленный труд во время провождения конкурса. Если не умеешь за собой следить или хочешь сделать свою первою маленькую игру - тогда польза, определённо, есть. И мне она была, и я рад, что в них учавствовал.

Что-ж, посмотрим, будут ли подобные конкурсы на форуме проводиться в будущем или нет.


https://vk.com/beezoya
puksusДата: Вторник, 01 Августа 2017, 22:01 | Сообщение # 72 | Тема: Для души
Пчёлка Зоя
Сейчас нет на сайте
Цитата Sandar ()
Да и стратегию играбельную хочу сделать, на мой взгляд самый простой вариант.

Стратегия, особенно если это стратегия реального времени - САМЫЙ сложный жанр игр для создания, по крайней мере, для программиста. Я делал такую на 13-й гамирон. Во-первых, успел лишь 20% от запланированного, а во-вторых, и то вышло криво.


https://vk.com/beezoya

Сообщение отредактировал puksus - Вторник, 01 Августа 2017, 22:02
puksusДата: Вторник, 01 Августа 2017, 21:52 | Сообщение # 73 | Тема: Разработка приложений и программ на заказ
Пчёлка Зоя
Сейчас нет на сайте
Цитата Sandar ()
Игра-то хоть есть, или карандашный набросок на салфетке пока ?

Делается. И будет делаться ещё почти год. Я пока просто разнюхиваю, что где и как, чтобы к моменту завершения конфуз был не настолько большим. Читаю книжку по геймдизайну, смотрю, где какие есть возможности, какие есть издатели. А спрашиваю про озвучку потому, что как подсказал опыт 12-го и 13-го гамиронов, именно с озвучкой начинается самое веселье. Начиная с отсутствия нормальной аппаратуры для записи и заканчивая полной мусорностью бесплатных звуков. Приходилось абы как записывать в какашечном качестве на планшет. А на позапрошлом гамироне я вообще звуки синтезировал в музыкальном редакторе.
Что насчёт графики - я не художник, но что-то более-менее сносное, тем не менее, выходит, к тому же у меня есть знакомый художник и если ну совсем будет туго - я попрошу его помочь.
Насчёт кода я совершенно спокоен - я программист, и с кодом сложностей почти не ожидается.
Если интересует, что именно я делаю, то вот проект
Если хотите глянуть на мои 2 предыдущих проекта на гамироны - вот они. первый второй
Это чтобы не возникло разговора о том, что я очередной неадекват, чей проект заранее однозначно обречён.


https://vk.com/beezoya

Сообщение отредактировал puksus - Вторник, 01 Августа 2017, 21:59
puksusДата: Вторник, 01 Августа 2017, 17:56 | Сообщение # 74 | Тема: Сценарист, геймдизайнер ищет проект
Пчёлка Зоя
Сейчас нет на сайте
А если сунуть вам уже почти готовый проект с той целью чтобы вы игру полностью внимательно прошли, высказали о ней всё, что думаете, а также старательно подумали, как, где и что можно улучшить, доработать, поменять, улучшить местами сюжет, какие-нибудь дополнительные задания, какой-нибудь оригинальный контент в небольшом количестве без серьёзной переработки всего проекта? За небольшую долю.
Ну эт я ничего конкретного не предлагаю пока что (и не буду предлагать ещё как минимум пол года), просто мотаю инфу на ус на будущее и изучаю, как и в каких областях обстоят дела и кого можно взять на заметку при случае.

И да, где глянуть ваши книги?


https://vk.com/beezoya

Сообщение отредактировал puksus - Вторник, 01 Августа 2017, 17:57
puksusДата: Вторник, 01 Августа 2017, 16:46 | Сообщение # 75 | Тема: Разработка приложений и программ на заказ
Пчёлка Зоя
Сейчас нет на сайте
Appfox_app, а если я сам сделаю игру на PC без чьей-либо помощи - и мне нужен будет издатель такой, что права на игру остаются у меня и я мог бы отдать игру ещё и другим издателям, вы таким занимаетесь? Или если нужна будет помощь с озвучкой игры, но не за плату, а за долю от суммарной прибыли игры от всех издателей, у которых игра издаётся?

https://vk.com/beezoya

Сообщение отредактировал puksus - Вторник, 01 Августа 2017, 16:47
puksusДата: Воскресенье, 30 Июля 2017, 13:18 | Сообщение # 76 | Тема: SFML рендеринг текстуры в текстуру с некоторыми условиями
Пчёлка Зоя
Сейчас нет на сайте
Напоролся на проблемку, думаю-думаю, и никак не придумаю, как её решить.
Вид сбоку, мы видим стену. Стена состоит из анимированных тайлов, причём нету строгого ограничения в том чтобы текстура тайла умещалась конкретно в свой квадратик - то есть, тайлы частично налазят друг на друга. В тайлах могут быть дырки, сквозь который виден фон. Кроме того, тайлы могут быть пустыми - то есть иногда на месте тайла ничего не рисуется (то есть в этом месте виден только фон). В идеале, тайлы могут быть даже полупрозрачными.
Кроме того, поверх тайлов ещё рисуется текстура, содержащая всякого рода следы, кровь и т.д. В самом начале наши стены ничто не пачкает, однако если, например, замочить врага, то его кровь забрызгает стены, и эти брызги, собственно, будут нарисованы как раз в эту текстуру, которая рисуется поверх тайлов. Причём, текстуры этих брызгов могут быть произвольно смещены и повёрнуты.

А теперь собственно проблема:
Нужно отрисовать в эту текстуру(которая рисуется поверх тайлов) кровь таким образом, чтобы отрисовка была произведена ТОЛЬКО в те пиксели, через которые не проступает фон. То есть, чтобы фрагменты крови не висели в воздухе, а рисовались ТОЛЬКО поверх стены. То есть, обычная рисовка в текстуру не прокатывает т.к. НЕ ВСЕ пиксели нужно отрисовать.

Как я думал решить проблему: сначала в промежуточную текстуру(равную по размерам той текстуре, в которой хранится кровь\следы) отрисовать все тайлы, которые теоретически могут быть заляпаны кровью, а затем
1 вариант) как-нибудь с помощью блендинга отрисовать туда же кровь так, чтобы были видны только те пиксели, где непрозрачен И тайл И кровь(Но как это сделать - непонятно), после чего отрисовать результат в исходную текстуру. Если делать так - то каково уравнение блендинга? А то сижу в 3 ночи, уже мозги кипят. Желательно чтобы осталась поддержка полупрозрачности и тайлов и крови при всём этом. (но необязательно)

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

Что можете посоветовать?

Добавлено (30 июля 2017, 13:18)
---------------------------------------------
Проблема решена, вопрос закрыт.
Завёл 2 промежуточные текстуры, равные по размеру текстуре, на котрой помещается кровь и следы.
В первую текстуру рендерю только те тайлы, которые могут быть затронуты (берём центр рисуемого объекта, строим прямоугольник с центром в этой точке со сторонами, равными размеру текстуры объекта, умноженными на корень из двух на случай поворота), рендерим все тайлы, которые помещаются в данный прямоугольник
Во вторую рендерим кровь
Делаем шейдер, пихаем в него обе текстуры, внутри него проверяем, если в конкретно данной точке нету пикселя крови ИЛИ пикселя тайлов - discard; иначе - смешиваем цвета как нам надо. Поскольку размеры обеих текстур равны размеру текстуры с кровью, то между пикселями взаимооднозначное соответствие, и не нужно делать хитрые преобразования координат.

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

Плюсы - банальность и простота
Минусы - быстродействие. Смена рендер таргета происходит долго, и у меня происходит минимум 3 раза за операцию. Если сделать более хитрый шейдер, то можно сократить количество смен рендер таргетов до 2-х. Кроме того, одна из оперируемых текстур была бы намного меньшего размера и если вызывать шейдер для объекта с меньшим размером - то и количество расчитываемых пикселей колоссально уменьшается (хотя, для каждого пикселя были бы более тяжёлые вычисления).

К счастью, подобные операции происходят очень редко по сравнению с рисовкой тайлов и остальных объектов, поэтому потеря производительности в данном вопросе, скорее всего, будет незаметной, если нам не нужно каждый кадр рисовать сотни текстур в уровень.


https://vk.com/beezoya
puksusДата: Среда, 26 Июля 2017, 14:44 | Сообщение # 77 | Тема: Геймдизайн экипировки/усиления
Пчёлка Зоя
Сейчас нет на сайте
в shadow warrior 2 брони нет, а все улучшения оружия, брони и способностей завязаны на подобные камни. (Ну, есть ещё и навыки в виде карточек, которые мы тоже находим\покупаем и можем улучшать). И в плане прокачки игра получилась довольно увлекательной - и в принципе проходится даже при том, что ни нормального сюжета, ни хоть какого-нибудь разнообразия в игре нет.
Таким образом, всё зависит от реализации. И я бы даже сказал, что наличие брони как таковой в такого рода игре неуместно.
Если на персонажа постоянно надета одна и та же броня всю игру, то у сидящего перед монитором тупого прыщавого задрота складывается более цельное впечатление о персонаже и его роли в мире; таким образом, его можно глубже проработать, что даст выигрыш в атмосферности.
Ещё один вариант - свести количество брони к минимуму. Как в готике 3 - там всего несколько видов доспехов и пара шлемов. Но чтобы получить лучший доспех - нужно изрядно попотеть, получить положительную репутацию, помогать той фракции, чью броню ты хочешь отыметь. И конкретно данный аспект сий достопримечательной игрули весьма увлекателен.
Мне такая схема нравится даже больше, чем когда на игрока льётся целая гора бесполезного хлама, который нужно просмогтреть, сравнить характеристики, хотя вся разница лишь в паре процентов - и то непонятно, какая лучше. Ты даже не смотришь на внешний вид предметов - просто сравниваешь циферки в них.
И ещё я думаю, если внедрять такую схему с камнями - то каждый камень должен быть уникальным, и встречаться они должны редко - чтобы не было потока бесполезных камней, превращзающихся в сплошную серую массу - тогда нахождение каждого камня будет сопровождаться интересом и чувством удовлетворения(может даже коллекционированием), а не машинальным сравниванием пары камушков даже не глядя на их внешний вид. Как-то так.


https://vk.com/beezoya
puksusДата: Четверг, 20 Июля 2017, 14:21 | Сообщение # 78 | Тема: Tanja and the ball (Простенький раннер-платформер)
Пчёлка Зоя
Сейчас нет на сайте
Цитата Lobster ()
Если это произойдет, отважная героиня сядет на землю и заревет в голос, и уже никто, никто не сможет ее утешить

Я чуть сам с этой фразы не заревел в голос. Удачи в разработке :D


https://vk.com/beezoya
puksusДата: Четверг, 20 Июля 2017, 12:03 | Сообщение # 79 | Тема: Вопрос-Ответ (C++)
Пчёлка Зоя
Сейчас нет на сайте
FlyOfFly, а зачем вам 2 класса, нельзя ли провернуть так, чтобы класс хранил указатели на элементы своего же класса?

Ну а если по теме - то может помочь <не помню точно как называется> предобъявление класса. То есть в файле GameComponent.h удалите строчку
#include "GameObject.h"
и добавьте вместо неё
class GameObject;
это даст компилятору инфу о том, что класс геймобджект определён в ином месте, при этом взаимное подключение исчезнет. Но не гарантирую, что поможет. Да и потом могут быть проблемы. Я с таким уже сталкивался, когда писал игру на 12 гамирон. Из-за этого дела потом вылезали очень непонятные ошибки в непонятных местах, когда я что-то где-то чуть-чуть менял. Поэтому следующем проекте просто сделал всё так, чтобы не было нужды в подобных вещах.
Ну а ещё, старайтесь в h файлах подключать по-минимуму, а основные подключения делать в cpp файлах.


https://vk.com/beezoya
puksusДата: Четверг, 20 Июля 2017, 11:50 | Сообщение # 80 | Тема: Затирание данных перед освобождением
Пчёлка Зоя
Сейчас нет на сайте
Цитата Otinagi ()
и, при добавлении нового события, цыклически ищет пустой индекс.

А на список неиспользуемых элементов памяти не хватало? Ну я в контроллерах не шарю, просто интересно. Я у себя в игрушках даже спец шаблонный класс сделал для массива со списком неиспользуемых - находим пустое место за единицу - и пихаю туды всё подряд, текстуры, объекты, в общем, всё, что нужно динамически создавать\удалять и при этом чтоб хранилось в массиве.


https://vk.com/beezoya
Форум игроделов » Записи участника » puksus [237]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг