Суббота, 23 Ноября 2024, 02:10

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
[MMO] Battle City.Net
zodiakДата: Понедельник, 09 Июля 2012, 21:26 | Сообщение # 1
постоянный участник
Сейчас нет на сайте


Название: Battle City.Net
Жанр: mmo/ RPG -action
На каком движке: Windmill 2D Game Engine
В каком пространстве: 2D
Какой вид в игре: сверху
Какие есть похожие игры: Battle City, Танчики, Battle City World
Какой Язык Пр. используется в игре: основной C#, возможно C++ для сервера.
Предоставление исходного кода игры: Open Source
Какой тип лицензии распространения: GNU GPL
Сроки разработки: идея появилась примерно 10.06.2012, к написанию кода приступил 7.07.2012.

Данная игра является ремейком известной Battle City, вышедшей для приставки Dendy еще в 1980 году. Основное отличие от оригинала, возможность игры против живых противников по сети. Помимо этого в игре будет больше разнообразных бонусов и типов врагов. Надеюсь получится более интересный геймплей, поскольку появятся РПГ элементы, танк можно будет модифицировать не столько за звезды, сколько приобретая различные улучшения. Звезды же будут давать возможность приобрести танк следующего поколения, но заработать звезду будет не просто.
Было бы неплохо подвести под это дело какой-нибудь сюжет, но пока мыслей нет.
Графике в игре пока будет из дендевской игры.

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

Почему С#?
Я люблю с++, но… на С# проще программировать, да и быстрее. Чего только стоит автоматическая работа с памятью. К тому же этот язык имеет больший функционал, не только в смысле наличия готовых функций для реализации различных вещей, например работы с файлами, xml, криптографией и сжатием данных, но и поддержкой непосредственно языком таких вещей, как динамическая типизация, рефлексия. Да и полностью русская справка с гигами примеров занимает не последнее место.

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

Кто нужен в команду:
Да, в принципе, пока никто.
Но позже понадобится художник, который подправит/добавит графику.
И нужен будет человек, который согласится держать у себя сервер, желательно со статическим IP, поскольку разные хамачи меня не вдохновляют.



Скачать демо:
Для запуска демо необходим установленный Net Framework 4, а для работы движка windmill не ниже Net Framework 3.
Демо 1.
Демо 2. (140 кб) 14.07.12
Демо 3. (144 кб) 17.07.12
Демо 4. (148 кб) 22.08.12
Демо 5. (180 кб) 06.09.12
Управление: стрелки, пробел - стрельба.

Обещанные исходники (50 кб). Для работы нужна Visual Studio 2010. В исходниках немножно нехватает комментариев, это я со временем поправлю.
С радостью послушаю критику и советы.



Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net


Сообщение отредактировал zodiak - Четверг, 06 Сентября 2012, 23:39
ressДата: Пятница, 03 Августа 2012, 11:49 | Сообщение # 41
постоянный участник
Сейчас нет на сайте
Quote (zodiak)
Это будет сделано, потому как сейчас управлять реально не удобно.

Я бы в первую очередь акцентировал внимание именно на этом, чтобы в дальнейшем проблем не возникло.


Я очень недоволен...
zodiakДата: Пятница, 03 Августа 2012, 12:25 | Сообщение # 42
постоянный участник
Сейчас нет на сайте
Quote (ЗелёныйГоблин)
Бредовый момент №1.

Тоесть по твоему возрождение в ММО после смерти это бред?
Никто не будет играть в игру, в которой смерть окончательна.

Quote (ЗелёныйГоблин)
Бредовый момент №2.

Ну а как еще обьяснить, что некоторые танки двигаются и воюют сами по себе?


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
РетсамолфДата: Пятница, 03 Августа 2012, 12:27 | Сообщение # 43
постоянный участник
Сейчас нет на сайте
Quote (zodiak)
Ну а как еще обьяснить, что некоторые танки двигаются и воюют сами по себе?

Спихни все на него.
ЗелёныйГоблинДата: Пятница, 03 Августа 2012, 12:35 | Сообщение # 44
In-Games
Сейчас нет на сайте
Quote (zodiak)
Тоесть по твоему возрождение в ММО после смерти это бред?

Нет, не бред. Моё имхо твердит что этот момент в сюжете вообще надо опускать. В WoW же не объясняется почему этот Артес 100500 раз возрождается и тебе не надо этого объяснять.

Quote (zodiak)
Ну а как еще обьяснить, что некоторые танки двигаются и воюют сами по себе?

А почему они сами по себе? Людей туда засунь.


Bakuman Death Note The Future Diary
Базовые знания- это умение создать хоть что-то на экране, находящееся в движении по чему-то, и соприкасающееся с чем-то. (Основы ЯП)©Умный игродел
Winged_DoomДата: Пятница, 03 Августа 2012, 19:25 | Сообщение # 45
участник
Сейчас нет на сайте
Афигеть, ну, крутышкин!!

KVinSДата: Вторник, 07 Августа 2012, 14:30 | Сообщение # 46
постоянный участник
Сейчас нет на сайте
zodiak, сервер может держать любой, используя No-Ip

Игра про лесных котов
zodiakДата: Четверг, 16 Августа 2012, 22:24 | Сообщение # 47
постоянный участник
Сейчас нет на сайте
Каторгу продлили до воскресенья.
Чето пропадает желание делать эту игру. Наверное деревня и картошка лечат от компьютерной зависимости.
Одновременно с этим хочется иметь столько денег, чтоб их (деревню и картошку) больше не видеть. Вернусь, там посмотрим, может сосредоточусь на коммерческом проекте.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
НохчиДата: Четверг, 16 Августа 2012, 23:35 | Сообщение # 48
заслуженный участник
Сейчас нет на сайте
Quote (zodiak)
Чето пропадает желание делать эту игру.

Грац.


Многие вопросы по Windows отпадут, если посмотреть тут
ЭтоЧудоИзЧудесДата: Четверг, 16 Августа 2012, 23:45 | Сообщение # 49
заслуженный участник
Сейчас нет на сайте
Quote (zodiak)
Наверное деревня и картошка лечат от компьютерной зависимости.

Не знаю, что там с зависимостью, но мозги они обычно хорошо вправляют.


Велосипед никто не купил. Зол. Скоро начну рвать и метать.
KVinSДата: Пятница, 17 Августа 2012, 00:02 | Сообщение # 50
постоянный участник
Сейчас нет на сайте
Цикл статей для тех, кто хочет продолжить сиё

Игра про лесных котов
zodiakДата: Среда, 22 Августа 2012, 22:18 | Сообщение # 51
постоянный участник
Сейчас нет на сайте
А вот и я с очередной демкой 4.
Со свежими силами взялся за дело, поправил все замеченные ранее баги, добавил новых). Теперь появились боты, правда они очень злые и валят своих.

Список изменений:
18.07.2012
• Некоторая реорганизация кода. Добавлен класс MotionSystem, который заменил собой BulletSystem и теперь включает в себя не только пули но и все движущиеся обьекты.
• Добавил примитивных ботов.

20.08.2012
• Подгонка координат танка при повороте.
• При генерации боты больше не появляются внутри стен.
• Плавное смещение вида.

21.08.2012
• Начал делать систему эффектов. Теперь взрыв танка выводится в правильном месте.
• Статический класс для видимой области экрана.
• Обработка выхода пули за экран.

22.08.2012
• Доведение до ума вписывания в повороты.
• Убрал падение редактора при выходе кисти за пределы карты.
• Вылечил баг сетки при создании неквадратной карты.

Скрин ниже сделан из текущей демки 4. В ней активировано отображение ограничивающего прямоугольника для всех обектов.



Этот скрин показывает карту размером 100*100. Плюс если ее загрузить в игру(переименовать 100х100.lvl в 1.lvl), то на уровне будет 100 ботов. При этом фпс упадет ниже 20. Нужно оптимизировать, чето я намутил.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
KVinSДата: Среда, 22 Августа 2012, 22:34 | Сообщение # 52
постоянный участник
Сейчас нет на сайте
Скажи, как ты борешься с коллизиями?

Игра про лесных котов
Markus_13Дата: Среда, 22 Августа 2012, 22:50 | Сообщение # 53
частый гость
Сейчас нет на сайте
zodiak, неплохо, а это правда ММО будет?)) все в одном мире?))
Я тоже про танки сетевуху делаю, но что-то вроде MOBA скорее, просто не могу представить себе танчики в виде MMO))

Quote (KVinS)
Скажи, как ты борешься с коллизиями?

А с ними надо бороться? Я их просчитываю обычно))) А бороться...


{c0Der}
KVinSДата: Среда, 22 Августа 2012, 23:19 | Сообщение # 54
постоянный участник
Сейчас нет на сайте
Quote (Markus_13)
А с ними надо бороться? Я их просчитываю обычно))) А бороться...

У меня ходьба похожа на телепорты
Буду переписывать с таймеров на тики


Игра про лесных котов
Markus_13Дата: Среда, 22 Августа 2012, 23:48 | Сообщение # 55
частый гость
Сейчас нет на сайте
Quote (KVinS)
У меня ходьба похожа на телепорты

То, о чем я в своей теме говорил - нужно интерполировать все движения и "предсказывать" действия пользователя... Т.е. если утрировать - все просчеты должны дублироваться (на сервере и на клиенте), при этом данные сервера, естественно, остаются эталонными, и клиент (в случае расхождения с сервером) должен подстраивать текущие (интерполированные/предсказанные) данные с получаемыми от серва...


{c0Der}
KVinSДата: Среда, 22 Августа 2012, 23:57 | Сообщение # 56
постоянный участник
Сейчас нет на сайте
Так предсказываю я. Но они расходятся сильно.

Игра про лесных котов
WeklowДата: Четверг, 23 Августа 2012, 00:21 | Сообщение # 57
почетный гость
Сейчас нет на сайте
Интересный проект. Если хорошо реализовать, то выйдет "грамотная" игра с хорошей задумкой, но, мне кажется, лучше заменить классический стиль графики.

BlackRed
Free Fall
zodiakДата: Четверг, 23 Августа 2012, 13:39 | Сообщение # 58
постоянный участник
Сейчас нет на сайте
Quote (Markus_13)
zodiak, неплохо, а это правда ММО будет?)) все в одном мире?))

Ага, я надеюсь, что будет.

Потратил некоторое время на оптимизацию.
Понятно что, дело не в производительности видеокарты. Картинка убогая, нагрузка на видео – ноль. Поначалу узким местом я считал отрисовку карты. Я знаю, что движок отсекает невидимую графику, но вызов-то функции рисования все равно происходит. Если прикинуть, уровень 100 на 100 клеток вызывает функцию 10000 раз. Тогда как на самом деле отображается около 600 (30 * 20) клеток.
В режиме отладки уровень выдавал аж 2 фпс. Переписав код, чтобы функция рисования для невидимых объектов не вызывалась я получил прирост в 50 %. То есть аж в 1 фпс.) Что ж, я особо и не надеялся, что поможет.
С помощью профайлера выяснилось, что основное время в программе, 85 %, занимает просчет коллизий. С ними уже были проблемы ранее, когда все обьекты проверяли коллизию со всеми. Выход был – сделать проверку только для движущихся.
Ситуация с проверкой сложилась следующая:
Тестовый уровень из демки содержит примерно 2500 статических обьектов, которые в зависимости от состояния могут иметь один или два бокса. Реально в сцене было 3400 статических бокса + 100 динамических ботов, + пули но их я решил не учитывать. В результате производилось проверок:

100*100 = 10000
100*3400 = 340000.

Тоесть всего 350 тысяч проверок за кадр. Кошмар.

Выход простой, считать коллизии только для ближайших статических объектов. Для чего пришлось выделить для статики второй список, раньше все боксы были в одном, и брать из него только соседние.
Для танка это 12 клеток и от 12 до 24 боксов.
Получилось вот так:

100*100 = 10000
100*12(24) = 1200(2400);

Всего от 11200 до 12400 проверок, что почти в 30 раз меньше чем раньше.
В результате переделки кода игра выдала 30 фпс. Это в дебаге, в релизе больше.
Уже хорошо.

Но потом я добавил в игру 1000 ботов. В результате те же 2 фпс и висяк. (Чето мне кажется, что оно просто меньше не показывает)
Конечно 1000000 проверок это не шутки. Теперь думаю, что делать дальше, ведь теоретически в мире будет около 5000 движущихся объектов.

Обновленную демку с повышенной производительностью не выкладываю, так как имеются новые баги.

зы: Кстати забыл сказать, кнопка "R" в демке производит рестарт.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
ЭтоЧудоИзЧудесДата: Четверг, 23 Августа 2012, 13:41 | Сообщение # 59
заслуженный участник
Сейчас нет на сайте
Quote (zodiak)
Ага, я надеюсь, что будет.

Ужас какой. Человек двести на одну узенькую комнату, наверное.


Велосипед никто не купил. Зол. Скоро начну рвать и метать.
zodiakДата: Четверг, 23 Августа 2012, 14:01 | Сообщение # 60
постоянный участник
Сейчас нет на сайте
Quote (ЭтоЧудоИзЧудес)
Человек двести на одну узенькую комнату, наверное.

Какую узенькую комнату?
Размер мира на производительность больше не влияет. Только что создал карту 5000 на 5000 клеток (примерно 125 на 125 экранов монитора) . Фпс остался прежним. Грузится только дольше.


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

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