![]() |
irrlicht - успехи и не очень...
Вложений: 6
Что ж, занялся недавно изучением нового движка, теперь требуется протестировать нехитрую убивалку времени.
Тип: 3D Жанр: Пока не знаю, что-то с симуляторами связанное Платформа: Пока Windows, позже Linux (возможно и Mac) Среда разработки: Code::Blocks 3D движок: Irrlicht Звук: OpenAL (пока не реализован) OpenSource Скриншоты: Старая версия Новая версия: Логотип (beta): Управление: стрелки влево/вправо - движение ракетки, вверх вниз - сила удара (см. на синюю стрелку). Скачать исходник и ".exe": http://gs-pt.ru/lps_temp/Tennis.rar |
Ответ: irrlicht - успехи и не очень...
а тени там функцией включать можно или самому через шейдер?
|
Ответ: irrlicht - успехи и не очень...
Без шейдеров тени включаются так:
объект->addShadowVolumeSceneNode(); После этого объект отбрасывает тени на все, даже сам на себя (если модель сложная). |
Ответ: irrlicht - успехи и не очень...
Вот элементарная функция, которой я создаю теннисный мячик:
Код:
IAnimatedMeshSceneNode* CrTen() После этого с объектом "ten" можно работать как с обыкновенным, если провести аналогию с Blitz3D, entity... |
Ответ: Убивалка времени или "Мини Теннис"
win7 64bit
i7 3770, 16GB RAM, GTX 680 4GB VRAm работает очень плохо. каждые пол секунды все замирает на 5 секунд. в консоль при этом пишется resizing window 640x480 |
Ответ: Убивалка времени или "Мини Теннис"
Странно, вот именно этой записи в консоли я не ожидал...(
|
Ответ: Убивалка времени или "Мини Теннис"
Возможно как-то неверно обрабатывается команда system("pause")... Ибо инициализация окна в цикле не работает, и зависаний с этой записью в консоль не может быть больше одного, да и на мощном компьютере... На моем ноутбуке таких проблем нет, ноут старый...
|
Ответ: Убивалка времени или "Мини Теннис"
на нэтбуке проверил, всё ооочень медленно работает, но зависаний никаких нет. Шарик прыгает слишком часто, а должен прыгнуть максимум два раза от стола. Конфиг в подписи (Ёжик)
|
Ответ: Убивалка времени или "Мини Теннис"
Ничего не тормозит и не виснет. Win7 32bit, Core 2 Duo 1.86Ghz, 3Gb RAM, GF GTS 450 1Gb
Шарик так и должен прыгать как будто живой? Из-за постоянного вращения играть неудобно, смотреть на мини карту тоже неудобно. |
Ответ: Убивалка времени или "Мини Теннис"
хз у меня лагает жутко.. на глаз фпс 4
проц 4х ядерный видео гфорс 9600 |
Ответ: Убивалка времени или "Мини Теннис"
Не лагает.
Консоль не держит русского, следственно одни вопросики - не используй русский в разработке, это не профессионально и не совместимо с большей частью компьютерного мира. Топик не думаю что корректен к данной наработке. Это "наработки настольного тенниса на irrlicht". Советую переименовать, иначе ты сбиваешь людей с толку. |
Ответ: Убивалка времени или "Мини Теннис"
Переименовать тему не могу.
Насколько я знаю setlocale(LC_ALL, "Russian"); должен делать доступным русский в консоли, ну да ладно с этим разберусь с помощью GUI. Но вот то, что на мощных компах лагает а на слабых - нет, для меня пока загадка... Максимальный FPS поставил 300, чтобы никаких особых замедлений не было, но если работает "ооочень медленно", подниму еще выше максимальное значение. Прыжки шарика подшаманю, мне товарищ говорил, что можно сколько угодно делать ударов об стол, ну и добавлю реалистичности прыжкам. |
Ответ: Убивалка времени или "Мини Теннис"
Цитата:
зыЖ Тормозит скорее всего из за кучи логики (код не смотрел, каюсь), или из за мнимой "крутой" графики. Нэтбуки вообще хреново дружат с какими либо тенями (intel GMA не самый хороший образец видеокарты). |
Ответ: Убивалка времени или "Мини Теннис"
Не, я не пытался сделать какие-либо крутые графические навороты, лишь стандартные тени и все, даже физики, как таковой, нет, лишь геометрия.
Правила почитаю обязательно, как-то и не задумывался над этим, поверил товарищу, зря, видимо. Логика в игре есть, но не "монстроподобная", лишь подсчеты ударов, просчеты отскоков и геометрия несложная... Ну посмотрим, что получится упростить. Спасибо большое! |
Ответ: Убивалка времени или "Мини Теннис"
Я назвал две самые распространенные причины замедленной работы на очень слабых ПеКа (сам так раньше делал, пока не начал стараться все проекты начинать на нэтбуке :) ). Может у меня просто физически оно работатьбыстро не может, как например приложения написаные с движком Ogre3d. Он просто хавает ресурсы нэтбука вникуда, и всё. Стационара под рукой нету увы, на нём бы ещё проверил.
|
Ответ: Убивалка времени или "Мини Теннис"
Цитата:
Intel® Core™i7 Quad Core Mobile Processor i7-3740QM (2.70GHz) 6MB NVIDIA® GeForce® GTX 675M - 2.0GB Так что заключение что мощные лагают а слабые нет - не верно. Тут дело не в самой машине, а где-то ты инициализируешь окно не верно и пересоздаёшь его, или что-то ещё подобное. В общем ты где-то делаешь что-то совсем не верно, и это не irrlicht а твоя проблемка. |
Ответ: Убивалка времени или "Мини Теннис"
Цитата:
Не буду использовать консоль, перейду на GUI. |
Ответ: irrlicht - успехи и не очень...
Вложений: 1
Повозившись сегодня, полностью перебрал игровой код и изменил дизайн игры, получился довольно-таки неплохой результат:
Позже так же выложу исходники нового варианта проекта, авось кому пригодится. |
Ответ: irrlicht - успехи и не очень...
Зачем тебе две темы, давай ка мы их сольём в одну, не против?
|
Ответ: Убивалка времени или "Мини Теннис"
Обновил архив (см. первый пост). Полностью переписал код, теперь, думаю, лагов не будет.
|
Ответ: irrlicht - успехи и не очень...
Да, давай, я только за буду, только как? Я еще не знаю возможностей этого форума с технической стороны...)))
|
Ответ: Убивалка времени или "Мини Теннис"
о, работает быстрее гораздо!
|
Ответ: Убивалка времени или "Мини Теннис"
Работает, фпс около 111, мячик более реальный, ничего не крутится - это хорошо. Не сразу понял что за голубая стрелка над ракеткой.
Гораздо лучше чем до этого. |
Ответ: irrlicht - успехи и не очень...
|
Ответ: irrlicht - успехи и не очень...
Объеденил две темы. Как видите посты по времени слились и перемешались ;)
Но зато тебе не нужно разрываться в двух темах, и можешь везти тут нормальный лог разработки. |
Ответ: irrlicht - успехи и не очень...
Спасибо большое! Я сглупил создав две темы, так гораздо лучше, однозначно) Кстати, в игре есть режим на двоих, но пока не доработанный... Надо с ним возиться. Стрелка - это сила удара мяча, а полоски - это пока сделал для отображения результатов. Позже все переделаю для удобства. За тестирование благодарен! Все ссылки помещю сейчас в первый пост)
|
Ответ: Убивалка времени или "Мини Теннис"
Цитата:
|
Ответ: irrlicht - успехи и не очень...
Обновил архив, теперь поведение мячика еще больше зависит от силы удара, он может подлететь и улететь за пределы стола, а можно играть по правилам тенниса. Пока правила не учитываются, но в скором времени и это будет учтено, и тогда играть станет сложнее, так как постоянно нужно будет регулировать удар, чтобы не получить проигрыш)) Разделил код на блоки, чтобы удобнее было посмотреть исходники, если кому понадобятся) Старый архив не обновлял, теперь работаю с новой версией.
|
Ответ: irrlicht - успехи и не очень...
вот теперь хорошо работает. без подвисаний.
|
Ответ: irrlicht - успехи и не очень...
Да, даже на нэтбуке работает шустренько :) хотя скорости нарастить ещё не помешало бы, как скорость полета мячика, так и скорость движения ракеток. Сетку поставить посередине, сделать что бы мячик мог сбоку стола улетать. Ну и плюс всяких приколов типа подкруток и т.п. Но это уже усложнения, и будет совсем тогда приближенная версия настольного тенниса :)
|
Ответ: irrlicht - успехи и не очень...
Я кстати почитал правила настольного тенниса, на выходных схожу в спортзал, там есть столы для игры, даже ракетку купил сегодня)) Зацепила эта тема, попробую поиграть, чтобы почувствовать все))
|
Ответ: irrlicht - успехи и не очень...
И да, ракетками можно двигать быстрее, если снизить силу удара) Чем сильнее сила удара (синяя стрелка), тем медленнее двигается ракетка, и наоборот, такой своеобразный геймплейный момент)
|
Ответ: irrlicht - успехи и не очень...
Работа идет, сделал дополнительно регулировку удара, то есть теперь можно регулировать удар влево и вправо, и самостоятельно выбирать направление удара) Если во время удара по мячу ракеткой нажать влево или вправо то мяч полетит в выбранном направлении, при этом чем сильнее удар - тем меньше отклонение, и наоборот, чем слабже удар, тем сильнее отклонение) Архив пока не обновлял, но медленно иду уже к симулятору)
|
Ответ: irrlicht - успехи и не очень...
Обновил архив (1 пост). Добавил реализма мячику, научил его реагировать на движения ракеток при ударах, теперь мячик накапливает ускорение при множестве ударов и учитывает трение о ракетку и стол. Если снизить силу удара, то в скором времени мячик просто остановится. Закончил работу над автоматизацией, после удара сила удара сбрасывается, дабы не выбивать мячик за пределы поля, так как к ручному управлению силы долго привыкаешь, а так гораздо удобнее. Мячик теперь "играет по правилам". Это те самые два первых удара об стол (на каждой половине) и дальнейшее управление мячиком посредством отбивания его ракеткой) О как))) И, кажется, упал FPS... Но у меня комп слабый, так что на сильных машинах, думаю, не сильно заметно будет.
|
Ответ: irrlicht - успехи и не очень...
Так...
Фпс тот же ~111, по началу подмораживало(!), затем разошлось. Играть стало легче. Сила удара после удара сбрасывается по умолчанию на максимум, это плохо. Появился глюк, обе ракетки были справа, мячик прыгал от одной к другой не как не меняя вектор, уменьшил силу удара, мячик полетал ещё пару раз и остался прыгать на месте (фига на месте! он что живой :4to: где обещанная физика :wild: ). Выключил игру... |
Ответ: irrlicht - успехи и не очень...
Спасибо за тест, правда сбрасывается не на максимум, а специально, чтобы при ударе мяч гарантировано упал на сторону противника, силу можно добавить еще либо убавить. После удара сбросится снова на силу, достаточную для переброса мяча. Насчет глюка со стенкой, у меня такого не бывало, но я уже разобрался, позже обновлю архив с уже действующими правилами, вот тогда играть станет реально сложно...
|
Ответ: irrlicht - успехи и не очень...
Цитата:
Так держать. Может движок физики прикрутишь? |
Ответ: irrlicht - успехи и не очень...
Цитата:
|
Ответ: irrlicht - успехи и не очень...
Кстати, вопрос на засыпку, стоит ли делать онлайн таблицу рекордов?
|
Ответ: irrlicht - успехи и не очень...
Попробывал. мячик ведёт себя как хочет. Правил всё ещё нету. и без сетки совсем не понятно добил или не добил. Попробуй переделать управление на мышку. Часто отбиваю мяч на свою половину, а игра продолжается.
|
Ответ: irrlicht - успехи и не очень...
Правил пока не ввел, как раз подгоняю под правила) Мяч сложно контролировать, это да, но все же он контролируется, все взаимосвязано - скорость перемещения ракетки, сила удара, скорость мяча и угол его полета. Мяч постоянно ускоряется при сильных ударах. Пока отбивать мяч на свою половину можно, но позже будет нельзя. Сейчас как раз делаю систему правил для игры) Сетку сделаю)
|
Ответ: irrlicht - успехи и не очень...
Цитата:
|
Ответ: irrlicht - успехи и не очень...
Вложений: 1
Сойдет ли такой вариант ракеток?
|
Ответ: irrlicht - успехи и не очень...
Цитата:
Dream дело говорит, запили управление мышкой! |
Ответ: irrlicht - успехи и не очень...
Обновил архив. Теперь уже довел до ума систему регулировки силы удара, убрал некоторые лишние зависимости. Теперь регулятор автоматически уменьшается. Игра стартует не мгновенно, а после нажатия кнопки "вверх", там понятно будет. Теперь введу сетку и правила, а затем уже и сделаю симуляцию более реалистичную. Теперь нельзя выиграть, не используя регулятор силы удара, так как простые удары компьютер легко отбивает, причем он сам умеет использовать сильные удары (с умом). Мышь вводить не буду, так как у меня ее на ноутбуке нету, а изгаляться на тачпаде... В общем пока так. Завтра добавлю сетку и правила, и наверное меню. Мышки нет у меня вообще, так как я на каникулах в деревне, а тут даже компьютеры не у всех есть, и тем более не где купить мышь...
|
Ответ: irrlicht - успехи и не очень...
Игра стала сложнее, не есть хорошо, противник прям таки непобедимый.
С набором силы стало ещё хуже. Не забить. Сила удара увеличивается только когда держу кнопку, иначе плавно спадает. Попробовал удерживать "силу" и одновременно двигать ракетку, моя ракетка сильно затормозила. В общем стало хуже :( Цитата:
|
Ответ: irrlicht - успехи и не очень...
Это не игра затормозила, а ракетка) Чем сильнее сила удара, тем медленнее ракетка, это для того, чтобы если задумается выстрелить шариком в какой-либо бок (срезать), ракетка не улетела в край, а шарик сместился туда, куда нажато (влево или вправо). Как только отпускаешь кнопку усиления удара, сила возвращается в обычный режим, и ракетка снова быстро двигается по полю. Сейчас еще сильнее переделал управление, но архив уже завтра выложу... Esc - выход, кстати)
|
Ответ: irrlicht - успехи и не очень...
Ан-нет, все-таки перезалил архив только что, немного улучшил поведение ракетки и шарика, теперь выиграть бота проще. Там же есть еще и на двоих режим, но пока недоделанный сплитскрин...
|
Ответ: irrlicht - успехи и не очень...
Цитата:
То есть тормоз ракетки это сделано специально! :4to: Фигня. ИМХО |
Ответ: irrlicht - успехи и не очень...
Может и фигня, но управлять шариком сложнее, если нужно послать его в угол доски, то ракетка улетит в угол быстрее, чем шарик до нее долетит) А так шарик успешно летит куда надо, а сила удара плавно становится нормальной) Ну тут еще пересмотреть все можно сто раз)
|
Ответ: irrlicht - успехи и не очень...
|
Ответ: irrlicht - успехи и не очень...
Цитата:
Потестировал. Выигрывать так и не получается, может я слоупок. :dontknow: Заторможенность ракетки абсолютно не реалистична. Усложняет и без того сложную игру. ИМХО Нужно что бы игру ещё кто-то протестировал. |
Ответ: irrlicht - успехи и не очень...
Я очень люблю настольный тенис, люблю закручивать мячик, отбивать так чтобы он летел высоко, если в игре такого не будет - я обижусь.
|
Ответ: irrlicht - успехи и не очень...
Цитата:
|
Ответ: irrlicht - успехи и не очень...
Цитата:
|
Ответ: irrlicht - успехи и не очень...
Вложений: 1
Вот новый скрин) Сделал сетку, упростил систему управления мячиком, убрал заторможенность ракетки, добавил мячику гравитации и трение об воздух, теперь при быстром полете (сильном ударе) мячик сильно отклоняется вниз и бьется об стол на противоположной стороне оч. сильно, отбивать едва успеваешь при таких ударах)) Посмотрел много видео (даже японские). Скоро и сам схожу поиграю)) Прям зацепило меня это, но пока не поиграю, вряд ли четко смогу представить что и как, делаю на уровне интуиции) |
Ответ: irrlicht - успехи и не очень...
Немного уменьшил размер мячика, эффект получился довольно интересный, при сильных ударах мяч летит по дуге вниз, отклоняясь в сторону движения ракетки, эффект сопротивления воздуха присутствует)
|
Ответ: irrlicht - успехи и не очень...
Вложений: 1
Что ж! Реализовал правила! Теперь играть сложнее, приходится регулировать силу удара в зависимости от скорости мяча, реализовал "играбельную" сетку, которая не просто декорация, а вполне игровой элемент) Убрал автоматическую регулировку силы удара, теперь она постоянная (стрелки вверх-вниз). Играть стало удобнее, на мой взгляд.
Имейте ввиду, что слишком сильные удары могут сыграть злую шутку, так как мяч просто вылетит из игрового поля и вам засчитывается гол. Так же слабые удары помогут вам успешно попасть в сетку, что равнозначно - вам гол) Архив обновил, и мне снова кажется что FPS упал... |
Ответ: irrlicht - успехи и не очень...
Все вылеты за поле мне в минус (почти все), независимо от того что шарик вылетает со стороны врага, мне очко должны засчитать. WTF?! О_о?! Как тогда гол забивать?!
Мда... P. S. FPS никуда не упал, у меня по прежнему 111. |
Ответ: irrlicht - успехи и не очень...
Все по правилам, минимум один удар об стол должен быть)
|
Ответ: irrlicht - успехи и не очень...
Вложений: 1
Вот:
|
Ответ: irrlicht - успехи и не очень...
Цитата:
Так, давай я тебе запишу видео и кину в личку, а ты посмотришь насколько я нуб :) С записью облом.... Игра замедляется и играть определённо легче :-) Слоу моцион такой))) |
Ответ: irrlicht - успехи и не очень...
Эх))) Ну игра по правилам строится, если не было ударов об половину противника - следовательно ты сделал слишком сильный удар, тебе гол, так как касаний об половину противника не было (заговариваюсь уже). Если отобьешь слишком слабо - попадешь в сетку, при этом нужно постоянно регулировать силу удара, так как мяч накапливает скорость (во всех направлениях), и если бить сильно постоянно то мяч будет вылетать не в твою пользу... Сам щас попробую видео геймплея заснять)
|
Ответ: irrlicht - успехи и не очень...
Цитата:
Цитата:
Говорил уже, надо что бы ещё кто-то протестировал... Народ, налетайте и тестируйте! |
Часовой пояс GMT +4, время: 06:23. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot