Свой Hexen с блекджеком и юными девами
Привет, теплый и ламповый Гамин. А дело вот какое: прямо сейчас делаю в 3д мелкую игру. Опыта у меня в 3д почти ноль, шутеры ни разу не пробовал писать. Реально мелкий проект, в общем. На пробу сил и освоение движка.
Ну и вот. Выложил первые скрины после пары недель разработки, и увидел, что игрокам понравилось. Просто как картинка, видимо. И подумал я, а может тогда не мелкий делать? А скажем среднего размера проект? Раз так удачно и неожиданно «попал» в картинку.
А еще вот что. Идей нет. В планах был обычный шутер, то есть обычный для времен 93-го года и Вольфа 3д. Контента также не планировал, думал на одного врага на плоскости, один вид оружия. Вот те самые планы мелкого проекта для освоения технологий.
В итоге хочу Гамин спросить. Насколько по вашему мнению стоит в это вкладываться? Вот в эти скрины, насколько это стоит развивать? Кроме скринов ничего и нет, даже физики и стрельбы, вообще ничего.
- 01 ноября 2016, 22:34
- 027
Мое мнение - забить на стрелялку и начать сразу делать что-то большое, вроде Wizardry+Ultima Underworld, благо опыта работы с подземельями у тебя хватает.
И тут рогалик. При чем тут рогалик?
Данжн кроулер не рогалик. Речь больше про рпг. Никто не мешает сделать рпг со стрельбой, например.
Угу, я понял твой взгляд. У меня просто от рогаликов до сих пор бомбит. :)
А Визардри и Ультима прошли мимо меня, не знаю даже. Вряд ли я смогу почувствовать их шарм, если не играл в них тогда.
Я не зря эти две игры указал. Визардри это партийная рпг с пошаговой боевкой и дискретным перемещением по клеточкам, ультима - одна из первых трушных 3д игр с более экшеновой боевкой и интересным левелдизайном. Ты мог бы смешать свой опыт создания пошаговых рпг (ванильный я считаю именно рпг, а не рогаликом) с твоим интересом создать что-то более экшн-ориентированное.
Для чистого экшна в виде думострелялки нужно очень много ассетов, там двумя спрайтами анимации на монстра не обойдешься - нужна куча спрайтов для обзора монстра с определенных углов и на каждый из них дублировать спрайты для любого действия. А просто клон думострелялки без особенностей никому не нужен - стрелялки уже далеко шагнули и еще одна пиксельная ностальгия вряд ли кого заинтересует. Жалко было бы тратить такую красивую картинку на игру с не самым интересным геймплеем.
Конечно, если ты просто тестишь 3д в своем движке, то другое дело, но я тогда не понимаю зачем спрашивать мнения у игроков в таком случае.
А мнение не про это спрашивал. Извини, бро, на все эти рпг и прочее вот совсем не стоит. Мистер вялый просто.
Wizardry и Ultima это не рогалики совсем.
fps рогалик
fps stels рогалик
Понимаю, что такой вариант вряд ли выберешь, но в любом случае на такое было бы интересно взглянуть.
А откуда ассоциация с рогаликами? Как-то не вижу ее здесь.
Лично мне деревья напоминают ванильный рогалик. Деревья классные. А можно где-то в динамике посмотреть? Нет тестового билда?
Ага, деревья оттуда и стянутые, но только они. Видимо зря их взял, теперь все ту хрень будут вспоминать.
Тоже как увидела деревья подумала - кто это спёр деревья из Ванильного рогалика и начал делать с ними шутер)) А потом сильно удивилась, когда в авторах увидела Сергея))
Щи, реально перерисовывать придется...
Тогда от картинки ничего не останется и не особо понятно, что развивать. Помножь это на то, что ты ещё и слабо представляешь что с этим дальше делать.
Не, не буду перерисовывать. Одно дерево часа три чистой работы, если не больше.
Спасибо. Осваивать новое интересно. Я оглядываюсь назад и не понимаю, как я столько лет с одними рогаликами сидел. Уже мхом зарастать начал, наверное. :)
О, новый рогал... ладно, шучу.Картинка очень Хексеновская/Еретиковская, зачёт.
Не знаю, как же тут ответить. Насколько хочется - настолько и? Потому что на данный момент ни Гамин, ни ты сам, не знает никто, что именно ты с ним захочешь сделать. РПГ и данжн кроулеры, говоришь, не интересны. Нупр прав про Дум-лайки, там нужно каждую шипастую обезьяну прорисовывать, крокодилами не отделаешься.
Генерация подземелий, которая у тебя хорошо налажена, действительно сгодилась бы. А вот в остальном - не знаю. Можно было бы сделать квест, или Might&Magic-лайк. Смотря что ты сам в этом видишь. Симулятор хождения уже есть, можно просто задвинуть "концептуальную" игру "про осень". Но, я думаю, это не в твоём стиле.
Вкратце: если видения чего-то побольше нет, то просто освоить 3Д-рендер по плану-минимуму, и будет с него (с конкретно этого проекта).
Про рпг и прочее ответил чуть ниже. Жанр тут вполне понятный, это шутер из девяностых. А вопрос о том, стоит ли вкладываться.
Пока и того нет: сквозь деревья пролетает, карта 20х20 метров.
Вот да. Поэтому одну шипастую обезьяну я еще потяну. А скажем несколько - уже вопрос. И вопрос в том, стоят ли скрины чтобы рвать жопу. Или "ну так, как обычно".
Коротко: нет, скрины не стоят. Но если есть The Видение, то стоит заниматься созданием своей нетленки по нему. (впрочем, это совет капитана Очевидность)
Ну а деревья пускай ломаются что ли, не обязательно считать их блоками. Симулятор огра...
Квест+шутер в 2.5д - это realms of the haunting.
Можно просто сделать красивый эксплорейшн с монстрами - вроде бы Hexen, но с открытым большим и разнообразным миром.
Вот, кстати, вспомнился Robinson's Requiem. Модный жанр сурвайвал (или уже нет?) с элементами рпг и экшена. И осенью. Осень - это киллин фича. "Земную жизнь пройдя наполовину, в ванильном осеннем оказался я лесу".
Я наверное не точно стартовый пост оформил. Тут понимаешь вся соль вопроса в том, стоит ли без опыта и мастерства пытаться сделать чуть больше, чем один враг и одно ружье. А не в том, какой жанр выбрать. Выделю жирным, а то тут явно беседа уходит от Hexen'а и Doom'а.
Открытый мир! Да еще и рпг. В него Бесезда не очень-то могла, а там сколько ресурсов и опыта было.
Не не не, тут все проще. По умолчанию это шутер 90-х с одним типов врага, одним ружьем, одной картой, местность плоская, объекты пол+деревья, геймплей ходи-стреляй. И то не уверен, смогу ли даже это сделать.
А вопрос в том, стоят ли скрины чтобы развить тему? Два типа оружия, например? Физику сделать подъема-спуска, а не плоский пол? Сделать объекты кроме деревьев?
Окей, просто все начали говорить про рпг и рогалики, и я подумал...
Ну, выглядит всё симпатично, почему бы и нет? Лично мне было бы интересно посмотреть на всё это в динамике, для начала с элементарными столкновениями и освещением. Для вдохновения выкладываю видео с ранними версиями DOOM - там хорошо видно, какие фичи добавлялись в игру по ходу разработки.
Крутой видос! Спасибо.
Это вот эта игра должна была бы называться "Стреляй во врагов, чтобы они умерли".)
Между прочим та игра Дампира невероятно крута. Мне до ее уровня точно не добраться в ближайшее время. Так что я просто скромно радуюсь что он в названии дал отсылку ко мне.
По-моему демо этой игры было скучным и унылым.
Мне кажется, если идей дальше нет, как это увеличить, то не стоит тянуть кота за хвост насильно, будет притянуто выглядеть.
Аааеее, Еретиковый Хэксен!
Не знаю как другим, но я всегда хотел сделать вот что-то такое (и надеюсь сделаю когда-нибудь) т.е. спиномозговой шутерок по канонам старой школы. Без всяких этих новомодных приблуд типа прокачки и прочего.
Разве что можешь добавить генерацию уровней, ведь ты в генерацию умеешь. А там глядишь придумаешь как сердито_и_дёшево генерировать типы врагов, пушек. (опционально).
У тебя прикольный арт, который вроде пиксель, а вроде и нет. Так что точно стоит сделать постреушку такую.
Кто его знает, получится ли он по канонам. Всего вторая игра в 3д, опыта ноль. Но я буду стараться! Так уже и слышу голоса игроков: управление не то, распрыжки нет. Там в крошечных деталях все спрятано: чуть увеличил инерцию, плохо. Чуть поменял паузу выстрела, плохо.
Спасибо что рад Хексено-Херетику! Моральная поддержка всегда требуется.
Можно сказать канон с какой-то погрешностью. Можно добавить каких-либо очень авторских идей, например. Минимальных конечно.
Да, главное в таких играх динамику правильно сделать. До сих пор удивляюсь как это раньше получалось у людей.
Игрострою нужен новый Хэксен! Или же во мне говорит лишь желание сделать такой свой. Но всё равно интересно было бы поглядеть на шутер от тебя с тем стилем, что на скриншотах.
Если у меня дойдет до первого врага и хоть одного рабочего оружия, приглашаю тебя потестировать механику. Правда, когда это будет сказать трудно.
Отлично!
Да даже если не шутер будет - всё равно зови. Возможно, что к этому времени всё равно свободен буду.
А мнение неопытного игрока, который "ну чтоб вот зелено было, как раньше" думаю пригодится, ага (следовать ему или напротив - бежать подальше)
Выглядит круто как раз потому что есть надежда что это будет не просто шутан :)
Вот этот домик, лес, кажется что геймлей будет в сторону эксплорейшена.
Хм, или попробовать сделать упор на то, что оружие только одно. Ведь большое кол-во оружия и переключение между ними весьма муторная, неудобная штука. Но как такое подавать вообще не понятно.
Я думаю, для начала лучше что-то попроще сделать, на пробу, опыта поднабраться. Сделать маленькую игру.
Таков и был план. Но дело в том, что сделав игру маленькую, к ней не вернешься через год, скажем, и не станешь делать большой. Потому что она уже будет пройденный этап. И как понятно, удачное попадание в графику "пропадет".
Посчитал голоса, кто как думает по поводу развивать ли шутер. Извините, что ники на русском, тут раскладку неудобно тыкать.
Нупрахтор - шутер "вряд ли кого заинтересует", делай выпечку.
Нодокси - выпечка.
Фенберри - скрытая выпечка.
МайХазардс - ванильная выпечка.
Аня - "не стоит тянуть кота за хвост"
Кситилон - "по плану-минимуму"
ДаркДес - ъ-=!! за !!=-ъ.
Раззл-Даззл - "почему бы и нет?", но лучше рпг+открытый мир.
Эча - рпг+открытый мир. Так эксплорейшн понял.
В итоге только один голос явно за. Ну так, как-то так. Шутеры вижу не в почете.
Энивей, спасибо что заглянули и сказали свой взгляд!
Можно глянуть в стиме тэг "симулятор ходьбы", там много игр, есть очень короткие. Рпг+открытый мир все же странно предлагать имея свою игру в стиме ))
Может на каком американском форуме создать тему и вбросить скриншот? Там вроде 3d шутеры более востребованы.
На форумы пока рано, не с чем. Ни контента ни геймплея.
Симулятор ходьбы погуглю. А так эксплорейшн раньше слышал касаемо майнкрафта, вот и подумал. А что можешь сказать про симуляторы ходьбы? Новый тренд или такой лоу-энд сегмент, где автор не сделал геймплея?
Да делай игру какую хочешь. Не задумывайся о жанровых принадлежностях.
Главное - хотя бы ее доделай до законченного вида, а не до "мне норм".
Ээ, хитрец. У тебя доделай означает миллион фич и дополнительно пару лет на шлифовку. :)
Для него это значит, чтоб на ХР пошло и было боксирование)
Нет, это значит чтобы в игру было понятно как играть без метода тыка, а не одному тебе, к-й знает все ее косточки.
Я люблю шутеры. l4d 2, doom 2 и прочее.
А они вижу фич подвезли к 20-му бруталу. Годно! Я в 19-й помню залипал очень. (Хотя кровь-кишки все-таки много. Слишком много. Когда чего-то так много, теряется ценность.)
это сильно зависит
Скорее всего ответ в том, что ты сам видишь в этом скриншоте \ коде.
Из некоторых вариантов, которые мелькали тут и "симулятор ходьбы", да ещё и в силу "изучаю 3Д" можно действительно посмотреть в игры, где геймплея минимум, а максимум атмосферы и визуального стиля.
Там к сожалению и контента надо много. А я ленивая жопа.
Я бы не сказал, что в каком-нибудь proteus прям так много контента.
Что за Протей такой, коль не секрет?
http://steamspy.com/app/219680
Может оказаться, что его делать сложнее, так как в игру с геймплеем ты сам еще будешь играть. Игру без геймплея надо будет только делать (
Потом, геймплейную игру тупо можно удлинить за счет сложности и задротства всякого. В симуляторе хотьбы, в принципе, могут быть задротские головоломки, но по-моему это совсем лажа.
(Я кстати сначала думал что подобную игру как раз проще будет сделать. Но вот я сам не факт что смог бы сделать игру без геймплея, в итоге советовать такое вроде неправильно уже.)
Сейчас посмотрел, а proteus находился в разработке 5 лет...
Несыть?
Почему Несыть? Cave Story тоже делали 5 лет.
А это что за рыба такая? И чего-то много игр, на которые ушло пять лет.
Ну так-то Cave Story находится первой в разделе "Лучшие" в базе игр Гамина.
http://gamin.me/games?show=top
То, с чего вообще началась эпоха инди. Я её переводил с английского на русский в своё время. Поиграй, узнаешь.
А вообще прикольная игрушка-то! Как я её раньше не видел.
Для меня взрыв популярности инди начался тогда, когда появился стим, и ему подобные аналоги.
О мой юный друг! Стим появился в 2003. А Cave Story вышла в 2004, 20 декабря, то есть по сути почти в 2005. Но вышла она на японском, поэтому дочапала до широкой аудитории, благодаря стараниям группы AGTP Romhack, на английском, уже позже. И только потом, в середине 2006, её принялся переводить я с ребятами из "Шедевра". И вот где-то к 2007 в сеть улетела поломанная почти-последняя версия этого перевода, где титры перескакивали на начало и из-за этого не могли закончиться, потому что я пытался их изменить, а там нужно было пересчитывать чек-сумму, выяснять алгоритм которой было влом. Узнал я об этом уже на Гамине, году где-то в 2012...
На основе моего перевода кто-то там делал перевод для версии игры под какую-то игровую консоль, но я уже забыл где это и что это было.
Есть игра под названием bernband, смысл ее был в том, что ты можешь только ходить - и все, никакого взаимодействия с миром. Но было что-то цепляющее в атмосфере и изучении самого мира.
http://gamejolt.com/games/bernband/34864
Я бы не хотел ни шутер, ни рогалик, ни рпг.. просто игру с атмосферой.
Что-то очень специфическое по ссылке. Качественный визуальный контент, много его, но без классического геймплея. А контент ведь сложнее делать, чем геймплей!
Деревья оставить - это лицо и визитная карточка, узнаваемо. По карте разбросать несколько точек (колодцы, камни, что-там еще традиционно). Точки охраняют по два-три-N хоронителя. Приходят из никогде, умирают от героя, но периодически пополняются составом.
На точках разместить плоские "игровые доски" с плоскими играми, а точнее это одна игра, разбросанная по нескольким доскам в разных частях карты. В игру играет сам с собой ИИ. Можно находить на карте предметы (яблоки, камни, желуди, енота, мох, что-то-там еще традиционно), носить их с собой и выкладывать на доски, что влияет на ход игры на досках, что как-то(?) влияет на игрока.
Кто в кого играет?
Слева наступают красные, справа - белые, а ты лесничий который должен навести порядок и собрать припасы на зиму. Еще в лесу есть медведь, он сторожит малину. В небе летает дирижабль и показывает соотношение сил (кроме медведя).
Практически второй enviro-bear получится. :)
Или Sir you are being hunted.
Если есть сомнения, то на крупное нет смысла замахиваться - в процессе потеряешь мотивацию и забросишь.
Можешь сделать аренный фэнтези FPS с респауном одинаковых врагов волнами, а дальше уже видно видно будет, стоит ли во что-то большее развивать.
Дельная своей осторожностью мысль. Есть еще вариант делать, пока мотивация есть, но всегда под парами держать трактор. И только мотивация подойдет к концу, одним взмахом запилить концовку.
А мотивация известно, штука ключевая. Смотрят бывало на геймплей, графику, атмосферу, а они ведь производные. От одного источника, мотивации.
Неплохой вариант в случае, если получится захватывающий геймплей отстрела, но не будет контента на карты-уровни. Однако геймплея пока нет, так что неизвестно, насколько будет иметь смысл.
Если не уверен - сделай пока маленький тестовый проект как и хотел.
Потом уже, когда появятся идеи, на его основе сделаешь "нормальную" игру.
Потом не бывает. Если проект сделан мелким и завершен, к нему уже не вернуться. Так что графика пропадет в нем.
Сколько помню, я никогда не возвращался к старым проектам. У кого-то иначе?
Так я не говорю "переделать старое". Поднаберешься опыта и ощутишь силы на проект по-больше.
Зачем, например, писать код заново?
По моему опыту старый проект скучно делать. Это самое простое объяснение.
Можно его пересмотреть и сделать новым. Сделать... сиквел?
У меня к примеру такое, любое что я начинаю, и забрасываю, потом и не дотрагиваюсь.
Мне приятнее начать все заново, как говориться, опыт не купишь.
Вот об этом и я думаю. Что если уж этот проект сделаю маленьким и несерьезным, то больше не вернусь ни к его спрайтсету, ни к коду, ни к попытке косплея стиля Хексена-Херетика.
Грусн. Плак.
При слове "спрайтсет" меня почти переклинило, потому что я долго пытался подобрать хороший термин для своей "КсиТехнологии-02", и в итоге остановился на "спрайтстеках", как стопка слоёв каждый раскрашенный в свой цвет (палитры).
Делай как тебе душа велит, а там разберёшься! Чего и заранее размышлять об этом.
Задумайся, может тебе свой движок написать попробовать? Это развлечение для больных больших ценителей, особенное такое. Поэтому обычно не рекомендую, проще взять юнити. Но почитав твой пост по ссылке на наколенке пришло в голову, что тебе это может понравиться. Как и мне нравится ковырять свои изолентные технологии.
Думал уже, в принципе. Пока что остановился на том, что буду писать фреймворк, т. е. систему на основе обычного движка ГМа. Потому что раздражает возиться с привязками всяких DirectX'ов и прочей хрени, ну и его поломать сложнее, чем кастомный движок на Сях или шарпе.
Нет все правильно, как человек, который сделан ужасный движок подтверждаю. Это дело для особых инди-видов.
Можно сделать 10 ужасных движков и 1 хороший, ты ведь не долго-то и пытался, по большому счёту?
Посмотрел я на скриншоты ещё раз. И от идеи "одина хижина и лишь дробовик" появилась мысля. Есть карта (генерируемая, лес например) и где-то в лесу есть медведь (ну или чупакабра какая-то). И суть игры: нужно выследить существо, ориентируясь по следам (+ может быть трупам местных животных) и завалить столь стрёмное существо. А иначе оно завалит тебя.
Думаю такое расширить можно в любом направлении:
- хочешь Хексен? Добавляй больше чупакабр и пушек, ведь основа основ уже будет.
- хочешь модный выживастик? добавь сбор ресурсов и функцию "я в домике! бе-бе-бе!" с не менее модным крафтом.
- хочешь простой симулятор нахождения дзена? убираешь агрессивное ИИ и дробовик.
Нравится! Гибкость и расширяемость-сужаемость, то, что надо.
Хорошо придумал. Правда, такая игра возможно будет слишком короткая, а это оказывается проблема )
Но в "симуляторе хождения" было бы тоже самое (хотя я сначала подумал, что его было бы проще сделать). А тут есть куда расширять. Ну и подача, наверное, более понятная у такой игры была бы.
один на один против медведя. он выковыривает тебя из хижины которую ты чинишь. крафт самопала и необходимость в отдыхе герою и медведю. шикарная может получиться вещица
Плюс секретная концовка с приручением медведя.
Секретная концовка где медведю это всё приснилось.
Будда медведь? Проиграешь - он тебя сожрет, убьешь его - мир исчезнет. Приручение - единственная правильная концовка
Ну или к примеру днём ты ищешь нескольких медведей где они залегли, а ночью они устраивают тебе пять минут весело типа Ghoul's Forest. Чем удачнее днём поработаешь, тем меньше ночью охуеешь.
Too spooky
Посоветуйте на счет лицензионно чистых звуков?
Насколько я понимаю, лицензия креатив коммонс подразумевает упоминание авторства. Что как-бы не здорово для звуков. Если я десяток наберу, всех перечислять.
Отсюда интересуют вопросы:
а) какая лицензия не требует от меня ничего?
б) сайты со звуками с такой лицензией?
CC0 (Creative Commons 0) или public domain не требует ничего, на том же freesound.org есть поиск по лицензии, я только CC0 и использую.
Спасибо, выглядит неплохо. И работать смог с сайтом без логинов-паролей, записывая звук с воспроизведения.
Тру инди!
Музыку тут можешь поискать http://freemusicarchive.org
Спасибо, пригодится!
Только это все не так скоро будет. Сейчас по плану физика, и я только на стадии обдумывания. Потом первый противник. А только потом звуки и возможно музыка.
Блть, засада пацаны. Опять забыл что надо подрубать чтобы с браузера звук через аудацити записывать. А только хотел звучка качнуть. Как же все через ЖОПУ ТО!
А нупру лопата за сайт, который требует регистрации. И всем лопаты в этом чятике. Какого хрена
Выставь Loopback:
Можешь понабирать моих звуков, там логин не нужен и 12.5% требовать не буду, лол. Правда они по большей части лоу-фай. Но все мои.
http://dl.dropboxusercontent.com/u/75034586/Music/Xit-SFX.html - каталог архивов (потом конечно эта ссылка устареет)
Конечно бабах. Это же звуки. Хуже только маркетинг. Грязная и мерзкая часть создания игры. Ну и просадили мне настроение.
Вообще непонятно зачем я их трогал. Цель то графический двиг.
Если не шутишь, конечно. :))
На секунду мне показалось, что вы о бобах говорите.
Хм, а ты никогда не пробовал посчитать распределение, переотражения звуковых волн в пространстве игровой комнаты?
Это какой-то мемес?
Нет, не мемес.
Для большей части юзающих движки и пр. колдунство, игродел пришел к жречеству и магии: я рисую пентаграммы спрайты/ассеты и добавляю звуки, и связываю их заклинаниями скриптами/эвентами/стрелочками. Поэтому воспроизведение звука часто выглядит как PlaySound(wat_da_sound, vec3) и хорошо если там позицию можно указать, а то ведь и просто привязка звука к эмиттеру или объекту на карте, безо всяких там функций, методов и пр. объектов ооп.
И это удобно.
А на самом деле нужно построить прямой ход звука - луч распространения звука от эмиттера до пользователя, затем построить несколько побочных лучей (а лучше конусов, и чем больше, тем качественнее) отраженного от стен (геометрии) звука (и не только отраженного. Правильно собрать вместе все эти проходы звука на два уха и обработать моделью человеческого слуха. Скормить драйверу операционной системы. Учесть разное количество звуковоспроизводящей аппаратуры (2, 5.1, 7.1, 2-наушники).
И это очень грубое и неточное описание, и все равно это очень неудобно. Да и никому не нужно (хотя были попытки A3D). Проще заменить на: эхо, реверберация, доплер, профили, EAX.
...но периодически делают попытки вернуться к более сложным моделям.
Дело в том, что мой заказчик это мой интерес. И звуков ему не надо совсем. Можно считать, что звуки я добавлю (если добавлю) в обход требования заказчика. :) И будут какие-то последствия, например он срежет бюджет проекта и выбросит из игры пару монстров.
Короче, о позиционировании и речи не идет.
Именно это я и хотел узнать: интересует ли твоего заказчика обработка звука. Нет - так нет.
Прямо стихи. Напоминает мне о том факте, что Марк Овермарс (создатель Game Maker'а оригинального) на самом-то деле в основном занимался акустикой, и поэтому в GM'е есть куча функций для объёмного аудио, и зачем-то громкость звука устанавливается по грёбаной экспоненте, в итоге чего громкость ниже 0.5 это уже "почти не слышно", а между 0.9 и 1.0 разницы очень много.
В Пиксельном Гладиаторе, кстати, неплохо зашло стерео, несмотря на мой скептический взгляд. Но это двухмерная игра, и там просто панорамирование лево-право.
Не, не шучу. Забирай. Я их всем ещё на Коленке раздавал в 2015 за так.
Впрочем, в лучшие времена на ней были и посты о том где достать звуков, попробуй где-то там посмотреть:
http://kolenka.su/blog/mylittlekafkablog/10-gigabajt-royalty-free-zvukov-taki-dovolno-kachestvennogo-zvuka.html
http://kolenka.su/blog/sfx/diforb.html
Или даже может мой гайд по генерации почитать:
http://kolenka.su/blog/guides/posobie-po-generaczii-zvukov-s-pomoshhyu-sfxr.html
Лично у меня нет желания качать 10 гигабайт от неизвестной мне фирмы, которая специализируется на записи трактора и звуках роботов, притом с пропиетарной лицензией которая не совсем паблик домайн. Даже если мне потребуются звуки техно сеттинга, проще будет пойти на фрисаунд.орг.
По дифорбу на их сайте нет ни архива звуков ни программки, которая скриншотом на наколенке. Ничего нет нормального и лицензия снова не паблик домайн.
А по sfxr, он да, хороший и удобный. Только генерить на нем можно не звуки. А пикалки-скрежеталки, что для 1982-го года Атари было как раз, а сегодня, ну, так. Сам понимаешь.
За ссылки и то, что ты хочешь помочь, держи плюс. Но фрисаунду пока нет конкурентов.
Лицензия там вполне паблик домейн (в том плане что не надо платить роялти, не надо указывать авторство и прочее), не пугай людей
А дифорб сильно изменился со времени написания поста
Я не разбирал ее по буквам, конечно. Но факт того, что они не выпустили пак звуков под паблик домайн, а придумали СВОЮ лицензию, меня наталкивает на мысль. Что значит был какой-то смысл придумать свою.
Смысл в том, что эти звуки они раздавали ради пиара и раскрутки. Паблик домейн CC0 означает полный отказ от прав. То есть, я могу накачать CC0 звуки на фрисаунде, изменить их, сделать из них свой супермега звуковой пак и раздавать и даже продавать где-то у себя - и я ничего не нарушу.
Понятное дело что такое сониссам не по душе пришлось, и потому они используют другую лицензию - можно все использовать как в CC0, но нельзя эти звуки пересобирать в другие паки и присваивать себе авторство этих звуков - это повредит раскрутке.
интересно, а если я проиграю все звуки по очереди. Запишу, то есть создам свое звуковое произведение. А потом его нарежу на шоты, теперь я автор?
Нет, в любом случае авторство звуков сохраняется за теми людьми, которые их записали. Просто тебе не нужно ни указывать их имена, ни платить им роялти.
так это я их записал со своего произведения. Которое создал на основе их звуков. Как диджеи использующие семплы из чужих композиций. Я сейчас не конкретно про эту лицензию, а вообще, есть ли смысл лицензировать ваншоты если лицензия легко обходится
Оригинальные исходники звуков все равно за их авторством остаются, как и сэмплы, которые отмывают, просто платя за использование. One More Time дафт панков всегда будет сделана из песни More Spell On You Эдди Джонса. Легально это наверное будет называться derivative work
Насчет обхода лицензий - это не имеет никакого смысла в данном случае, учитывая что мало кто будет прислушиваться к одиночным звукам и сравнивать их с какой-нибудь библиотекой, если это не классический и легкоузнаваемый звук, конечно. Undertale вон использует саундфонт из Earthbound, а в нем сэмпл из Deirdre за авторством The Beach Boys, но я не думаю что где-то на законном уровне это все регулировалось, максимум - с нинтендой. Соблюдение лицензии тут - просто ради чистой совести
Добавил видео ходьбы и стрельбы в первый пост.
Что скажете, как вам?
Ружье слишком задрано вперед, угол бы чуть поменять, чтобы оно вперед смотрело. Желтый крючок это типа курок? Не очень понятно строение ружья в таком случае.
Сами эффекты при стрельбе сочные.
Спасибо! Эффекты там не особые, камера дергается да пара спрайтов пороховых газов. А ружье да, задрано, мне так показалось эпичнее. Реализм скучнее, в жопу его. :)
Ничего так. Нупр прав про ружьё, что вперёд смотрит. А про крючок как-то пофигу.
Добавь врагов и думаю тогда обсуждение шутера бодрее пойдет )
Для него как раз нужно геймплей видеть. Если деревья подошли из медового - монстров оттуда не получиться взять?
Сам хочу. Но врагов не скоро. Сейчас долго буду делать физику столкновений, а только потом графику врагов.
А не получилось бы заюзать заново старый код из, не знаю, Лорда Картошки? Там же один хрен высоты не будет, всё на двухмерной карте квадраты с квадратами сталкиваются.
Тут сложнее все. Во первых 2д не сработает. Вот нужно мне посчитать, с чем столкнулась пуля на текущем отрезке пути. Что делать? Надо перебирать все полигоны рядом и смотреть, какой первый пересекся. Если скажем монстр частично спрятался за деревом, куда попала пуля?
Физика игрока и врагов другая, они должны огибать препятствия. Значит мне требуется уже вместо дерева достроить скажем цилиндр. И считать, как текущий шаг его огибает. Потому что полигоны дерева, сам видишь, не обогнуть.
В итоге все сложно и я не уверен, потяну ли и как быстро смогу.
2d сработает, если хочется оригинально сделать. Пуля один фиг ползет по плоскому экрану (после всех проекций). Можешь строить буфер глубины и при смещении пули на экране на 1px (старик брезенхэм) сравнивать глубину пикселя и z-пули. Зная z-координату можно отсеять объекты на сцене. Ну и волшебные octree, kd-tree и т. п. для отсеивания выживших объектов.
А если отвернулся от пули, то не попадает никуда. :) А если по мне стреляют? А если со спины?
Пока все еще думаю. Формулы для этого дела уж больно мозголомные. Ищу способ проще.
Думал над воксельной сеткой. Это такой огромный 3д массив, где в ячейках хранятся флаги занят-свободен. Детектить по нему - самое изи. Но - во первых он память сожрет как конь. А во вторых скорость сожрет: все динамические объекты требуется каждый кадр перегонять в эту воксельную сетку. Например врагов. По скорости не годится.
Пули как физический объект -- я бы пострелял, обычно-то долетают мгновенно.
Вместо одного массива, нужно октодерево (octree) по неподвижным объектам (это и есть воксельная сетка с переменным размером ячеек) и дерево в виде доменной система физ. взаимодействия вложенных AABB (axis-aligned bounding box - параллельный осям ограничивающий прямоугольник) для движущихся объектов. Можно и цилиндры, но лучше сферы, но сферы неплотно прилегают друг к другу, хотя рассчитываются быстрее.
Октодерево(1) неизменно и позволяет отсеивать неподвижные объекты, доменная система(2) позволяет быстро находить пересечение с динамическими объектами. В конце может остаться перебор-проверка на пересечение с двумя тремя объектами. Октодерево экономит память. Домены физ. взаимодействия экономят скорость -- не все нужно просчитывать, так как заранее известно что с чем соприкасается, а что -- нет.
Ничто не мешает домены второго динамически (пере)привязывать к узлам первого. И я так понял -- тебе самому хочется придумать все алгоритмы?
Спасибо, но на данном этапе для меня слишком сложно. Я ж нуб и в физ-рассчетах и в 3д. Слишком много неизвестных слов. :)
Да, как ты сказал, и придумать хочется самому.
Акцент ведь на "хочу сам" :) Умолкаю.
Меня не покидает чувство, что весь физон можно сделать очень просто.
Перепривязывать домены одной структуры к узлам второй, да зачем? Мир статичен. Динамических объектов по пальцам пересчитать. Сами объекты цельнолитые, то есть в физике представлены чем то вроде шара или цилиндра.
Неужели я ошибаюсь и простого пути нет?
А есть варик сделать упомянутый выше трёхмерный массив а-ля воксели, но обсчётом озадачить не проц а видюху? Даже не слишком современные карточки вроде могут столкновения аппаратно обсчитывать, не?
Не знаю подробностей, скорее просто интересуюсь есличо
Запросто. Через OpenCL, ссыль: https://ru.wikipedia.org/wiki/OpenCL
Но было бы странно писать софтрендер на cpu, чтобы потом считать столкновения на gpu. :)
А по-моему идеально. Ещё вопрос, что для современных геймеров будет более странным! (хотя, какой вопрос, конечно же первое)
Пусть и деревья твои пиксельные через гпу обсчитываются, чому нет?)
Я скорее имел ввиду будет ли профит в производительности - ты же упомянул методу как простую но ресурсоёмкую. Последний раз когда я действительно чотатам копался в технологиях (оч давно) видюхи не умели аппаратно воксельные дела делать. Ща чота поменялось?
Сейчас видюхи все что хочешь умеют. Я ссыль дал, посмотри, изучи.
Нет же, тут вся идея в софтварном растеризаторе с нуля. А видюха не, у меня к ним застарелая нелюбовь. Только целые числа cpu, только хардкор.
Мне кажется, всё хитрее, чем господин СБ хочет представить публике - он хочет... считать синусы... сам!!! Немногим позволено такое баловство нынче, немногим! Да и те синусы он скорее всего будет писать в переменные с фиксированной точкой/запятой, а не плавающей, и ни фига не двойной точности, ибо она действительно не столь нужна.
Я тут сам деревья не могу огибать. Какие уж там синусы.
Проблема:
Сделал я физику столкновений игрока с полигонами в горизонтальной области. Обычные объекты игрок огибает нормально. И вот перед ним дерево. Дерево в игре имеет структуру креста, если смотреть сверху вниз. Поэтому игрок сталкиваясь с деревом НЕ огибает его. А утыкается в центр креста.
Что делать, как научить огибать дерево простым способом?
Картинка об этом:
Может каждому дереву выдать прозрачный квадратный коллизионный блок, а крест-дерево пусть будет проходным, только прорисовывается. Но геморно наверное.
а. Полностью прозрачный блок неслабо так скушает фпс.
б. Потребуется система флагов, чтобы передавать их в физику, чтобы физика отличала "вот это сталкивай, а это не сталкивай". Так как дерево сейчас это цельная модель, то и флаги у нее все общие на всю себя.
Считать это фишкой. В страшных фильмах герои и не очень всегда цепляются за корни, а иногда и наоборот.
Меня это раздражает когда идя по лесу цепляюсь за деревья. Чувствую, игроки будут в бешенстве.
Разрешить уничтожать деревья, что хороший выход для ярости. И ты обещал только один вид врагов.
Пусть егерь будет пьян и двигаться по синусоиде (ты же можешь синус?) При движение корректировать скорость для достижения максимум амплитуды на препятствие и тогда игрок будет автоматом огибать деревья.
Изменив ось движения, можно перепрыгивать деревья.
Лооол, это смешно и даже как-то правдиво, но чисто игромеханически будет не очень хорошо.
Решение: не считать коллизии с крест-накрест расположенными спрайтами полигонами, а по центру дерева установить цилиндрический отдельный коллайдер, никак не прорисовываемый. Не проходимый / выталкивающий из себя.
В итоге так и сделал. Но это стоило мне. Начать с того, что в движке не было невидимых спрайтов.
Невидимые спрайты -- первый шаг к брашам и BSP, а там и до хексена недалеко.
От невидимых спрайтов слишком близко до невидимых стеночек. И до хитбоксов. То есть до всего ненавидимого в современных 3д играх.
У каждого наверное было: стреляешь по противнику, и вот видишь как пуля пролетает его руку. А повреждений нет: хитбокс его руку не включает. Или идешь по карте, запрыгал там куда-то, и все. Дальше не идет. Невидимая стеночка.
Поэтому хотя мне и пришлось прибегнуть к такой практике сейчас, эта практика отвратительна по сравнению с "что вижу с тем и физика".
Что мешает повесить хитбокс на руку/ногу/хвост/мизинец левой ноги?
Я вообще не представляю как ты без хитбоксов и невидимых коллайдеров для статики будешь делать 3д игру, только если она будет 3д чисто визуально, а вся логика будет в 2д описываться.
Мешает то, что это сожрет время. Либо его съест написание десятка вариантов автоматической генерации, либо расстановка хитбоксов вручную. Также время сожрет любое изменение концепции меша. Захочу добавить к мешу анимацию, значит, надо идти в код хитбокса и добавлять учитывать анимацию ему. Захочу добавить мешу выгибание на ветру, опять же потребуется идти в код хитбокса и писать все и для него тоже. Это буду делать я, руками и днями. И баги вылавливать тоже буду я.
Поэтому плодить лишние сущности злючее зло.
А по какому критерию я не пролезу, если оставлю концепцию "что видим с тем и физика"?
А, а я уж подумал что ты считаешь что сама концепция хитбоксов плохая и из-за нее попадания в руку не учитываются
Отчасти ты понял верно.
Если на плохое решение потратить очень-очень много времени, это решение можно сделать нормальным. Но разумеется проще не выбирать плохое решение.
Но правильная расстановка хитбоксов творит чудеса, позволяет делать слабые зоны (например, попадание в голову наносит дополнительный урон) или сделать разное поведение в зависимости от поврежденной части (уменьшить скорость при поражении двигательных конечностей, или враг использует дополнительную атаку, более сильную, если его слабая часть повреждена). В хитбоксах одни плюсы. Кроме только того, что их очень сложно реализовывать, а в твоем случае это может загубить всю задумку с 3д.
Что мой случай, я то понятно нуб. Иногда и рыбу покрупнее закапывали. Смотри на те же наши любимые Соулсы, когда визуально меч и тушка врага пересекаются, а хитбоксов касания не было.
А в третьей великие хитбоксы, арбалетные болты пролетают сквозь конечности во время анимации, можно стрелять сквозь проемы в балюстрадах и т.п.(лаги в пвп/коопе не в счет). То есть, опять таки просто грамотно расставили коллайдеры.
А почему же нельзя совместить твою идею и хитбоксы? Просто использовать их как некий "оптимизатор" на каких-то этапах. Скорее всего будет лучше сначала проверить 20 кубов на столкновение\выстрел, а потом при необходимости все треугольники (или более глубокий уровень боксов) проверить.
Тогда я получу все минусы хитбоксов. Читай сообщение от 19:37, всю эту радость придется вывозить.
Ты про это сообщение? Но я же предлагаю это как способ оптимизации (хотя то, что я предложу дальше - чёт не катит на оптимизацию).
Вот допустим у твоих анимированных динамических объектов есть BoundingBox, только он не будет статичным, а всегда будет пробегаться по вершинам. Можно пробегаться только один раз конечно. И использовать эту коробку только для отброса ненужных вычислений.
И вот хитбоксы можно организовать подобным образом. Только не по всему мешу проходить, а по "группе вершин".
Никто не говорит, что надо отбросить реальную граф.геометрию для расчёта физики, а скорее просто заранее обдумать вариант оптимизации.
Да, про то. И как ты можешь видеть из него, мое время реализация хитбоксов все равно сожрет. То есть основной их недостаток останется. А про быстродействие ты прав. Ясное дело, простая геометрия и вычисляется быстрее.
Тут еще вот какой момент. Попытавшись сделать алгоритм комплексный, я рискую штаны порвать. Я ж нуб, мало что умею. Поэтому по умолчанию лучше брать алгоритм "в лоб", самый примитивный. Тогда он хотяб вообще будет. А эти боундинг-боксы, они серьезное усложнение.
Но вот тут верно, да.
Ну тогда общая твоя идея чуть яснее стала мне. Действительно, можно не правиться со всякими хитрыми шутками и на крайний случай уже потом добавить это.
Вот тут я думаю ты врёшь! :)
Ну как это врёт. В языке он мастер, в движкописательстве тоже хорош. Но рендеры и простую 3Д-физику товарищ СБ постигает только сейчас на практике.
Последние сколько, лет пять, делал одни рогалики. Причем года три и код рогаликов менял мало. Знания это такая штука, они сохраняются только при использовании. Перестанешь юзать, забываются.
Ну и потом возраст. Такого старого пса трудно новым трюкам научить.
А за поддержку спасибо.
Чуть ниже я предлагал тебе приподнять деревья на бугорках земли.
Поставь дерево на выпуклый (цилиндрический) постамент. Завуалируй его под землю, приподнятую корнями, траву, мох и добавь грибов.
на такой плоской карте лучше в горшочек
Есть, когда известно как устроен "твой мир" и какая именно "физика" тебе нужна.
Можно отсортировать объекты по расстоянию до центра или угла карты. Зная расстояние обсчитываемого объекта ты достаточно точно попадешь в одномерном массиве на нужный близлежащий объект и проверишь на полное пересечение.
Не-а, не надо. Пуля - точка, так? Стены - отрезки, так? Тогда надо искать для отрезка с началом в предыдущей точке пули, а концов в новой точке оной же, пересечение с каким-либо отрезком стены, в радиусе R, где R это максимальная скорость пули за один кадр (расчётный). Ну или максимальная скорость пули, до которой нет эффекта туннеллирования сквозь стены, но это уже не по канонам.
Деревья и монстры пускай круги, да. Тогда пересечение отрезком круга. Попадание по монстру за деревом - в том случае, если дерево по расстоянию тупо ближе к источнику выстрела, чем монстр.
Деревья полигонами, говоришь? Это вообще как? И, даже если как-то можно - зачем?
(исходников Думов-Квейков не читал, если что)
P.S. Ну дааа, я дополнил свой комментарий как раз когда ты пришёл его читать. Так что я пока пойду чай попью, на всякий случай.
Были бы, если бы голову нельзя было поднимать-опускать. Но поднимать и опускать можно, на видео это отражено.
Тут где-то физико-коллизия проблемы?
Скорость пули же достаточно большая, так что можно пренебречь пулей как физ.объектом (ну кроме гранатомёта, ракетницы и на чего ещё фантазии хватит).
Поэтому ведь действительно проще проверять "столкновение" луча\линии и треугольника, например. И тут нет каких-то сверхсложных вычислений - даже я, дубина в математике, просто нагугливал решения и реализовывал пару раз. На гд.ру точно 100500 тем было про это.
У тебя ведь как сейчас всё строится - треугольники? А динамические объекты всё же имеют (или будут) какой-то примитив для физики? Сферы там, коробки.
Выше уже давали советы правильные по этому поводу: для статики уровня строить octree (как самое простое), для динамических объектов проверять сначала на AABB, потом более точные расчёты использовать, если надо. (это касается попадания из винтовки, например)
Нагуглить то и я нагуглил. А рассчет пересечения отрезка и треугольника - требует арккосинус. А арккосинуса у меня в движке пока нет. Значит, его надо через ряд Тейлора писать, тестировать потом.
Ну и потом, тут цель не нагуглить, а написать. То есть по честному вот это в голове и писать.
Не рассматриваешь вариант просто навычислять arccos в таблицу поиска (lookup table) и не считать его числами вовсе, а просто доставать из массива и интерполировать, если нужна точность больше чем шаг таблицы?
А вычислит то его кто? В с++ из коробки синусов нет.
Как это синусов нет. Может арк-косинусов нет?
http://www.cplusplus.com/reference/cmath/sin/
Ну, давай я тебе на ГМе посчитаю, если хочешь. Закинешь в свой движок.
Нет в языке c++ синусов. Это подклю... Блин, вот как же бесит что это не форум. Пять постов ниже ровно эту же фразу писал.
От формата блога надо уходить, если общение больше десятка комментов. Как тут предлагается вести девлог, просто непостижимо. :)
А синус мне не нужен, спасибо. Он в движке и так сделан, и в нем самом проблемы нет. И в арксинусе тоже.
Т.е. как я понял своего софтварного рендера недостаточно и хочется писать и свои мат.функции? :)
Ну тогда да - задача становится сложнее. Хотя вот не помню, чтобы для этих дел использовал арксинусы и арккосинусы. Где-то был хитрый такой код, который я вообще не понял, но он работал.
Можно сказать, что я вообще не помню вот_эту_всю_математику_и_геометрию, но арки - это ведь обратные функции? Может быть их можно даже можно тупо в массив градусный забить (считай захардкодить). Хотя лучше меня не слушать.
+
Про таблицу - оказывается Ксит уже про это написал, забавно.
Раз их нет в с++, я предпочитаю писать а не брать готовую либу. Сложностей с ними нет, на самом деле, ряд Тейлора простая штука. Синус ведь сделал. Просто гемора не охота.
Тут вот еще что. У меня сильное подозрение, что вот физику всю можно сделать как то ну совсем просто. Прямо буквально в пару строк, без сложных пересечений отрезка и треугольника. Без вот этого всего вообще. Поэтому я и думаю.
Ага!? Нет в Си арксинусов? Или ты про эти библиотеки и говоришь? Мне стало интересно как тогда картинка выводится)
Вообще я всегда "за" самописное (движки и прочее), но мне кажется, что у тебя там уже всё слишком своё :)
Думаю это возможно было бы. Со стороны сложно сказать. Разве как уже предлагали - делать физику в 2Д (типа как вид сверху). А проблему смотра вверх-вниз оставить как в Думе первом т.е. стрелять будет всегда в того врага, который впереди игрока, при этом независимо от высоты игрока\врага.
Синуса, арксинуса, корня, всего этого нет в стандарте с++. А по ссылке у тебя они также берутся из неких библиотек
Оставлю это как свой последний вариант, если не смогу во что-то лучшее.
https://ru.wikipedia.org/wiki/Стандартная_библиотека_языка_Си
BCL, она же Base Class Library, она же то что в ссылке выше, включена в стандарт ещё даже не C++, а обычного Си, 1990 года. Не совсем понятно, для чего тебе такая индёвость в вопросе вычисления синусов. Видимо ты используешь какой-то компилятор, у которого стандарт поддерживается только частично?
Это как, ну, не знаю, говорить что printf() нет в стандарте C++. В ключевых словах его конечно нет, но функциональность стандартной библиотеки уже подразумевается, когда говорят об использовании языка самого по себе.
Да, и принтфа твоего тоже без внешних библиотек нет. Бе-бе-бе.
Ладно, ладно, ты победил. Просто не хочу брать либы.
Хардкор! Умельцы сделают потом порт на встраиваемые системы!
Конечно можно - исходники Wolfenstein 3D в студию!
Мне в голову приходит только вариант считать коллизии прям огромными (на выбор) квадратами по сетке-массиву, то есть как воксели, но всё-таки плоско - в 2Д, или например с жёстко ограниченными уровнями высоты типа 1 - на земле, 0 - в яме, 2 - над монстрами, 3 - "крыша". Но это конечно налагает взаимные ограничения на левел-дизайн. (громковатое слово для такого проекта пока что, но кто знает)
Пересмотрел видео. Ай-яй-яй, потешаешься над старым Кситом! У тебя оказывается не Hexen, как ты заявлял в заголовке поста, у тебя Quake! Потому что в оригинальном Hexen (в отличие от мода GZDoom или ещё других ремейков Дума) если ты смотришь вверх/вниз, то вертикальные вершины стен остаются строго вертикальными. Это та причина, по которой не разрешали взгляд дальше примерно 45 градусов вверх и вниз от горизонта, потому что при взгляде в пол или потолок/небо искажения достигали бы совсем нереалистичной картинки. Именно этим и отличается движок первого Квейка.
Но правда это никак не объяснило мне, почему бы стенам не быть отрезками (пускай отрезок - часть полигона, формирующего карту, он ведь всё равно отрезок), а деревьям и монстрам не быть кругами. Я думаю, ты хотел сказать что у тебя в движке "высота настоящая", а не как в Дюке Ньюкеме 3Д - можно залезть на этаж поверх этажа (винтовая лестница в E1M1 иллюстрирует), но только если полигоны между собой чётко и хитро соединены. В Redneck Rampage додумались строить второй этаж из спрайтов, положенных плоско горизонтально "как тайл", но и это ещё не было настоящей высотой. Так какая же она у тебя? Если ты говоришь о цилиндрах, то скорее выходит что настоящая.
Высота самая настоящая. И все модели делаются в блендере, так что нет заранее расставленных стен Дюка или Хексена.
Их можно было бы и достраивать, однако хочу попробовать обойтись родными мешами моделей.
Ну так а что мешает сделать рпг по подземельям и снаружи в духе лавкрафта с такой прекрасной осенней атмосферой которая потихоньку катится в ад?
А с другой стороны. Крафт, рпг, рогалы, открытый мир, 150 видов врагов, стелс. Не видели мы этого шоль? Да про того же медведя есть испытание, к примеру, в Long Dark. Не знаю. Понимаю, Хексенов тоже как грязи, но с удовольствием погонял бы и в увлекательный олдовый шутерок с такими ламповыми деревьями. И еще, чтоб чупакабры. Посмотрел видос и в Blood захотелось побегать.
Дело в том что для олдового шутерка для одного только монстра нужно спрайтов нарисовать больше, чем для десятка двухспрайтовых монстров из прошлых рогаликов автора. И в большем разрешении.
Ох хо хо, маленький гоблин нашел пулемет ружьё :)
Будет интересно посмотреть чем всё это кончится.
Больше в лесу никто не живет ружьё.
Просто любопытно, а мультиядерность ЦПУ используешь?
Разумеется. Этот рендер даже gpu иногда обгонял. Основное обсуждение здесь: http://www.gamedev.ru/flame/forum/?id=218277
А вот фестиваль-вызов большим растеризаторам: http://www.gamedev.ru/code/forum/?id=219212
Ага, спасибо, полистаю на досуге.
Пролистал, возможно пропустил: что распараллеливаешь и как балансируешь по ядрам/потокам?
Вот тут даже кусочек кода привел: http://www.gamedev.ru/code/forum/?id=219212&page=7#m91
Разбит на потоки самый основной элемент: растеризатор. Экран разделяется на горизонтальные участки, и потоки как освободятся выбирают следующий участок для отрисовки.
Хм. А можно делить ещё и на вертикальные?
Экран можно как угодно делить. Большие не-реалтайм рендереры чаще делят на квадраты с таким рассчетом чтобы весь он влезал в L1. Но так как у меня реалтайм, выгоднее линейно идти по памяти, поэтому я делю на горизонтальные участки.
Так если синусы считать вручную, может уже и на ассемблер в итоге перейти? Такая-то скорость будет, огого.
Скорость мало поменяется, а может и в меньшую сторону даже.
В любом случае ассемблер не поддерживается в с++. Вставляется костылями, для каждого компилятора своими. Однозначно портит совместимость. Затрудняет понимание и модификацию кода. Чтобы от асма была выгода, требуется а) написать изначально плохой алгоритм, б) хорошо владеть тонкостями cpu, в) не бояться потерять совместимость и любить костыли.
Но я имел в виду чистый асм, а не инлайны. Вот тут, говорят, объектно-ориентированный "пре-ассемблер" имеется:
https://ru.wikipedia.org/wiki/Monate-OOP_ASM_(язык_программирования)
А что тебе совместимость, неужто хочешь потом на своём том калькуляторе запустить, к Принцу Персии подключить?
На чистом асме невыгодно же: скорость написания кода падает в разы. Ну и потом, это миф, что на асме работает быстрее.
Ну как это миф. Можно ссылку на что-нибудь по теме разоблачения сего мифа?
Оу, ну вот например: google search Microsoft compiler doesnt allow inline assembler in 64 bit mode
Для 64-бит сборки инлайн-асм вообще выбросили из, на секундочку, самого популярного компилятора с++. Ну и по этой ссылке пооткрывай обсуждения. У многих есть такой же вопрос, как и у тебя, и там можно почитать почему асм плохая идея.
За ссылку спасибо, не знал, и было интересно почитать.
Ууу... Кажется, еще 20 лет назад в 96-ом под ДОС большинство программ уже были на сях или ином крупном языке написаны. Если это была не крохотная утилитка, а что-то потяжелее. Погугли, как были написаны игры тогда. Сеттлерс, Вольфы-Думы-Квейки, ну и так далее. И это 20 лет назад.
Проще говоря, сегодня целиком проги на асме не делают от слова совсем. Разве что прошивки контроллеров или подобное.
+++
А что касается быстродействия, так а какая разница, всю ты прогу на асме пишешь или кусочек? В любом случае использовать асм решение плохое.
Чего гуглить, я знаю как их писали.
Под NES пишут на асме! Там есть реальная выгода. Правда это всё недолго ещё продлится.
Ага, я и говорю, прошивки для микроконтроллеров на нем пишут. Нес вышла в 1983-м году, так что. А вот для х86-го cpu полностью на асме программы не писали уже лет двадцать назад. Сегодня для х86-го и вставки асма не нужны, так как скорее дадут вред чем пользу.
Ну, что ж. Один-один!
Зачем это в 2016 году? Если это конечно не новый игровой опыт, как майнкрафт, а простой клон doom, hexen, etc
Плюс за хороший вопрос. Зачем это игроку, я совершенно не представляю. Может быть, игроки мне скажут? Зачем это мне, автору, тут ясно. Мне интересно. А вот мнение игроков хотелось бы услышать.
Надоели реалистичные шутаны. игры должны быть разные.
О, кстати, посоветуйте реалистичный шутан, чтоб не коловдути, но и не упоротый, как арма
Operation Flashpoint.
выглядит как шутка, но гугл говорит, что они разные. Спасибо, посмотрю
Тьфу ты, так "арма" это её новое название. Понаделают игр своих... Я про первые части. Хотя, на начало нулевых там может и не слишком реалистично. Но раньше хвалили.
еще 2009 есть от Codemasters, вроде попроще армы
Больше багов, глюков, глитчей и клуджей, а то обсуждать будет нечего. Как в детстве по стройке гулять.
Уж это обязательно! Из-коробки у пользователя будут баги: черные точки на текстуре деревьев, z-fighting на поверхностях построек, плавающие искажения на текстурах вблизи, камера, проходящая сквозь текстуры, отсутствие плавности даже при 60 фпс, и много другого. Некоторые из заявленных багов можно уже сейчас увидеть на скриншотах и видео.
"уже сейчас увидеть на скриншотах" - так это рендер, поди, а как выйдет, то опять: точек не доложили, искажений не завезли, извините, консольные ограничения
Такие?
https://en.wikipedia.org/wiki/Texture_mapping#/media/File:Perspective_correct_texture_mapping.jpg
И такие тоже, но не только! Там много их, связанных с потерей точности.
PSX-style
Не, это началось ещё на SNES, с её Mode 7.
Кстати, пошерстил код и уменьшил количество черных точек в среднем процентов на 25. Дальше в точность 32-бит инта не лезет. Либо лезет, но ценою урезания возможностей движка.
Гайку можно будет бросать?
Гайка эта, как и само произведение Стругацких, оно больше для рпг. Ползти медленно среди аномалий, исследовать. Шутеру это лишнее.
Да и в шутере можно реализовать гайкокидание. И в стелсе. И в стелс-шутере. И в аркаде. И в головоломке. И т.д.
Ты читал хоть? Там совсем атмосфера такая, размеренная. Ползли они, медленно, осторожно. Каждый шаг щупали, вот гайки кстати за этим и были. Ну какой тут шутер?
Естественно.
Тут речь не про атмосферу, а про кидание гайки же. И почему в шутере местами не может быть размеренной атмосферы?
В книге она везде размеренная. Короче я не понял аналогию с гайкой.
Ты обещаешь много багов, глитчей и пр. аномалий. Кроме моего собственного зрения, какие еще будут инструменты для исследования (завоевания/освобождения) твоего мира? Как ты себе это видишь? С одной стороны я вижу на скринах неспешный процесс 3Д-брожения, с другой - ты отрицаешь размеренность и обещаешь скоростные пострелушки и пр. метания между деревьями.
Сам пока не знаю.
Сейчас учу монахов ходить. Потом буду учить ловить пули игрока и монахов. Потом учить умирать буду. Потом графику для них и пуль, хоть спрайты. И вот только потом будет хоть какой-то геймплей, тогда уже понятнее станет.
"Ренн бросает ботинок в одну из соседних комнат, держа его за связанные в канат шнурки. В комнате срабатывает огнемёт."
https://ru.wikipedia.org/wiki/Куб_(фильм)
А Стругацких не читал, и ждалкера не играл. (не горжусь этим, если что)
А оно стоит того, чтобы прочитать. Если оставить в стороне моралистику, то просто интересная атмосфера. Если сможешь высидеть, можно и тарковского посмотреть (совсем другая атмосфера). Добить можно "Спасите Галю!" Булычева.
Куб - прямолинеен и малогранен, но это кино на полтора часа.
Многие советовали. Лень как-то. В чём практический смысл?
оно стоит того, чтобы прочитать, если тебя интересует художественная литература. Иначе Керниган-Ритчи, а лучше законы о ЦБ, о валютном регулировании и инструктивный материал центрального банка
Ты человек самостоятельный - сам как-нибудь примешь решение.
Духовно обогатишься и у тебя игры лучше станут.
Книга классная.
Фигасе вы тут набежали. Ладно, придётся читать, раз уж и СБ плюсанул. Если не пригодится в жизни, будете мне должны это время! Или нет.
Добавлю только, что я прочитал "Пикник на обочине" задолго до выхода Сталкера, и, честно говоря, видел игру про Зону совершенно по другому. В моём представлении это был бы не банальный шутан с инвентарём и квестами, а скорее хоррор. Я даже не был уверен, что там нужны мобы. Т.е. нужны, конечно, но в малых количествах и на поздних стадиях. Основным хазардом, делающим геймплей, должны были быть именно аномалии а не кровососы со шпаной в абидосах. Помещение же Зоны в Припять мне вообще показалось попсовой безвкусицей.
Стоит ли говорить, что ждалкера я дропнул, едва начав?
"Сталкер" же по мотивам Стругацких только. Даже я бы сказал не по мотивам, а некоторое влияние книги есть.
Они потом свою серию в 100500 книг наделали. Не знаю, кто это читал, но продавались они хорошо.
Вся соль современного Стима.
Я никогда не читал ничего отвратительнее Метро. Подозреваю что Сталкеры из той же кучи. И не могу припомнить такого же шлака в стиме с хорошими продажами
Значит ещё не современного...
Ну, первая книга Глуховского просто отличная была. Далее там какая-то тоже серия с большой авторской пиздабратией пошла.
А вот Стругацких стоит почитать, хороших книг у них много.
Зависит от количества гаек в секунду, а таким ружом как на скринах хочется неторопливо перезарядить, прицелиться и сделать точный выстрел в единственный вид врага. Смотрится аутентично, но далеко не скорострельно.
Перефразирую отзыв от игрока, который не ждет скорострельности от такого вида ружья и настраивается на неторопливую, прицельную стрельбу с большого расстояния.
А, ну я понял. Да, в принципе есть такой жанр. Типа охоты или рыбалки. Когда сидишь всю игру в засаде и ждешь лося. Ну тут наверное нет, хочется пободрее. Шутера.
Кстати, в игре уже не ружье, а посох. Я подумал, зачем ружье в Hexen'е, не сочетается с фентези.
О, спасибо за посох. Из него что-нибудь вылетать будет? Я бы на молнии пр. светопредставления на ЦПУ-растеризаторе посмотрел, любопытно.
Как в Hexen будут вылетать, только попроще. Без особых эффектов. Спрайты обычные.
А поколдовать в экранных координатах? Сдвинуть пиксели влево-вправо, добавить единиц к яркости от расстояния до набалдашника...
Эффекты стиль испортят. Тут стиль это лоу-поли + много пиксельарта. Даже слабый ореол от светильника, который никогда ничего не портит, тут будет как минимум не в тему. А уж сложный эффект точно порушит.
Я пока ни одного эффекта "в тему" не могу выдумать. Если вы мне идеями подсобите?
Думаю игрокам в 2016 году как и в 1990 нужна интересная игра с цепким геймплеем. Если игра вкусная ее будут играть. Некоторые так званые «клоны» с изюминкой куда интереснее игр «с новыми крутыми идеями» (которые, наверное, вкуривает только один автор).
Так это же как третий Квейк... ну почти! Как первый, если бы в нём были крестообразные деревья.
И не было бы геймплея и контента. Чего уж там, какой квейк. У меня монахи пока ходить не умеют, инвалиды.
Неподвижные монахи еще страшнее: стоят, зло вращают глазами, ругаются по латыни, при приближении отнимают очки здоровья, посох и мотоцикл Урал.
Поэтичная бродилка в духе Толкина?
По графике целюсь на Hexen-like тему, по геймплею целюсь на классический шутер девяностых. Wolfenstain 3d и прочие Catacomb Abyss'ы.
Подземелья Кремля 3Д!
Я тут "случайно" залез на "шейдертой" и меня посетила идея: если на вызов обработки геометрии или перед копированием страйда в буфер экрана вызывать соответствующие функции из внешней dll - можно сделать аналог шейдеров, что увеличит гибкость движка, но уменьшит производительность. Вертексный и фрагментный вряд ли: совсем производительность убьет, а вот геометрический или для постпроцессинга - вполне можно попробовать... позже.
С другой стороны из буханка можно троллейбус и надо ли оно?
Можно устроить фестиваль карнавал шейдеров.
А ещё давайте чтоб все числа считались с промежуточной конвертацией в string. Ну чтоб слишком легко не было.
...заворачивая в xml с выгрузкой в облачную рендер-фабрику.
А вот "шейдеры" действительно можно сделать и в этом будет смысл.
Смысл наверное должен быть в красоте итоговой картинки. И вот у меня вопрос: как шейдеры улучшат красоту здесь?
Если не трудно, возьми скриншот и прямо топором в гимпе-фотошопе-паинте покажи, какие пост-эффекты сделают красивее. А? Кстати, ко всем предложение, если тут кроме меня еще кто-то есть.
Есть-есть, мне интересно что получится. Я ожидал больше не эффекта от итоговой картинки, сколько эффекта от реализации: что-то сделано и на это можно повлиять, добавив своего, или не добавив, но можно, и оно будет работать.
Ну, а если с прагматичной точки зрения - пойду, покалякаю в паинт-дот-нете и подумаю насчет пост-эффектов...
Раз уж тема еще не утонула, вопросы ко всем.
Нужны ли кросхайрс? Перекрестие прицела, значит. В оригинальных играх из девяностых не было, но сейчас вроде приветствуется.
Еще вопрос по поведению врагов. Вот Херетик-Хексен-Дум. Какого из врагов вам было приятнее всего убивать? Попробуйте вспомнить свои чувства.
И у меня свежий видос есть. Первый монстр почти доделан. Через пару недель вероятно будет уже с ним геймплей.
игра явно не на широкую аудиторию, значит, нафиг аим, даешь мушку. И шомпол
Докачался новый видос:
если в патронах не ограничивать, то так клево. И вертикальное нацеливание еще убрать
Патроны скорее всего сделаю ограниченными. Тут уж по классике, они везде в тех играх ограничены. Ну и потом, без этого шага игрок будет постоянно стрелять. Тот ли это геймплей, что нужен? Не думаю.
А вертикальное нацеливание, блин, ты прав в том, что оно не нужно. А однако если его убрать, я пробовал, сразу становится чертовски неуютно: что мышка не может вверх-вниз.
ну, если совсем по классике, то и мышь убрать. может, специальный режим для дум-трактористов?
Только дум-трактористы вымерли давно. Даже я приловчился мышкой+wasd играть, хотя еще в третьем Квейке с друзьями сражался на одной клавиатуре. Управление без мышки сегодня вызовет только раздражение.
+++
А вот новые цвета культистов. Прежний меня не устраивает точно, думаю какой выбрать на замену. Назовите по вашему более подходящий вариант? Для простоты выберите только один, ответ делай все сразу мне мало поможет.
Картинка:
так же как и игроки в такой графоний. Ностальжировать, так по-полной.
самый стильный третий. Но по картинке видно что 1 - нуб, 2 - быстрый шпион, 3 - сильный воен, 4 - седовласый босс-мудрец
№3
А Квейк 3 без мышки это считай просто без шансов. Жесткач!
Первый и третий слегка черезчур кислотны, неестественны и бросаются в глаза слишком издалека. Сразу кажется что им не место в этом лесу. Эстетически они больше канают за захватчиов леса, в то время как второй и четвёртый скорее его обитатели и это ты у них в гостях. Четвёртый самый удачный. Он и органично вписывается и не сливается с текстурой земли в отличие от красного.
Мне кажется или можно будет грабить караваны тёмных монахов \ послушников \ сектантов ?
Возможно не только грабить.
А еще и убивать. А грабить эти самые корованы надо будет уже после убивства.
В видео уже, кстати, видно, что монахи набигают. Наверное, будет реализовано набигание и домиков деревяных, солдатов дворца и злодеев. Уже реализован и густой лес, значит, будут и эльфы.
Я про орудие воздействия. Возможен рейтинг R.
Приятнее всего было убивать самого первого врага в Еретике. Летающего демона такого. Хотя есть подозрение, что основной шарм заключался как раз в том, что посох вертикально автоприцеливается, а враг и ни при чём. В Хексене это были опять же первые мобы, но исключительно с трёх ударов воина. За остальных это нудно всё. В Думе... как-то вообще ХЗ. С двустволкой и выше много чего по плечу, а без - как-то всё достаёт.
Прицел точно не нужен. В этих трёх играх его не было, а новые веяния тут ни при чём. Ну можно сделать отключаемым/включаемым, если прям так.
То есть много выстрелов во врага это раздражает? А не будет скучно если все враги слабые, где будет геймплей-челлендж?
Не ввести ли накопление заряда при удержании курка и соотв. увеличения урона от удара? Как в R-Type (лучше примера не придумаю).
Как в Мегамене! Но задолбает щёлкать, тогда лучше авто-чардж и автоматические очереди слабыми зарядами при зажатии. И так игра плавно переросла в аркадный шутер, лол.
Не, много выстрелов раздражают только тогда, когда само передвижение по игре тяжёлое. У тебя физика перемещения игрока более скоростная и поэтому такого ощущения нет. Плюс выстрелы летят быстро. А в Хексене задолбаешься магом пулять 7 раз по этим чудищам, и это самый первый враг.
Но самое офигение и унижение меня постигло, когда меня угрохали фаерболлы из первой же комнаты внутри. То есть, это даже не враги - это охранная система меня победила. Открытие века было. Причём в Думе или Хексене такого нет. Ну это так, к слову. Ловушки тоже добавляют динамики, а какого-то особого ИИ или поиска пути не требуют. Поэтому, можно сказать, советую. (ну ещё бы, это одно из первых что было введено в Замке Невозврата 2) Принц Персии вспомнился также.
Враг "Arch-Vile" в Думе очень вызывающий, даже круче кибер-демона. Нужно от него прятаться за стены, в конкретные интервалы атак. Когда его побеждаешь, ощущаешь реально победу.
Можно сделать их оживающими обратно каждый раз. Ты его убил, он полежал, встал обратно и пошёл за тобой.
Можно даже усугубить и сделать их оживающими в качестве более опасных нёхов, например которые уже не убиваются (либо убиваются долго и болезненно) но сильно дамажат. Если иметь одного-двух поблизости то от них можно ещё как-то бегать, а вот орду ты не захочешь, поэтому как минимум будешь убивать монахов уже не кучей а в разных местах, а то и лучше вообще не убивать. Единственно для этого надо поколдовать над тем чтобы новые нёхи двигались к игроку не по прямой, иначе они будут преследовать игрока тесной гурьбой которая функционально не сильно отличается от одного и идея не алё выйдет.
Если при этом ещё ввести стамину, ограничивающую беготню, то будет вообще адок.
Сразу очерчу круг: основной смысл в рисование не где-то в три-дэ пространстве с последующим проецированием, а сразу на экране, т. е. получаем эффекты + экономим на производительности. Предполагаю, что у тебя есть кэш объектов к-е в данный момент на экране (он же есть, да?).
Это так, очень соблазнительно с точки зрения производительности. Потому что 2д сверху будет рисоваться конечно быстрее 3д. Но есть проблема: оно будет сверху. То есть скажем гало от канделябров круто, пока канделябр не загородит дерево: гало то останется. Его не загородит.
Ок, спасибо за варианты! О чем подумать тут есть. Но почти все они требуют крутого арта и много работы дизайнерской. Так что ничего более определенного сказать не могу.
Гало - это спрайт и он существует отдельно от эффектов на экране. Сами же эффекты действуют на экране - например "дешево" добавляют "мерцания" сквозь листву: при прохождении "шейдера" по экрану в месте где на экране расположен спрайт гало, "шейдер" на резких переходах сдвигает пиксели. Также как и все остальное - никакого арта, чистая работа байтов и синусов (с косинусами от дельты времени и расстояния до объекта).
Засветка краев, если близко к краю источник света. Там реально сверху-до-низу прямоугольник с равномерным плюсом к яркости пикселей. Над остальным работает твое родное освещение.
Нужно проверять и тюнинговать углы и пр. размеры. Здесь уродливее, но понятнее
Молнии выглядят как гавно, вероятно такими и будут, но хороший пример рисования поверх всего
Луна. Вставил пикселизацию, но можно поиграться с другим эффектом искажения. Работает только на резких переходах, т. е. будет "жрать процессор"
Говорить и обещать ничего не надо. Просто учти возможность работы с три-дэ прямо в экранных координатах.
Спасибо за картинки! Сразу понятнее. Засветка от канделябра это красиво, а молнию ты сам оценил. Луна прикольно, но немного не в стиль: во первых в игре туман и луна не должна быть видна, во вторых сумерки а не ночь, а луна вроде как намекает на ночь.
А за картинки в любом случае спасибо. В эффектах лучше раз увидеть, чем пять раз рассказать.
Молнии трансформируй в трещины на экране. Объект в небе бесплатно увеличивает высоту/глубину небесной сферы. И мне офигенно понравились пятна на экране в одной из твоих игр, дают картине глубину.
Так это был Путь Золота и Стали. Подтверждаю, сразу ощущается картинка какой-то живой, "как будто фотография" что ли. Давно не чувствовал ничего подобного, правда трудно вспоминается, где же я такое вообще видел ранее.
Закольцуй карту (тор получится) или телепортируй с края карты на другой край. Координаты новой позиции бери как псевдослучайное число от зерна константы, чтобы повторялось.
Не понял при чём тут зерно (так вот подходящий аналог для слова seed, который я безуспешно вспоминал!). Координаты новой позиции чего? Игрока после перехода "шва"? А смысл?
У нас есть способ увеличить размер маленькой карты - закольцевать координаты, сделать карту бесшовной. В итоге получим тор с телепортацией при переходе шва, так как кривизну поверхности мы не добавляли. Результат - бесплатно увеличено пространство до бесконечности, плюс мы можем двигаться непрерывно (вспоминаем проблему с остановкой об дерево).
Через некоторое время, а я предполагаю, что sbXXX сможет удержать игрока достаточное для этого время, игрок поймет, что его обманули и он банально крутится как белка в колесе. Ну, и ладно, зато бегаем непрерывно и непрестанно "мочим" сотонистов-саентологов.
Что еще можно сделать "бесплатно" для увеличения карты? Телепортация через шов уже есть, давай разнообразим майндфак игрока - будем телепортировать его не просто в противоположную координату шва, а в случайную точку шва?
Это просто выбесит игрока, поэтому вместо полной случайности мы введем элемент запутанности, но в то же время повторяющейся запутанности: разобьем шов на зоны определенной длины и переходы между отдельными кусками свяжем между собой. Теперь, переходя через шов, ты будешь телепортироваться куда-то в другое место шва и, вернувшись в это же место, сможешь опять-таки повторить свой прыжок.
Лес зачарованный и тропинки ведут не всегда туда, куда ты думаешь.
Для такой связи разных зон можно использовать псевдослучайные числа с фиксированным зерном (seed). Зерно выбирается в начале игры - игрок получает новую систему запутанных переходов между границами шва. Главное не дробить сильно шов на зоны, чтобы мозг мог запомнить направление и ориентироваться по мху и Луне.
четыре телепорта, по одной на каждую сторону квадрата. Больше - будет не очевидно, что зависимость существует. Хотя от длины сессии зависит, конечно
Проблема не столько в размере, сколько в контенте. Бесконечный лес с одним врагом будет скучновато.
Один вид врага или один культяпый на всю карту?
Добавить на землю изображение тропинок. В конце тропы спрайт портала к-й ведет к другому порталу.
А. Теперь понятно. Правда для этого необходимо чтобы каждая новая точка перехода шва представляла из себя пустое поле однородной (тайловой) текстуры и/или расставленные одинакого деревья/другие декорации. Иначе шов будет явственно ощущаться. Но карта где по краям куча одинаковых штук, тоже будет ощущаться странно. Либо делать поле видимости поменьше. Либо как-то туман какой-то генерировать, что ли. Или есть какой-то ещё метод, который мне не приходит в голову?
Ничего там не надо, если подменять координаты, движок автоматом дорисует картинку "с другой стороны".
...и если выключить туман и не помешают деревья, и область видимости достаточно большая - ты увидишь себя.
Ааа. Ну так это нужен такой движок сначала. Я-то исхожу из того что его ещё нет. Для меня "закольцуй карту" не включает таких глубоких переосмыслений. Мысль крутая!
В любом движке есть ограничение на пересечение пределов. Именно в этом месте ты подменяешь координаты по принципу:
было
стало
Ну для физических координат это понятно. Я с точки зрения рендера рассуждаю. У границы карты, где есть шов, нужно рендерить место, где находится игрок, ПЛЮС копию карты с другой стороны. А на пересечении координат
-1, -1;
-1, +1;
+1, -1;
+1, +1
потребуется рендерить уже 4 копии карты с разных сторон (так как это место где сходятся все 4 вершины прямоугольника закольцованной фактической карты). Я про это.
не обязательно пускать игрока к краю карты, позволяя ему видеть границу. Нужно телепортировать его чуть раньше. А чтобы игрок не заметил телепортацию - местность на границах карты сделать одинаковой, и всех видимых врагов тоже переместить
Я именно об этом и говорил чуть выше.
На это мне было отвечено, что:
Но я-то знаю что движок автоматом ничего не рисует. СБ, у тебя реально такой крутой движок уже? Я думаю, там про закольцовывание ничего не было, да и нету. К тому же, Хексен тут ни при чём, хотя мысль и прикольная.
У меня движок вообще мог бы закольцевать, при условии что линейные размеры объектов заметно меньше непрерывного участка. Потребовалось бы день- два работ.
Однако проблема не в размерах а в контенте. Если один враг и одно оружие, ну блин закольцую я, и что? огромный лес с одинаковыми врагами, здорово.
Можно стрейфить без проблемы упереться плечом в невидимую стену или провалиться под карту.
Это кто-й-то в три-дэ всю карту скармливает конвейеру? Только конус видимости и все что в него попадает не дальше эн-условных-метров. Данные будут забираться с как бы четырех карт, но все их рисовать не нужно, только то, что будет видно.
Ай, отрендерят себе все объекты, а потом... не понимаю я в этом, но сходу ничего не является автоматическим, я просто хотел обратить внимание на это. Впрочем, зачем? СЛАВА РОБОТАМ!!!
В любой непонятной ситуации... виноваты люди.
0 OK, 0:1 CJIaBa PO6oTAM!!!
А я архив собрал. Если интересует проект и готовы потестить и дать детальный фидбек, пишите. Сегодня, завтра.
Общая оценка - баги не напрягают, напрягает отсутствие мотивации и направления движения - нет цели. Мочить монахов быстро надоедает. Сделай какую-нибудь зону куда игроку нужно прорываться. Проект допиливать стоит, есть стиль и атмосфера.
Ага, фидбек принял.
По графике вряд-ли получится что-то исправить, это же свой софтрендер. Ну так, аутентичные косяки. По физике с отскоками скажу, что улучшить можно, но это не на первом месте пока.
Про 59 фпс это просто счетчик хз почему косячит. Вот, человек не может счетчик своего же фпс сделать, которое сам же и ограничил. А ты удивляешься z-fighting'у в рендере. :) Работает - уже чудо!
По неприятному синему цвету ты меня удивил. Никто из тестеров такого не говорил пока. Да вроде он норм.
Ты там случайно не оставил включенным сглаживание в игре? И что за ноут, какой процессор? Подробности о нем хочу, какая модель?
Ну блн. Если бы я мог, я бы и не привязывал действия к фпс. Придется крутиться как умею. То есть поднимать фпс различными ухудшениями графики.
Спасибо за детали и за тест!
Samsung N140 NP-N140-KA03
Гипертрединг отключен, ЦПУ в игре загружен на 100%, по памяти все нормально. Windows 7 Pro x32. Сглаживание отключено, прицел отключен. В окне 320x240 ФПС поднимается до 30.
Это нужно сделать.
Обратил твое внимание, так как такие мелкие огрехи в расчетах часто являются следствием большого просчета в глобальных расчетах. Дальше сам смотри, для игры это вообще никак не существенно.
Синий тут и не акцентный, и не комплиментарный, он - токсичный и выбивается из общей гаммы стиля. Дезигнер во мне сопротивляется такому насилию над зрительным процессом. Вкусовщина, сэр. Я бы поработал над его оттенком.
Графику и физкультуру подвинуть в конец списка и заняться игровым процессом. Сейчас он важнее.
А можешь проверить на нем вот этот апдейт? Ссылка: http://www.gamedev.ru/files/?id=122032
Он заменяет два файла, накати его на полный архив. Ты на экране должен увидеть картинку х2 крупнее если все правильно сделал.
Если не затруднит, потести, сколько на том компе будет фпс?
Кстати, а проверь со включенным гипер-тредингом? Я вижу по чартам, что это процессор уровня пентиум 3, и как бы да, в ТО время было принято отключать гипертрединг для лучшей работы однопоточных прог. Но у меня прога многопоточная.
А мне нравится. Такая же вкусовщина, впрочем.
Сложнааа. :) Попробую пока поискать решение проще. Снизить разрешение экрана, либо снизить объем активного окна на экране.
Все функции энергосбережения отключены. С включенным гипертредингом вокруг сторожки егеря:
Апдейт, на границах карты, где мало объектов, ФПС вырастает до 38-43. Физика привязанная к ФПС - это ужас-ужас-ужас.
Атом тех времен был плох в кэше и переключении контекстов. На апдейте вижу недогруженное на 30% псевдо ядро гипертрединга (70% загрузки в среднем), другое же полуядро загружено на 100%, но опять-таки неравномерно с регулярными зубцами провалами до 90-95%.
Выключенный гипертрединг игра выдает от 14 до 20 фпс со 100% равномерной загрузкой ЦПУ. Я б однопоточное приложение погонял, если такое возможно собрать.
То есть гипертрединг на одноядерном атоме дал прирост в + 25/20, я верно понял? Я просто никогда не проверял такого.
Однопоточную версию сделать запросто, вечером соберу. Сейчас то там 16 потоков и основной.
Ага. Я немного переоценил силы растеризатора. Результат в игре оказался медленнее синтетических тестов. И потом, у тебя редкий процессор. Вот http://store.steampowered.com/hwsurvey/ говорит, что одноядерных cpu у игроков меньше двух из ста. Я к такому не был готов.
Отвязка от фпс геморная. Будем так тащить. :) Я еще не ввел панель гуи игрока, это ну такая картинка со здоровьем и прочим, обычно занимала всю нижнюю часть экрана. Нагугли родные скрины Херетика или Хексена. Хитрая штука, и очень полезная в плане фпс. :)
И спасибо, что помогаешь потестить!
Гипертрединг дает рост до 25fps, но одно из ядер недогружено, работает только на 70%, то есть где-то простаивает. Другое же незначительно плавает в нагрузке в диапазоне 90%-100%. Очень похоже, что ядра часть времени находятся в ожидании, вопрос только - ожидании чего? Память, переключение контекстов, промахи кэша...
Здесь древний атом, которому не стоит уделять внимание, но если хочется - тесты продолжим.
С помощью специально тренированных панд провел "слепое тестирование" на различие в графике между версией с удвоением и без. Версия с удвоением воспринимается на глаз хуже, что как бы странно, так как пиксели размером с ладонь.
Когда у кого-то тормозит игра на древнем ноутбуке, где-то в мире грустит один маленький sb3d.
Конечно грустит. Высокий фпс одна из основных целей, и когда проваливаешь ее, пчльн. Но это и стимул продолжить шлифовать код! Тем более, что там сильно тормоза дает не прекрасный растеризатор, который уже вылизан, а дубовый физон, который и не оптимизировался.
Думаю, показатели загруженности ядер могут сильно ошибаться. Не знаю, как они вообще считаются, но сталкивался с тем что они различались раза в два на одном и том же коде, при одном и том же фпс, но скомпилированным разными компиляторами.
А что странного по восприятию удвоенной версии? Крупные пиксели мало кому нравятся. Обычно так и есть, их воспринимают хуже.
Ты разработчик, тебе виднее.
Крупные пиксели мне - ок, лучше чем мыло. На удвоенной версии при движении картинка на расстоянии "шумит" сильнее. Сейчас не замечаю: мог присмотреться, а могло и показаться. Вообще не существенно.
Отрезали кусок экрана, хитрости здесь не много, разве-что сделали это красиво. Вот выравнивание различных частей панели по границам слов/кэша и пр. хитрости со связкой CPU-RAM, это было хитро. Правда сейчас уже не вспомню в какой именно игре.
Blake Stone какой-нибудь?
Проектная мощность достигнута! Ну, по меркам игр 90-х, СБ уже король! (железо 90-х не в счёт)
И ведь не напишешь - "а мог бы игры делать".
Буду люто олопачивать того, кто еще этот коммент тут будет писать:Р
А можно конкурс устроить на тему - "кто лучше эмодзи по мотивам этого мема нарисует"...
Ну, строго говоря, игру еще делать никто и нее начинал. Пока играет только sb в движок и остальные в коуч пати
Ну, если строго говоря - флирт к сексу относят, так что процесс церебрального сношения уже идет.
А вот про коуч-пати у вас как-то грубо получилось.
но..., это же вид локального коопа... . Мы так всю крутотень в нулевых проходили. По домашнему все, весело же, если корн хаб не вспоминать. (да и там тоже весело)
Тут цель не такая. Игра игрой, движок движком. Утром фреймрейт - вечером геймплей. Вечером фреймрейт - утром геймплей. Но фреймрейт вперёд!
При нулевом фреймрейте → нулевой геймплей.
А ты чего-то большего ждал? Чего именно?
Ну и ты это, скажи признаки как мне узнать, когда уже игра начнет делаться. Так, чтобы вот сразу стало понятно: теперь делается игра. :)
как появится некий сюжет, цели, правила, соревнование, все это сложится в драматическую форму, вот тогда можно будет говорить про игру. На данный момент все это может быть и походовыми покатушками и визуальной новеллой и бенчмарком.
Вообще, вижу некую обиду, будто программировать движок хужее чем сочинять игру. Ноаборот, этих геймдизайнеров, процедурное от ООПа не отличающих, как собак нерезаных, а настоящих буйных спецов по программингу и нет почти
Ты серьезно? Просто вот это все делается за один день. Экран текста при старте игры, экран текста при убийстве последнего босса. Всё. Это сюжет, цели, правила, и прочее.
Ты просто так сказал, "игра еще и не начата", что я думал ты пятый дум ждешь как минимум.
Легкомысленно, конечно, но, можно и за день, флаппи берд игра же. А вообще, я про то что фраза "а мог бы игры делать" - формально, уместна)
В смысле "легкомысленно"? Возьми Херетик или Хексен, экрана с текстом при старте и после босса всегда хватало.
времена нынче не те совсем. публика избалованная и на pong смотрит исключительно как на музейный экспонат. При этом у еретика и развитие есть и мир построен и секретов накидано. Баланс очень посчитан
Бро, в критике правды нет. Типа если я узнаю, что игроки будут нос кривить, моих сил то не прибавится. А Еретик тогдашняя трипл-а, там энивей контента столько что в одно лицо не поднять.
Ну или девять лет игру писать, лол.
Не, ну не 9, но 5-то ты лет можешь потратить? Духи инди взывают к тебе. Сколько всякого годного инди делалось 5 лет. И пофиг, что 4 из них тратились на разборки внутри команды, ковыряние в носу и прочую прокрастинацию.
Планета - 3 месяца, Ад-демоны-рокетланчер - месяц, 3д-вертолет- месяц.Три мои последних проекта.
Пять лет? Эх, мечты, мечты.
ой, да ладно, какая критика. Так, болтовня. Нефик вообще так серьезно относиться к словам всяких нонеймов)). Мне, на самом деле, очень интересно, что из этого всего выйдет. Это не слендеров на юнити клепать, тут серьезные дядьки работают
Всё так, но "делать игру" и "делать игру чтоб публике понравилось" это таки две большие разницы. Я обсуждаю её просто как "СБ решил сделать свой Еретик", и делов-то.
Если даже захотеть делать чтобы публике понравилось, я не знал бы что делать. Кроме очевидных вещей типа общее качество графики-музыки, остальное рандом, господа, лютый и беспощадный. Хз, что игрокам понравится.
цель - принцесса в хижине.
тактика - бить монаха определенного цвета нужно только посохом определенного цвета, остальные малоэффективны.
развитие - только после убийства монаха одного цвета доступен посох для убийства другого.
соревнование - таймер, пермадес, бегающие крестьяне, которых нужно не задеть
мыльтиплеер
крафт, расчлененка, щиты, укрытия-перекаты
босс-вертолет
А хотите, я его посохом по голове стукну? Он станет фиолетовым в крапинку!
В крапинку - это если кучно пойдет, а то - пятнистый.
В сторожке святой Грааль серебряная пуля набалдашник, вокруг водят хороводы жестокие культисты. Нужно прорываться с боем и захватить набалдашник. Затем вылезет страшный бил-бордый дед-лайн Свирлепый Рэндом, его нужно победить.
эСБэ просил сюжет попроще.
и можно бесконечно продлевать сюжет: "Спасибо Марио! Но твой набалдашник в другой сторожке"
Мне бы не сюжет, для начала надо геймплей из того, что есть собрать.
Ну, собсна я тебе геймплей и нарисовал... из того, что было.
Ну нет, богу быстродействия надо больше быстродействия. Я буду оптимизировать! :) Я еще ого-го! Надеюсь, уломаю эту машину на лучший результат.
Кстати, уничтожение монахов - способствует фреймрейту: я тут немного оптимизировал FPS, когда их всех перестрелял.
Респаун их рандомно?
Все верно. Сейчас очень многое отнимает физон, а не картинка.
И почему это происходит? Где там Ньютон закопан...
Откуда же я знаю? Каждый раз я запускаю игру и офигеваю: ух-ты ух-ты, физон работает! Это большое чудо. Серьезно, посмотри прошлый мой проект про 3д-вертолет, если интересно кину ссыль, там физика жуткая. Смотри позитивно, что сделано сейчас огромный щаг для меня.
Смотрю я позитивно, иначе бы не пришел в тему, разработчики и так под постоянным давлением (как внешним, так и внутренним). Ссылку кидай, любопытно, в свое время вот это - Swiv3D нравилось.
3д вертолет: https://drive.google.com/file/d/0B3BRCLyorkD2ekFJWlBocFhiUEU/view
А чё, прикольно. Правда, иногда генерация подсовывает такое, что просто не успеваешь отреагировать. Сколько до финиша лететь-то? Ну там, в секундах, на минимальной скорости, скажем?
На минимальной ты не придешь первым. :) Лететь не так и долго. Как думаешь, в гринлайт закидывать?
По-любому!
Хм, надо ещё раз посмотреть на эталон "1 не так и долго" в палате мер и весов... Да мне бы хоть вообще долететь, ладно первым!
Закидывай, чего уж. Поржем хотя бы.
Я ж пошутил. Такое страшно в грин закидывать, вдруг стим партнерки лишит.
Ты-то пошутил, а мы - не! Да ладно, кто тебя там чего лишит? Да давай!
Попробуй, если-что - скажешь: "Я сделаю свой Стим с марьяжем и кокотками!" - и продолжишь дальше писать игры.
Я чего-то забыл пароль от геймдева - напишу здесь: ты можешь сделать невидимых монстров. Невидимые цилиндры у тебя уже есть, добавить либо эффект, либо два летающих глаза и новый монстр готов.
Беда в том что все такие попытки сэкономить в графике приводят к плохой картинке.
Что мне экономия нужна - ты прав на 250%. Я сейчас не вывожу столько картинок. Но экономить просто не рисуя их? Ноу вей.
Вообще так-то в те годы их тоже не руками рисовали. Это видно, там половина если не все сфотканные модельки или рендеренные в 3д. Пиксельартом только финальные штрихи наводили. Но я что-то не очень как скульптор. Если я сейчас сделаю из пластилина врага, это будет треш и угар. :)