Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2012, 15:47   #1
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию Переложить игру из проги в прогу

Вот ведь беда - я почти ее уже создал. Создал фишки, создал их взаимодействие, создал карты. Создал то как перемещаются фишки игрока... Все это в Construct Classic. Начал закомпоновывать игру - и Construct вместе с моим ноутом померли.... Типо большой слишком проект - аж 11 мегов "исходного кода".

Собственно вопрос - переложить из проги в прогу. Знающие люди говорят - что с++ лучше не бывает. Только вот беда - я игру начал делать 2 месяца назад параллельно с освоением Construct. Кароче - нифига не смыслю в программировании.

Может кто возмется проконсульстировать? Ну, помочь создать одного главного героя - они все у меня однотипные (их просто много по игре - 400). Ну и кое какие еще вопросы - с перемещением и прочие, там, отладить? Алгоритм "кода" не вопрос - нарисую...)
Dima111 вне форума Ответить с цитированием
Старый 27.04.2012, 17:55   #2
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию 1. Игровое поле

Игровое поле

1. Игровое поле 3736 x 2325. Карта PNG. Цвет - черно белый. Там где белое поле фишки ездят, там где черное - не ездят. В сулчае если фишка сталкивается с черным полем - теряет 2/3 максимальной скорости (свойство фишки - для каждой разное).

2. Масштаб карты - 1 пиксел - 60 метров. Все соотвественно привязано к этому. Если скорость фишки 25 пиксел в секунду, то время ускорено примерно в 115 раз по сравнению с реалом.

3. Время - собственно все происходит на Земле. День ночь. На летнее увеличение светлого дня - не заморачивался.

4. Оно понятно сделал увеличение карты. 8 крат: 4 приближение - 4 удаление - по типу Гугла. Чтобы фишки не мелькали при 4-х кратном приближении - на один крат приближения - время замедляется соответсвенно.

ФИШКИ

Большие и маленькие.
Но все составные. На каждой фишке есть пушки. Эти пушки отдельные фишки. Их можно уничтожить - у каждой есть свои сойства, дальность стрельбы, сектор обстрела.

Фишка описывется следующим образом.
1. свойство сколько она может принять снарядов, прежде, чем ее уничтожат. Снаряды противника - различные. Все сведено в формулу, в случае если совокупность всех снаярдов на их вес перевалит значение - фишка уничтожается.

2. Сама фишка исходя из масштаба карты - 1-2 пиксела. На нее привязаны пушки. Также все пушки берут угол от угла фишки. Это важно, потому, что у всех пушек есть мертыве секторы обстрела. Самая большая фишка - 60 пушек. Есть маленькие - 3-4.

3. Также на нее привязан круг обнаружения. Круг умеьшается ночью и максимальный днем.
В случае если фишка противника попадает в круг обнаружения - она становится видимой на экране. До тех пор невидима. Далее если фиишка противника попадает в сектор действия оружия - оружие автоматом начинает обстрел противника.

4. Фишка ездит на мышку. Противник ездит на фишку, но в случае если дистанция до фишки сокраается до определенного предела - противник начинает ездить на мышку. Т.е. нельзя уклонится от боя - уходя от противника по большому радиусу - всегда происходит сближение.

5. Стрелка вверх при одновременно нажатой клавише S добавляет скорость фишки (свойство фишки - не путать с максимальной скоростью фишки) Стрелка вниз убавляет. Если значение скорость фишки больше чем максимальная скорость фишки, то берется значение - максимальная скорость фишки.

6. Максимальная скорость фишки обратно пропорционально завязана на степень полученных повреждений - берется из пункта 1. В случае если фишка получила множество попааний ее скорость стремится к 0.

7. "Огневое" взаимодействие фишек. Каждая пушка - субфишка, котрая отдельно отрисована - сектором обстрела (типа лепесток у ромашки). В случае если фишка противника накладывается на сектор обстрела пушки - пушка начинает стрелять.

7.1. Подусловие. При этом происходит выбор ближайшей фишки противника. Если он не ближайший - его свойство "ближайший" к определенной фишке равно 0.
7.2. Подусловие. Елси противник ближайший к определенной фишке его свойство "ближайший" равно 1.
7.2.1. Если Свойство противника ближайший равно 1, то пушка стеляет с определенной скорострельностью. Чтобы не заморачиваться на задание скорострельости - ввел переменную в зависимости от расстояния от фишки до противнкиа - чем больше расстояние, тем реже стреляет пушка. При вчтреле происходит сокращение боезапаса (свойство фишки) на 1.
7.2.1.1. Далее происходит вероятностное попадание с зависимостью от расстояния - чем ближе противник, тем вероятнее попасть. Одновременно должно соблюдаться условие - противник ближайший к нашей фишке. При этом одновременно соблюдается условие - противник в сфере обстрела указанного орудия. При этом одновременно соблюдается условие - противник в зоне обнаружения фишки. При этом одновременно соблюдается условие - противник ближайший к фишке.

Если эти условия соблюдены - то противник записывает в свою переменную 1 попадание снаярдом соответсвующего калибра и записывает 1 в переменную, которая в дальнейшем обнуляется при выборе субобъекта противника на уничтожение.

Сценарий игры основан на реальных событиях. Это все мне удалось нарисовать в Констракте - только констракт не сумел переварить количество фишек - его предел 500.
Dima111 вне форума Ответить с цитированием
Старый 27.04.2012, 19:58   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Не понял сути вопроса.
Если проконсультировать - задавай конкретные вопросы.
По поводу масштабов: если в игре не просто клетки, а есть соответствие реальному масштабу, и при этом нет настоятельной необходимости все делать в целых числах, разумнее всего использовать все величины в натуральном масштабе, т.е. размеры - в метрах, скорость - в м/с и т.д.
А все характерные размеры прописать как константы (размеры карты в клетках, размер клетки в метрах и т.п.).
s-andriano вне форума Ответить с цитированием
Старый 27.04.2012, 21:02   #4
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию

Спасибо, что ответил, и за желание помочь)

Что касается масштаба - я исходил из той проги (Констракт) в которой это все делал. На самом деле, это совершенно не принципиально - в чем мерять. Принципиально соотносимость объектов, скоростей времени. Если фишка - длиной 50 метров в реале и ее скорость 100 км.ч, то она должна проходить 2000 своих длин за единицу времени и если это время = 1 секунде, то день равен 24 секундам...

Вопрос 1.
Ты работаешь в с++?

Вопрос 2.

Игра стратегия - 1 уровень - 4260 х 6031 км. Карты театра есть с разрешением 60 м на пиксел. Т.е 71000 х 100517 пиксел. Если делать в с++ - можно ли это исполнить? Если это невозможно, то в какой программе это возможно? В констракте нет ограничений на игровое поле...

Вопрос 3.
Где взять дистрибутив соответсвующего редактора с++. И если можно как его установить?

Я попытался скачать с офсайта. Мне пишет какую-то хрень - что у меня комп не подходит. Вобщем-то не самый старый ноут, что меня удивило.
Dima111 вне форума Ответить с цитированием
Старый 27.04.2012, 21:15   #5
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию

Вопрос 4.
Фишек, как я уже сказал около 400, но с учетом субфишек и (как я решил это в констракте) с учетом разных текстовых полей для цифири - жизнь, пушки, снаряды, скорость, сколько и каких снарядов получено - примерно 10000 объектов в игре. При чем - с учетом того, что это все основано на реальных событиях - я не планировал наобум вероятностное создание противника - для каждого юнита противника - есть (была) конкретная задача, которую я ему назначу и в игре. Т.е. у него будет четкое расписание где и в каком месте быть...
Количество юнитов не пополняется - убывает по мере их уничтожения.

Основная интрига игры - с учетом тактического перевеса сил противника (1,5:1) разгадать его планы, нарушить их и при этом нанести максимальный возможный урон хоть и целью гибели всего тактического соединения в связи с тем, что стратегический перевес сил у игрока (2,5:1,5), только второе тактичекое соединение может появиться на театре лишь через год после начала войны, ну или некие отдельные подразделения в течение всего этого года. Это тоже может выбрать по своему усмотрению игрок.

Последний раз редактировалось Dima111; 27.04.2012 в 21:32.
Dima111 вне форума Ответить с цитированием
Старый 27.04.2012, 21:26   #6
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию

Вот - это самая мощная фишка
http://fotki.yandex.ru/users/a9a8a7/view/504607/?page=0
56 пушек.
Таких, совершенно одинаковых 5. Т.е. просто надо скопировать код фишки и переназвать....

Последний раз редактировалось Dima111; 27.04.2012 в 21:30.
Dima111 вне форума Ответить с цитированием
Старый 03.05.2012, 14:44   #7
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию

С наступающим праздником Великой Победы всех присутствующих!

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

Так я потому и написал - хочу изучить, но только не вообще изучить, а специально, применительно к моей задумке...

Неужели никого и ненайдется, для начала, ответить - стоит заморачиваться на с++ и как ее установить?)
Dima111 вне форума Ответить с цитированием
Старый 03.05.2012, 15:17   #8
roma20231
Пользователь
 
Регистрация: 03.05.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Dima111 Посмотреть сообщение
С наступающим праздником Великой Победы всех присутствующих!

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

Так я потому и написал - хочу изучить, но только не вообще изучить, а специально, применительно к моей задумке...

Неужели никого и ненайдется, для начала, ответить - стоит заморачиваться на с++ и как ее установить?)
c++ не устанавливается, это язык программирования, а вот среду программирования нужно (какую, сам выбирай). Попробуй сначала начать с синтаксиса языка, а потом изучишь граф. библиотеку.
Среду можно любую использовать, в интернете можно легко найти.
roma20231 вне форума Ответить с цитированием
Старый 04.05.2012, 15:50   #9
Dima111
 
Регистрация: 27.04.2012
Сообщений: 7
По умолчанию

roma20231
Спасибо!)

Среда - это типа Microsoft Visual C++ 2008 Express Edition?
Я скачал эту прогу из инета. Вроде даже научился создавать проекты...

Тогда еще вопрос. Как прописать игровое поле?
Dima111 вне форума Ответить с цитированием
Старый 04.05.2012, 20:39   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Ответ 1.
Нет

Ответ 2.
Возможно. Обычно для работы с такими объектами используется древовидная структура.

Ответ 3.
Это вопрос индивидуальных предпочтений. Можно поспрашивать у тех, кто пишет на "плюсах", только желательно указать, в какой ОС собираешься работать.

Ответ 4.
Не обнаружил даже вопросительного знака, не говоря о вопросе.
Навскидку - многовато объектов.

Замечание по поводу "типа сначала надо изучить программирование и все такое"
На мой взгляд, это как раз самая естественная ситуация, когда у человека есть идея и ему нужно ее воплотить в виде программы.
Гораздо хуже, когда человеку кажется, что умение программировать само по себе позволяет написать любую программу.

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

По работе с ландшафтами большого объема - почитайте о квадродеревьях (Q-tree).

Последний раз редактировалось s-andriano; 04.05.2012 в 20:42.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать игру! Masyanov Gamedev - cоздание игр: Unity, OpenGL, DirectX 6 04.06.2011 16:13
скачал игру 19Сергей74 Свободное общение 2 28.11.2010 13:10
Две проги. Порезка труб и движения коня по шахматной доске. По какому принципу работают такие проги? sadf Общие вопросы C/C++ 4 06.03.2010 20:04
как ппеределать обычную прогу в прогу из функциональных блоков серг Помощь студентам 0 07.12.2009 22:08
Не знаю как ф-ю написать из проги, прогу зделал а функцию.... D[I]K Общие вопросы C/C++ 3 11.09.2009 10:21