Форум программистов, компьютерный форум, киберфорум
Программирование игр
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.98/49: Рейтинг темы: голосов - 49, средняя оценка - 4.98
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
1

Создание игры "Battle City" (танчики) на BGE

26.02.2015, 15:44. Просмотров 9960. Ответов 56
Метки нет (Все метки)

Привет!

Хочу написать танчики на BGE с целью лучше узнать API движка. До применения API и Python пока далеко. Проблема в самом начале: не могу придумать, как сделать анимацию движения танка на спрайтах. Могу наложить текстуру и двигать площадку, а вот как менять текстуры и организовать удобно всё это - ума не приложу. Хочу делать сначала на Logic Bricks, а потом писать на Python, но только то, что действительно проще на нём (или только эта возможность и есть)

Я записал небольшое видео. Мне кажется, уже на этапе, показанном в видео, много ошибок. Посмотрите, пожалуйста: Battle City in BGE. Attempt number 1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2015, 15:44
Ответы с готовыми решениями:

Как написать Battle city (танчики)
Задали писать игру Battle city (танчики), сам не осиливаю помоги кто чем может.очень нужно

С помощью каких библиотек писать игру "Battle City"?
Собрался написать игру Battle City на С++. Какие библиотеки для этого лучше подойдут?

необходимо задать услоовие: если переменная $city["id"] есть, выводится $city["city"]
Здравствуйте. Внезапно залип на фигне, не могу такое сделать: нужно, чтобы если переменная...

Есть библиотеки для создания 2D игр? Таких как танчики (Battle City) или Марио?
Есть библиотеки для создания 2D игр? Таких как танчики (Battle City) или Марио?

56
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
20.08.2015, 21:41  [ТС] 21
Цитата Сообщение от Vell_is Посмотреть сообщение
Прошу связаться со мной.
Связался.

Цитата Сообщение от MELkey Посмотреть сообщение
Вроде как траки готовы, ты говори чего добавить
Я в субботу этим займусь.
0
73 / 73 / 13
Регистрация: 15.01.2013
Сообщений: 284
29.09.2015, 11:38 22
Моделинг закончил, сделал ретоп, развёртку, запёк основные нормал, но там ещё доделывать, сделал анимацию траков. Вышло 30к поликов, с учётом того что 20 из них это чисто траки . Модель выстроена в иерархии, разные цвета указывают на разные материалы, всего их 8. Имена моделькам и материалам дал заранее, т.е потом только останется добавить на них текстуры, только их и осталось сделать, модельку шлю в лс.
По поводу анимации траков, такая математика: 1 кадр анимации трака равен повороту ведущего колеса и опроных катков + ленивец на 1 градус, вспомогательных катков на 4 градуса. За 18 кадров 1 трак переходит ровно на место другого (т.е. можно запускать цикл и создаётся иллюзия непрерывного движения), на сколько едениц он передвинется , нужно смотреть в самом юнити ибо всё перескейлится в юнити, у меня в максе это значение равно 173.4.
P.S. В силу своей безграмотности именовал вместо track truck
0
Миниатюры
Создание игры "Battle City" (танчики) на BGE   Создание игры "Battle City" (танчики) на BGE   Создание игры "Battle City" (танчики) на BGE  

4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
29.09.2015, 13:37  [ТС] 23
Ты умеешь тектурировать? Где ты возмёшь текстуры?

Я хочу сделать LowPoly (низкополигонные) модели для "Battle City 3D" в Blender'е. Сейчас учусь, как создавать текстуры в GIMP.

В общем, буду пробовать как оживить твою модель и параллельно создавать 3D версию Battle City.
0
73 / 73 / 13
Регистрация: 15.01.2013
Сообщений: 284
29.09.2015, 13:57 24
Конечно умею, сам нарисую. Как доделаю текстуры вышлю. нормалы почти готовы (на скринах же видно), дифузки целиком вручную

Добавлено через 8 минут
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я хочу сделать LowPoly (низкополигонные) модели для "Battle City 3D" в Blender'е
Так я и сделал Low poly
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
19.10.2015, 01:18  [ТС] 25
Моя первая моделька танчика. Делал в Blender и GIMP. Импортировал в Unity:
0
Миниатюры
Создание игры "Battle City" (танчики) на BGE  
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
19.10.2015, 03:41 26
Цитата Сообщение от MELkey Посмотреть сообщение
По поводу анимации траков, такая математика: 1 кадр анимации трака равен повороту ведущего колеса и опроных катков + ленивец на 1 градус
А если танк чуток притормозил одной гусеницей или начал ими в разные стороны крутить? Для справки они так поворачивают. А если имитировать рабочую подвеску? Каждый каток амортизирован независимо от других,
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
19.10.2015, 15:03  [ТС] 27
Я пока поразвиваю версию танчиков ближе к оригинальной стилистике.

Создал анимацию движения треков гусениц --> gif-анимация
0
73 / 73 / 13
Регистрация: 15.01.2013
Сообщений: 284
19.10.2015, 18:30 28
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А если танк чуток притормозил одной гусеницей или начал ими в разные стороны крутить? Для справки они так поворачивают. А если имитировать рабочую подвеску? Каждый каток амортизирован независимо от других,
Я какбы в курсе, никто не мешает проигрывать анимацию назад, ну по поводу работы амортизаторов и т.д. можно просто миксить анимацию
0
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
19.10.2015, 18:51 29
Цитата Сообщение от MELkey Посмотреть сообщение
Я какбы в курсе, никто не мешает проигрывать анимацию назад,
Я к тому что ее с разной скоростью крутить надо от того насколько газ и фрикционы прижаты

Добавлено через 1 минуту
Цитата Сообщение от MELkey Посмотреть сообщение
какбы в курсе, никто не мешает проигрывать анимацию назад, ну по поводу работы амортизаторов и т.д. можно просто миксить анимацию
Да тут не миксить, тут морфить паз по которому траки идут придется.
0
73 / 73 / 13
Регистрация: 15.01.2013
Сообщений: 284
19.10.2015, 19:01 30
Ну так скорость анимации менять можно, не вижу в этом проблемы. Морфить паз? помоему мы говорим об одном и томже
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
15.07.2016, 11:31  [ТС] 31
Я буду делать точный клон игры для денди "Battle City". Он ещё называется "Танчики".

Сюда буду выкладывать видео насколько продвинулся. Под видео вы можете скачать демку для Windows. Выкладываю, чтобы стимулировать себя доделать проект до конца. Возможно кто-то заметит потом расхождения с оригиналом.

Кликните здесь для просмотра всего текста
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
08.08.2016, 12:36  [ТС] 32
Сделал корректное разбивание кирпичей (как в оригинальной игре), видео: 002 Battle City 2D in Unity CSarp (Correct Shooting)

Кликните здесь для просмотра всего текста


Перевод на PC уже многими сделан, но в моей версии клона будет игра на двоих по интернету. Может есть и такие версии, но я хочу сделать свою для тренировки и интереса.
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 555
08.01.2017, 11:15 33
И свои пять добавлю. Вчера выпустил клон Battle City - только онлайн мультиплеер. На данном этапе игра в режиме Death Math - победитель, игрок первым набравший 10 фрагов. Если игра пойдет - уже есть реализации и базы и добавлю режим как и в классических танчиках по захвату базы. Прошу не воспринимать за рекламу - хотел бы услышать ваши мнения что не так, как улучшить, что добавить нового. Игра так сказать в испытательном режиме) https://play.google.com/store/... city&hl=ru
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
09.01.2017, 11:32  [ТС] 34
ASDFD12, к сожалению не могу потестить вашу игру, так как у меня пока нет возможности купить Android. Я попробую найти и поставить какой-нибудь эмулятор, можете посоветовать какой?

А я немного задержался в создании клона. Я пришёл к выводу, что лучше всего делать браузерные игры, потому что тогда их можно будет запускать в один клик, а не скачивать exe или apk. Многие боятся или ленятся скачивать exe. Не у всех есть Android, т.к. используют iOS или вообще старый телефон (как у меня). А если делать браузерные игры, то будет запускаться на всех платформах, где есть браузер. Можно встроить в vk.com и facebook.

Я взял для изучения игровой html5 фреймворк Phaser, который изначально разрабатывается и оптимизирован для мобильных платформ. Если нужно собрать exe или apk для Phaser, то имеются инструменты для этого. На Unity тоже можно делать html5 сборки, но для 2D он грузится долговато, хотя несильно. Я его тоже буду использовать, особонно для 3D версии клона Battle City.

Тоже делаю с мультиплеером. Использую Node.js. У меня будет несколько версий. Одна похожая на tanx.io, где будет 4 команды, но с механикой Battle City. Ещё одна это полный клон Battle City, где можно будет вдвоём играть по интернету, как в оригинальной игре (то есть цель - создать клон, как можно более близкий к оригиналу)
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 555
09.01.2017, 11:51 35
8Observer8, успехов, конкуренция в браузерных играх тоже не маленькая, кроме того многие сидят на WOT и подобных, многим нравится крутая графика, которую самому тяжело делать. На google play также полно клонов Battle City, но не нашел ни одного клона где бы был realtime multiplayer со сражением только против реальных противников, везде один, два игрока против ИИ. По этому решил реализовать чисто онлайн сражения. Но теперь проблема набрать народу, так как в пустых комнатах или 1 на 1 играть не совсем интересно. Реализовал комнаты на 8 человек - поэтому при полной комнате матч будет довольно активным и не сильно длительным) Реализация игры на Unity3d - можно будет зарелизить и в фейсбук, только в игре используется TCP and UDP сокеты - наверное будет многовато работы для реализации под Web GL
0
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
09.01.2017, 12:06  [ТС] 36
Цитата Сообщение от ASDFD12 Посмотреть сообщение
только в игре используется TCP and UDP сокеты - наверное будет многовато работы для реализации под Web GL
Чистый WebGL я тоже изучаю, чтобы знать как с нуля реализовывается рендер и чтобы знать как работают шейдеры и как их писать, так как написание шейдеров будет далее неизбежным. Хотя я использую обёртку над WebGL в виде Phaser (который использует графическую библиотеку PixiJS, которая является обёрткой над WebGL и Canvas2D) и Unity (сборка под HTML5 - тоже обёртка над WebGL). Для сети я изучил socket.io - это обёртка над Websocket. Там достаточно посмотреть, как реализуется чат, как присоединяются клиенты, как они отсылают сообщения на сервер, и как сервер пересылает сообщения клиентам. Там очень просто с пересылкой json-сообщений. У меня сложность с логикой синхронизации клиентов. Я же не могу каждый тик игры пересылать синхронизирующие сообщения, потому что у меня за секунду присходит 60 тиков (то есть 60 обновлений)
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 555
09.01.2017, 12:18 37
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я же не могу каждый тик игры пересылать синхронизирующие сообщения, потому что у меня за секунду присходит 60 тиков (то есть 60 обновлений)
Для плавности интерполяции движения нужно хотя бы 20 пакетов в секунду. Справится ли с этим sockets.io не знаю.

Добавлено через 4 минуты
Цитата Сообщение от 8Observer8 Посмотреть сообщение
к сожалению не могу потестить вашу игру, так как у меня пока нет возможности купить Android. Я попробую найти и поставить какой-нибудь эмулятор, можете посоветовать какой?
Не было необходимости использовать эмулятор, но думаю эмулятор от Google будет самый лучший, кто как не розработчик ОС знает как написать эмулятор
http://www.lookatme.ru/mag/liv... 3-arcweldr
1
4176 / 2282 / 387
Регистрация: 05.10.2013
Сообщений: 6,385
Записей в блоге: 177
09.01.2017, 13:29  [ТС] 38
Цитата Сообщение от ASDFD12 Посмотреть сообщение
Для плавности интерполяции движения нужно хотя бы 20 пакетов в секунду. Справится ли с этим sockets.io не знаю.
Он может и больше. С этим точно справится, потому что очень много браузерных игр используют Node.js и его модуль socket.io. Это не бутылочное горлышко в сравнении с сетевыми задержками, которые могут достигать 50, 100, 200 милисекунд. Не у всех высокоскоростное соединение. Я сейчас изучаю, как бороться с сетевыми задержками по книгам и туториалам о программировании сетевых игр. Я хочу чтобы даже если у человека пинг равен 200 мсек, то он бы не замечал этого. Мне нравится, как реализована сеть на Node.js в игре http://curvefever.io/ которая использует Unity на клиенте. Я пробовал играть с соединением 200 мсек - вообще не заметно задержек.

Добавлено через 1 минуту
Цитата Сообщение от ASDFD12 Посмотреть сообщение
но думаю эмулятор от Google будет самый лучший, кто как не розработчик ОС знает как написать эмулятор
Спасибо, попробую. Ещё мне посоветовали попробовать Xamarin Android Player и Bluestacks
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 555
09.01.2017, 13:55 39
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Я сейчас изучаю, как бороться с сетевыми задержками по книгам и туториалам о программировании сетевых игр.
Тоже интересен этот вопрос. Я совсем немного почитал, поразмышлял и пришел к выводу, что все впирается только в интерполяцию - то есть можно интерполировать основываясь на текущем пинге и всякие хитрости применять. Экстраполяция реже используется так как персонаж может "переехать" точку своего реального положения, в играх где это недопустимо. Нашли ли вы другие ответы - берем, например синхронизацию только положения персонажа - задача плавное перемещение?

Добавлено через 15 минут
8Observer8, в этой игре http://curvefever.io - черви двигаются постоянно и еще и с равномерной скоростью - это идеальный вариант для скрытия большого пинга - движение даже не нужно синхронизировать - просто передавать в какую сторону нужно повернуть персонажа.
0
2050 / 1525 / 167
Регистрация: 14.12.2014
Сообщений: 13,326
09.01.2017, 21:04 40
Цитата Сообщение от 8Observer8 Посмотреть сообщение
Это не бутылочное горлышко в сравнении с сетевыми задержками, которые могут достигать 50, 100, 200 милисекунд. Не у всех высокоскоростное соединение. Я сейчас изучаю, как бороться с сетевыми задержками по книгам и туториалам о программировании сетевых игр. Я хочу чтобы даже если у человека пинг равен 200 мсек, то он бы не замечал этого.
Ну вообще реальный способ только один - на клиенте тоже работает физический движок и передаются каждому клиенту просто состояния средств ввода других клиентов, c периодической коррекцией положения объектов с сервера. Решения о попаданиях и т.д. при этом принимает сервер. Т.е. у клиента вся физика считается только для плавного отображения. Реально никаких рывков не было замено даже с пингами 500 на модеме 56кбит в ИЛ-2 Штурмовик. Правда с большим пингом это все равно игра в одни ворота. У кого ниже пинг тот раньше увидит противника и даже за четверть секунды успеет получить преимущество.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2017, 21:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Готовая реализация игры "Танчики"
Помогите ребята!!! У кого нибудь есть программа моделирующая игру танчики. На C#

Создание игры "монополия" или по-другому "менеджер"
Доброго всем дня, задача ставится, написать игру с возможностями OpenGL, дабы создать красочное...

Игра Battle City
Ребята помогите мне для кyрсовой надо написать Battle City (танчики) на C#. Меня интересyeт где...

Для каждой проведенной игры напечатать словесный результат: "выигрыш", "проигрыш" или "ничья"
Даны два массива из n, однозначных чисел. В первом из них записано кол-во мячей, забитых...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.