|
2 / 2 / 1
Регистрация: 05.01.2015
Сообщений: 18
|
|
Создание 2D игры + игра по интернету05.01.2015, 23:50. Показов 5660. Ответов 30
Метки нет (Все метки)
Здравствуйте.
Недавно в колледже учитель по информатике предложил прочитать книгу по C# и рассказал, что на си шарпе можно создать программы/игры различной сложности. Давно планировал сделать простую мини игру 2д графики по ОС виндовс, ios, и android. Понимаю, то что нужна графика, нужно продумать логику игры и многое другое. Но хочется поинтересоваться... С чего стоит начать ? Предлагали: 1) C# + XNA 2) C# + DirectX 3) Движок Unity 3D Ничего из вышеперечисленного списка я не знаю. Раньше занимался только веб программированием. Что я представляю под онлайн игрой: 1) 2д графика 2) Локации (вид игры сверху) 3) Перемещение по локациям кликом мыши по области, создание персонажей 4) Самое главное - ОНЛАЙН РЕЖИМ. Игра по интернету. т.е. 2 и более человек находятся на локации и видят друг друга. --- Для начала хватит. Порекомендуйте пожалуйста, с чего начать первые шаги. Какой из вариантов больше подойдет ?
0
|
|
| 05.01.2015, 23:50 | |
|
Ответы с готовыми решениями:
30
Создание карточной игры по сети и интернету Игра в FIFA 11 по интернету Игра по интернету в Counter-Strike: Source |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 07.01.2015, 20:03 | ||
|
1
|
||
|
|
|||||||||||
| 07.01.2015, 20:22 | |||||||||||
|
Перво-наперво - начинайте читать книжки по C++ уже сейчас, чтобы более глубоко его изучить. На одной функции main вы далеко не уедете, для чуть более сложной программы вам понадобятся более мощные средства. Примерный план такой - функции, классы, основы шаблонов (глубокого понимания вам пока не потребуется), стандартные контейнеры, наследование. И попутно - разные другие более мелкие, но важные вещи.
Конкретно по вашему вопросу - у персонажа должны быть координаты. И первичны именно данные персонажа, а координаты спрайта высчитываются исходя уже из них. Более обще - сначала вы задаете состояние мира со всеми его объектами, указываете их координаты, размеры, скорости и т.п. Получается нечто вроде примитивного физического движка - на этом уровне осуществляется все взаимодействие между объектами. Затем в дело вступает функционал графического движка - физические сущности говорят ему, где и как себя отрисовывать, и он это делает. В вашем случае у вас есть массив Map (плохо задавать его массивом строк - лучше более явно char Map[W][H]; ) - матрица размером W*H. В клетках матрицы могут находиться препятствия, по этим же клеткам должен ходить ваш персонаж. Т.е. задаем ему две переменные-координаты
В вашем случае это будет выглядеть примерно так (заодно я покажу самый простой, но не самый лучший вариант реализации игрового цикла):
Все это, конечно, очень грубая модель, и по-хорошему здесь нужно бы ввести довольно много функций и классов, ответственных за тот или иной аспект, но это вы сделаете со временем.
1
|
|||||||||||
| 08.01.2015, 14:45 | ||
Тоже хочу бомбермана сделатьДобавлено через 18 часов 12 минут Я единственный вариант придумал, как со стенкой работать: строить стенку из прямоугольников. Координаты вершин этих прямоугольников известны. Сами прямоугольники будут храниться в массиве. Персонаж это тоже прямоугольник, у котором тоже известны координаты вершин. Перед тем, как передвинуть персонаж, нужно пробежаться по массиву прямоугольников-стен, и проверить не попадает ли вершина внутрь прямоугольника стены (и наоборот, если прямоугольник стены меньше персонажа, а то весь прямоугольник стены влезет в персонажа, а его вершины - мимо). Если произошло пересечение прямоугольников, то не нужно менять координату персонажа
0
|
||
|
2 / 2 / 1
Регистрация: 05.01.2015
Сообщений: 18
|
|
| 09.01.2015, 15:51 [ТС] | |
|
Всем большое спасибо за ответы.
--- Мне вот интересно, есть допустим персонаж 2д графики вид сверху полу боком как я скидывал картинку. Персонаж голый. Одеваешь на него доспех, он отображается на нем. Он поворачивается спиной, со спрайта берется доспех вида сзади и т.д. А теперь например атака рука поднимается и совершается около 7-8 кадров за удар неужели для каждого удара рисуется 7-8 картинок доспеха рук и меча ? Нельзя как то руки при ударе сделать чтобы просто меняли градус угла ? Т.е. Отдельно левая рука, правая рука, тело, левая нога, правая нога и Это все получается на игре 2д графики. Как мне сказали, это называется скелетная анимация. Реально ли сделать скелетную анимацию + одевание доспехов на персонажа в объединении C++ + OpenGL ?
0
|
|
|
|
||
| 09.01.2015, 17:44 | ||
|
Если вам кажется, что того простенького кода, который я выше набросал, вам хватит надолго - вы очень ошибаетесь. Для игры, в которую вообще можно будет скелетную анимацию, вам нужно будет создать игровой движок (включающий, в частности, графический движок, звуковой движок, физический движок, менеджер ресурсов, систему пользовательского ввода, систему доступа к файловой системе, оконный менеджер), спроектировать и реализовать огромное множество взаимосвязанных классов, организовать игровой цикл и игровые состояния... А до тех пор скелетная анимация должна оставаться для вас светлой мечтой и путеводной звездой, если вы вообще хотите создать игру, в которую можно ее включить. Так что я еще только один раз советую вам на время напрочь забыть о деталях и красивостях, и сосредоточиться на главном - изучении языка программирования и технологий, а затем - создании базового каркаса игрового приложения. Если у вас не будет этой основы, то разглагольствования о реализации различных красивостей для некой абстрактной ненаписанной (ни в настоящем, ни в будущем) игры - будут переливанием из пустого в порожнее. Не знаю, кому как, но меня подобное не прельщает, я не вижу в этом никакого будущего.
0
|
||
| 09.01.2015, 18:01 | |
|
MuradGu, мы увидим первый уровень бомбермана?
Вот хороший ресурс Спрайты: http://www.spriters-resource.c... =bomberman Звуки: http://www.sounds-resource.com/search/?q=bomberman
0
|
|
|
2 / 2 / 1
Регистрация: 05.01.2015
Сообщений: 18
|
|
| 09.01.2015, 18:45 [ТС] | |
|
Гром, все дело в том, что я забыл про SFML СОВСЕМ и с другом смотрим курсы по c++ и практикуемся. Я просто интересовался, что брать за основу для физики в будущем, директХ или опенГЛ. ОпенГЛ в первую очередь привел, т.к. нашел курсы по нему, даже более, связка с++ + опенГЛ.
-- Сейчас мы начали изучать с++, потихоньку вникаем в язык и постоянно после каждого курса практикуемся. Очень интересно приходится изучать, т.к. есть большая мотивация. Добавлено через 8 минут 8Observer8, я понял принцип, как работать с сфмл и т.д. Примерно понял как сделать бомбы, которые взрываются. А уж тем более дойдя до выхода, как завершить игру. Решили все таки все с нуля поучить, т.к. работать с одной библиотекой, грубо говоря глупо. Она не выполнит все равно всех наших требований
0
|
|
| 09.01.2015, 20:18 | ||
|
Желаю вам побольше написать 2D игр, чтобы набить руки на ООП и набирать код быстро без подглядывания
0
|
||
|
2 / 2 / 1
Регистрация: 05.01.2015
Сообщений: 18
|
|
| 09.01.2015, 21:31 [ТС] | |
|
8Observer8, значит не так выразился)) для подобной 2д игры наверное физика и не нужна ?
То есть я хочу обойтись только c++ и OpenGL ну это имеется ввиду в основе игры. А дальше звук и т.д. P.S. спасибо большое, а Вам пожелаю удачи, в написании игр)) А я наверное в 3д шагать не стану, если все сложится)) Для 2д игры у меня много планов
1
|
|
|
|
||
| 09.01.2015, 21:40 | ||
|
Не по теме: Хотя, честно говоря, хорошие видеоуроки по C++ не так-то просто. Я ради интереса просмотрел несколько первых уроков - кое-где откровенный быдлокод по площадям, большинство других тоже дают довольно некачественный материал или учат не тому чему стоит, и только один курс мне показался перспективным (по крайней мере, первый урок и список тем остальных хороши). Похоже, все еще лучший способ изучения языка - хорошие книжки от признанных авторов. Но все равно о физике и графике (кстати, скелетная анимация к физике не имеет никакого отношения, это чисто подробности графического вывода) задумываться еще рано, по крайней мере, настолько подробно. Тем более что на ваш выбор наверняка сильно повлияет полученный к тому моменту опыт и более ясное представление об игре. И на всякий случай еще раз предупрежу - не позволяйте графическому движку управлять данными вашей игры. Абсолютно все параметры и взаимодействие игровых объектов должны быть упрятаны в систему игровой логики и физический движок. Объекты графического движка могут иметь только данные, относящиеся к отображению информации на экране (номер кадра анимации, положение камеры относительно сцены, данные об освещении, системах частиц и т.п.). О выборе систем рендеринга (таких как DirectX (точнее, Direct3D), OpenGL) и разнообразных движков (графических, физических и других) пока тоже не задумывайтесь. Сначала создайте каркас, поработайте с ним, используйте более простые, а также самописные средства. Ну а после этого сможете выбрать движки под ваши конкретные нужды, и затем адекватно вписать их в свою игровую архитектуру.
1
|
||
| 10.01.2015, 00:26 | ||
|
0
|
||
| 10.01.2015, 00:26 | |
|
Бесплатная стратегия для игры по интернету Игра внутри игры
сборка игры( первая игра) Создание нового подключения к интернету Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
начало и оглавление
-
Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование. . .
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|