Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Космический патруль. | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 1
 
Поиск в этой теме:
Канал Игры Мечты: «Космический патруль.»
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Вот по совету более опытных товарищей сообразил маленькую игру на двоих, чтоб потренироваться в программировании. Думаю попробовать для начала сделать текстовый вариант на Питоне (как вариант web интерфейс), а потом прилепить к нему графику средствами PyQt.
Космический патруль.
Идея игры является развитием, классического морского боя, перенесённого в трёхмерное пространство и с более сложными правилами.
В начале игры запрашивается размер игрового поля и количество кораблей из трёх вариантов минимум 512 ячеек и 14 кораблей (2*8, 4*4, 8*2), средне 4096 ячеек и 31 (1*16, 2*8, 4*4, 8*2, 16*1) кораблей, огромное 32768 ячеек и 63 кораблей (1*32, 2*16, 4*8, 8*4, 16*2, 32*1) и случайное либо выборочное расположение своих кораблей. (В настольном варианте просто записываются в журнал координаты и их изменения, а также все свои ходы и выстрелы противника.) Координаты кораблей записываются группами чисел, определяющими их координаты и ориентацию в пространстве. Для корабля в 2 ячейки 3 варианта, для 4 - 3 и для 8 - 1 (1 - 1, 16 - 3). Игроки ходят строго по очереди, по два хода каждый, ход имеет три варианта:
1. Выстрел – выбирается атакующий корабль, трёхмерные координаты в кубе противника и мощность выстрела из максимально возможных исходя из имеющихся у корабля целых ячеек. Поражающий фактор считается как ячейка координаты выстрела и, если мощность больше единицы, прилегающие к ней выбранные случайным образом ячейки (в варианте настольной игры можно выбрать вручную конфигурацию области поражения, в каждом отдельно взятом случае).
2. Манёвр – выбранный корабль сдвигается на одну ячейку в любую из шести сторон.
3. Ремонт, если корабль повреждён, можно отремонтировать одну ячейку.
Особенность игры: после выстрела корабль засвечивается кубом обратным по размеру мощности выстрела сторона куба от 8 до 1 соответственно. Координаты задаются по противоположным вершинам куба по случайному закону, так чтоб хотя бы одна ячейка реальных координат, атакующего корабля попала в этот куб (в варианте настольной игры, координаты куба засветки задаёт атакующий игрок, учитывая вышеизложенное правило).
Наличие пунктов 2 и 3 можно сделать опционально -- короткий вариант боя и длинный.

Последний раз редактировалось: Zachesa (01:05 06-07-2008), всего редактировалось 8 раз(а)
    Добавлено: 07:41 28-06-2008   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Несколько замечаний:
Zachesa :
48 кораблей 2*8, 4*4, 8*2 число кораблей/ячеек.

Форма кораблей классичекая линейная (одномерная), или более сложная (вплоть до 3-х-мерной, из 8-кубового корабля можно куб Боргов собрать Гы-гы )?
Zachesa :
после выстрела корабль засвечивается кубом обратным по размеру мощности выстрела сторона куба от 8 до 1 соответственно.

Выстрел мощностью 8 способен произвести корабль размером 8. Как его засвечивать кубом со стороной 1 ячейка? Подозрение. Случайно выбранный один из 8 кубов корабля? 100% обнаружение. Если используется правило М.Б. - "повтор хода после попадания" - таким выстрелом пользоваться не будут, кроме эндшпиля (3 хода позволяют вычислить положение 1-мерного корабля в 3-мерном пр-ве с высокой вероятностью).
Zachesa :
если мощность больше единицы, прилегающие к ней выбранные случайным образом ячейки
Случайно выбираемые ячейки (количеством, очевидно, равным мощности выстрела), прилегающие к точке попадания, или друг к другу(формирование "хвостов")?
Zachesa :
2. Манёвр – выбранный корабль сдвигается на одну ячейку в любую из шести сторон.

В настольном варианте малоосуществимо Улыбка Это куча учёркнутых координат.
Кстати, указание координат корабля для настольного/текстового варианта - каким образом? У чётных кораблей нет центральной точки Гы-гы
_________________
Трещит земля как пустой орех
Как щепка трещит броня
    Добавлено: 10:36 28-06-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Guest :
Форма кораблей
трёхмерная самый большой куб со стороной 2, следующий делим предыдущий на две части и далее.
Guest :
Случайно выбранный один из 8 кубов корабля?
да.
Guest :
Если используется правило М.Б. - "повтор хода после попадания" - таким выстрелом пользоваться не будут
ходить строго по очереди.
Guest :
Случайно выбираемые ячейки (количеством, очевидно, равным мощности выстрела), прилегающие
к друг другу. Как бы если стрелять не одним стволом, а несколькими.
Guest :
В настольном варианте малоосуществимо Улыбка Это куча учёркнутых координат.
Можно заготовить кругляши с цифрами от одного до шестнадцати, (как вариант) много не понадобится, так как корабли не могут занимать одну и туже ячейку. Хотя возможно для настольного варианта прийдётся уменьшить количество кораблей и размер области игры.
Guest :
указание координат корабля для настольного/текстового варианта - каким образом

Zachesa :
Координаты кораблей записываются двумя группами чисел
этого достаточно чтоб определить местоположение и ориентацию применяемых форм кораблей.
    Добавлено: 11:05 28-06-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Самый простой (компьютерный) вариант делать игру где противник компьютерный. Улыбка
Используем Питоновский словарь где ключи -- названия кораблей (ship_a_n a -- это размер, n -- соответственно порядковый номер) с вложенными списками значений [x,y,z,l] где x,y,z координаты а l жизнь в виде числа от 0 до 255, 0 -- нет повреждений, другие числа побитовое представление карты повреждений, для корабля в четыре ячейки, к примеру, число 15 обозначает гибель. В начале игры запрашивается размер игрового поля и количество кораблей из трёх вариантов минимум 512 ячеек и 7 кораблей, средне 4096 ячеек и 48 кораблей, огромное 32768 ячеек и 55 кораблей (1*16, 2*8, 4*4, 8*2, 16*1) и случайное либо выборочное расположение своих кораблей, в последнем случае вручную вводятся координаты одной точки для однопалубных кораблей либо двух точек для всех остальных. Соответственно подсказывается как правильно вводить координаты и проверяются введённые цифры с автоподстановкой приемлемых значений. Далее бросается жребий и победивший начинает игру. На экран выводится содержимое словаря, где повреждения кораблей отображаются в процентах. Отдельными строчками произведённые пустые и выстрелы в цель.
Компьютерный оппонент будет рэндомом выбирать вариант хода, в случае попадания в его корабли стрелять, ремонтироваться, или маневрировать. Также по случайному закону выбираем координаты следующего выстрела, атакующий корабль и мощность выстрела. Во время хода игроку также будет предложен вариант выбора действия, кроме первого хода игры, когда начинающий обязан стрелять. Координаты точки обстрела задаются цифрами, область поражения и область засветки расчитываются тем же рэндомом (Сколько его в вариантов в Питоне, выбирать запаришься!) в соответствии с вышеизложенными правилами. Корабль повреждённый на 100% ремонтировать уже не льзя, но он не удаляется с поля а ввиде обломков мешает маневрированию. Хы...
    Добавлено: 12:22 29-06-2008   
Kalembas
 1335 EGP


Няшка
Рейтинг канала: 2(24)
Репутация: 263
Сообщения: 18999
Откуда: Санкт-Петербург
Зарегистрирован: 21.03.2003
Zachesa :
Самый простой (компьютерный) вариант делать игру где противник компьютерный.

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

добавлено спустя 16 минут:
По большому счету примитивный ИИ - это набор реакций на некий стандартный набор внешних факторов. Чем больше факторов и их комбинаций, тем больше реакций тебе надо внедрить. Например в случае "М.Б.". Для начала ИИ надо дать некий алгоритм обстрела площадки. Затем нужно проверять:
[блок-1]
1. находятся ли координаты в пределах игрового поля
2. стрелял сюда/не стрелял сюда
3. запретная клетка/не запретная клетка (1 клетка вокруг корабля)
4. попал/не попал
Каждая из этих итераций вызывает свой блок дальнейшего поведения.
[блок-2]
1. если стрелял, то согласно алгоритму - выбрать следующую клетку, выполнить проверки пунктов блока-1 и выполнить реализации пунктов блока-2. если не стрелял и клетка соответствует алгоритму - выстрелить.
2. если запретная, выполнить выбор другой клетки согласно алгоритму, сделать проверку пунктов блока-1 и реализацию пунктов блока-2. Если не запретная, то стрелять.
3. если не попал - ждать хода. если попал, то вот тут начинается самый эвристический блок. ИИ надо знать, сколько кораблей и какого типа есть в игре, какие корабли он уже подбил. Затем проверить есть ли в пределах точки попадания уже отстрелянные (промахнувшиеся) клетки. В зависимости от их наличия, положения и расстояния до них спрогнозировать какой это может быть корабль и начать отстрел свободных точек.
И так все время, пока список подбитых кораблей не сравняется со списком кораблей в игре.
И имей в виду, что я сделал всего лишь эскиз ИИ, это даже не алгоритм. Реальная реализация будет посложнее, поскольку для просто ты изложения я упростил многие аспекты, хотя бы алгоритм отстрела клеток. Это вообще отдельная песня. И это я только про 2Д. В твоем случае это усложняется.

Вот тогда это будет чем то похожим на ИИ. А когда у тебя везде используется рандом, ты получишь инвалида. Улыбка
_________________
Делаешь – не бойся, боишься – не делай, а сделал – не сожалей...

Последний раз редактировалось: Kalembas (14:10 29-06-2008), всего редактировалось 2 раз(а)
    Добавлено: 14:08 29-06-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Kalembas :
ИИ на рандоме не реализуют, поскольку в итоге он реагирует неадекватно на происходящее.
Правильно, всё на случайном выборе не запрограммируешь! Но реализовать жёсткий алгоритм на основе имеющихся правил дело техники. На Q - Бейсике потребовалось бы на это строк 150 кода, лет 15 назад баловался чем-то подобным (возможно на С будет тоже около того). Питон вещь более высокого уровня. За недельку две если не буду слишком занят может справлюсь. Просто язык этот и современные методы программирования учу с нуля. А так опытный питонист за день бы наверное такую игру написал.
Но в тоже время не надо списывать со счетов элемент неожиданности, который привносит случайный выбор, в некоторых случаях это может быть эффективнее сложного, но в тоже время жёстко запрограммированного алгоритма. Есть такая штука Forex, сколько умников пытаются создавать системы, для работы в нём, могу уверить эффективность этих систем очень низка.
К тому же похожесть этой игры на МБ только в том, что используется две области, в остальном игра намного сложнее и дело не в третьем измерении.

Последний раз редактировалось: Zachesa (16:33 29-06-2008), всего редактировалось 1 раз
    Добавлено: 15:55 29-06-2008   
Снуч
 941 EGP


Киборг
Рейтинг канала: 1(9)
Репутация: 232
Сообщения: 2696
Откуда: Ракслатенон
Зарегистрирован: 09.08.2005
мои пять копеек в общее дело:
Zachesa :
Координаты кораблей записываются двумя группами чисел, определяющими их координаты и ориентацию в пространстве.
зачем две группы чисел когда можно прощще? Подозрение. корабли стандартные (как лошадь Гы-гы ), скажем, "Э,К,Л,Д..." - 1й знак, у каждого есть главная клетка (почти как центрмасс), следовательно можно просто записать ее координаты 2м,3м и 4м знаками, ориентацию в пространстве обозначить 5м знаком. Эсминец с центром масс на пересечении линий "E","10","e" с направление в глубину (Forward) = "ЭЕ0eF" - итого 5 символов (10 обозначать как 0) и естессно не более чем 10х10х10 Гы-гы
 не обязательно к прочтению   (кликните здесь для просмотра)

Zachesa :
Идея игры является развитием, классического морского боя, перенесённого в трёхмерное пространство и с более сложными правилами.
Область игры: два куба со стороной в 16 единиц состоящие соответственно из 4096 ячеек. 48 кораблей: 2*8, 4*4, 8*2 число кораблей/ячеек. В настольном варианте возможно использовать кубы со стороной 8 по 512 ячеек соответственно и 7 кораблей: 2*4, 4*2 и 8*1. Корабли расставляются игроками перед началом сражения. (В настольном варианте просто записываются в журнал координаты и их изменения, а также все свои ходы и выстрелы противника.) Координаты кораблей записываются двумя группами чисел, определяющими их координаты и ориентацию в пространстве. Игроки ходят строго по очереди, по два хода каждый, ход имеет три варианта:
задумка хорошая: римейк простецкой игрушки для таймкилинга.
Посчитаем: в морском бое с разклетовкой 10х10 имеем по 100 клеток у двух игроков, то есть не более 100+99=199 ходов, однако, учитывая тот факт, что с гибелью даже "однушки" закрывается целых 9 клеток, то при условии, что на "ход" отводится в среднем не более 20 секунд (чтобы интерес не потерять к игре), получаем таймкилл (199/9)*20сек/60сек~7 минут реального времени. Гы-гы
Теперь посчитаем тоже самое в предлагаемом 3х мерном варианте (16х16): 16х16 - это 4096 клеток-кубиков у обоих игроков, причем каждый ход - две клетки, то есть (4096+4094)/2=4095 реальных хода, снова учитываем тот факт, что "однушка" будет закрывать со своей гибелью куб из 3х3х3=27 кубиков, то в среднем при тех же 20 секундах на "ход", получаем таймкилл на (4095/27)*20сек/60=50.55 минут ~ 1 час - некисло так. Подозрение.
для варианта с 8х8 аналогично получаем таймкилл на (511/27)*20сек/60 ~ 6 минут. для варианта 10х10 таймкилл примерно на 12 минут. и это всё при двух выстрелах на "ход" + время оценочное, в игре время может быть как больше , так и меньше указанного примерно в два раза
Zachesa :
1. Выстрел – выбирается атакующий корабль, трёхмерные координаты в кубе противника и мощность выстрела из максимально возможных исходя из имеющихся у корабля целых ячеек. Поражающий фактор считается как ячейка координаты выстрела и, если мощность больше единицы, прилегающие к ней выбранные случайным образом ячейки (в варианте настольной игры можно выбрать вручную конфигурацию области поражения, в каждом отдельно взятом случае).
2. Манёвр – выбранный корабль сдвигается на одну ячейку в любую из шести сторон.
3. Ремонт, если корабль повреждён, можно отремонтировать одну ячейку.
вот это вот всё, особенно второй пункт (мама миа, при удачно маневрировании можно играть хоть весь день, а может и больше - игроки просто плюнут на это и будут играть в привычный 2х мерный "морской бой") - ненужные усложнения.

п.с. но для тренировки в программировании, конечно, сойдет.


Последний раз редактировалось: Снуч (12:06 01-07-2008), всего редактировалось 3 раз(а)
    Добавлено: 12:01 01-07-2008   
Kalembas
 1335 EGP


Няшка
Рейтинг канала: 2(24)
Репутация: 263
Сообщения: 18999
Откуда: Санкт-Петербург
Зарегистрирован: 21.03.2003
Zachesa :
Но в тоже время не надо списывать со счетов элемент неожиданности, который привносит случайный выбор, в некоторых случаях это может быть эффективнее сложного, но в тоже время жёстко запрограммированного алгоритма. Есть такая штука Forex, сколько умников пытаются создавать системы, для работы в нём, могу уверить эффективность этих систем очень низка.

Ты ведь не складскую программу пишешь, а игру. Ты рассуждаешь, как технарь-программист. Если ты хочешь писать игры, а не отрабатывать Тех. Задания., то тебе нужно пересмотреть свою концепцию отношения к процессу творчества.
Программирование игр - это творческий процесс создания контента интересного более чем одному человеку.
И как человек, непосредственно работающий с АИ, могу тебе сказать, что, с моей точки зрения, технически ты прав, а вот творчески - нет. Ты создаешь машину, которая в принципе будет делать что ты хочешь, но пользователю твоя игра быстро надоест, потому что АИ ведет себя глупо (например попав в корабль, он не добивает его, а шмаляет наугад в чертову даль, а с твоим подходом к рандому в АИ, так и будет).
Поэтому мой тебе совет - перестань думать как технарь, а программируй, как пользователь твоего продукта. Поставь себя на место игрока и определи как бы тебе хотелось чтобы АИ себя вёл, от этого и пляши. Напиши базис, и начинай его апгрейдить, добавляя штрихи к АИ. В итоге должно получиться то, что ты задумал.
_________________
Делаешь – не бойся, боишься – не делай, а сделал – не сожалей...

Последний раз редактировалось: Kalembas (12:32 01-07-2008), всего редактировалось 1 раз
    Добавлено: 12:29 01-07-2008   
Guest
 2075 EGP


Модератор
Рейтинг канала: 5(167)
Репутация: 376
Сообщения: 27975
Откуда: Моск.
Зарегистрирован: 12.10.2004
Kalembas :
например попав в корабль, он не добивает его, а шмаляет наугад в чертову даль

Угу. Надо, чтобы ИИ сразу выносил все твои корабли - он же знает, как ты их поставил Гы-гы
Он не наугад шмаляет, а методично обрабатывает непосредственную близь.
А вот выстрел размером в 8 - вот это да, это картечь Гы-гы

добавлено спустя 48 секунд:
Кстати, неплохо было бы формализовать выбор размеров "шмалялки" в зависимости от ситуации...

добавлено спустя 44 секунды:
Снуч :
причем каждый ход - две клетки

Каждый ход - до 16 клеток Подмигиваю
_________________
Трещит земля как пустой орех
Как щепка трещит броня

Последний раз редактировалось: Guest (16:53 01-07-2008), всего редактировалось 2 раз(а)
    Добавлено: 16:53 01-07-2008   
Kalembas
 1335 EGP


Няшка
Рейтинг канала: 2(24)
Репутация: 263
Сообщения: 18999
Откуда: Санкт-Петербург
Зарегистрирован: 21.03.2003
Guest :
Надо, чтобы ИИ сразу выносил все твои корабли - он же знает, как ты их поставил

Это как ты напишешь. Ты - хозяин ИИ. Хочешь, чтоб он знал заренее всё твое расположение, а потом "делал вид" что играет, бога ради. Хочешь сделать его вирутальным игроком, значит он будет так же играть как простой игрок. То есть стрелять пока не попадет, а потом так или иначе обрабатывать попадание.
Guest :
н не наугад шмаляет, а методично обрабатывает непосредственную близь.

Именно это я и говорю. В то время как автор желает, чтобы ИИ тупо рандомно стрелял. Результат такого поведения, я и привел в примере.
_________________
Делаешь – не бойся, боишься – не делай, а сделал – не сожалей...
    Добавлено: 17:42 01-07-2008   
SMax
 111 EGP


Репутация: 16
Сообщения: 957
Откуда: ХМАО, Сургут
Зарегистрирован: 02.07.2001
Guest :
Угу. Надо, чтобы ИИ сразу выносил все твои корабли - он же знает, как ты их поставил Гы-гы

Вот шайтан, ИИ принижать, стыд иметь надо. Этож не ИИ, а непонятно что. Подозрение.
Guest :
Он не наугад шмаляет, а методично обрабатывает непосредственную близь.
А вот выстрел размером в 8 - вот это да, это картечь Гы-гы

Вот это мысль. Чем больше корабль, тем меньше кучности. Вот он и рандом оправдается. То есть чем крупнее шип, тем ниже кучность.

Попрошу учесть мысль, пожалуйста. Но это разработчику конечно. Гы-гы
    Добавлено: 20:37 01-07-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Снуч :
зачем две группы чисел когда можно прощще?
согласен, две группы цифр вводить запаришься, дополнение очень полезное. Принимаю, спасибо за проявленный интерес.
Для корабля в 2 ячейки 3 варианта, для 4 - 3 и для 8 - 1 (1 - 1, 16 - 3).
Наличие пунктов 2 и 3 можно сделать опционально -- короткий вариант боя и длинный. Тем более, что без них ИИ запрограммировать проще, может его оставить только на случай игры по сети с человеком.
Guest :
Надо, чтобы ИИ сразу выносил все твои корабли - он же знает, как ты их поставил
Ага по принципу -- монстр должен уметь красиво умереть. Проще и в правда чтоб ИИ знал где твои корабли, а не пытался честно их вычислить. Так промазал ради приличия несколько раз, а потом бац попал как бы невзначай. Между прочем довольно таки распространенный ход в программировании игр.

Последний раз редактировалось: Zachesa (14:27 05-07-2008), всего редактировалось 1 раз
    Добавлено: 12:19 02-07-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
То что в этой игре будет как ИИ - это вообще 5 строк кода Улыбка

Жду реализацию
_________________
MOV topka, C++
    Добавлено: 13:00 05-07-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Процесс пошёл, написал первых 20 строк кода, не считая комментариев. Возможно уложусь в 100 строк.
Компьютерный оппонент будет использовать список зон для обстрела, который соответственно будет расширяться по мере поступления информации: предыдущие попадания и зоны засветки. Из списка будут исключаться ячейки последнего попадания если противник стрелял на предыдущем ходу два раза (имеется ввиду длинная игра), если были пропуски хода, исходя из предположения, что противник мог совершить манёвр или отремонтировать ячейку, эти ячейки удаляются из списка исключений. Также в список исключений будут вноситься подбитые корабли и примыкающие к ним ячейки.
Как оказалось самым сложным стало программирование формирования списка занимаемых и окружающих корабль ячеек Совсем запутался... . Возможно есть простой алгоритм в соответствующих библиотеках для этого (оперирование с матрицами), надо жевать документацию дальше. Так что попробую сделать честный ИИ без подглядывания на данные противника. Но реализовать распознавание корабля по нескольким попаданиям -- слишком трудная задача, наверное, для простой программы. Проще лупить всеми стволами по площадям, пока не свалил куда-нибудь, но не забывать о возмездии!

Последний раз редактировалось: Zachesa (13:00 06-07-2008), всего редактировалось 1 раз
    Добавлено: 08:22 06-07-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Некоторое время было не до игры, вот решил продолжить. Чтоб сформировать список занимаемых ячеек нужно было рисовать развёртку в трёх проекциях по каждому из 14 кораблей. Так я придумал своим детям интересное занятие. Распечатал на листочках выкройки и они склеили из них 32 кубика. Из этих кубиков я в объёме соорудил все возможные варианты кораблей и расписал занимаемые ячейки, а кубики вернул детям играться. Вообщем использовал метод объёмного моделирования в натуре, чтоб ввести данные в программу Улыбка
    Добавлено: 11:43 19-07-2008   
Jerry Rezet
 581 EGP


Рейтинг канала: 5(113)
Репутация: 86
Сообщения: 3365
Откуда: Санкт-Петербург.
Зарегистрирован: 01.04.2005
Zachesa :
Проще лупить всеми стволами по площадям, пока не свалил куда-нибудь, но не забывать о возмездии!
Тогда - почему бы не сделать именно как вариант? Типа самого лёгкого уровня сложности? А потом дописать "более другой" алгоритм поведения? Подмигиваю
_________________
- Вы не представляете, как вам повезло, что я здесь. Вы об этом еще пожалеете. [c]
    Добавлено: 14:46 19-07-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Jerry Rezet :
А потом дописать "более другой" алгоритм поведения?
Вообщем и так делаю: как можно проще, а потом, если масть покатит, можно будет дописывать алгоритмы.
    Добавлено: 03:10 20-07-2008   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
Наращивай функционал по мере разработки. Сразу написать супер сложный АИ не выйдет без опыта
_________________
MOV topka, C++
    Добавлено: 11:01 20-07-2008   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1420
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
Нашло на меня в GalCiv2 поиграть, всё остальное куда-то отодвинулось Расстроен
После того как разобрался, как формировать список занимаемых кораблём ячеек возникла дилемма хранить ячейки в виде трёхмерных координат или в виде номера. В первом случае много возни с цифрами: сложение матриц, поиск коллизий вообще сущий ад. Когда ячейка задана номером невозможно корректно маневрировать. Пришёл к выводу хранить в виде номеров всё таки, а когда надо преобразовывать в координаты.
Только что-то код разрастается как на дрожжах Гы-гы
    Добавлено: 02:07 03-08-2008   
Канал Игры Мечты: «Космический патруль.»
 
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Впервые вижу, чтобы топик с эротическим подтекстом скатился в оффтоп на математику. (заметил Арманкессилон)

  » Космический патруль. | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18