Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание игры

17K
07 сентября 2006 года
DIME
24 / / 07.09.2006
Предлагаю собраться людям разбирающимся в DirectX для написания игры.
Страницы:
2
14 декабря 2006 года
squirL
5.6K / / 13.08.2003
Цитата: Freeman
Профанация.

поясни

63
14 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: squirL
совершенно верно. именно поэтому с языка и нельзя начинать. сначала - задача, потом средства для решения.


Тут мне не совсем ясна одна вещь. Допустим - требуется определиться, какую задачу следует поставить и решить. Но возможности, как ты согласился, у разных языков разные - и тогда что получается: мы ставим задачу, для решения которой, например, лучше всего подойдет Java. А мы его не знаем!:eek: И что нам делать? Срочно изучать? Придумать другую задачу (в данном обсуждении ведь именно мы решаем, что выбрать)? Или попробовать найти решение на С++? или С#?
Не говори, что это каждый сам выбирает:) Мне интересно твое мнение.

22K
14 декабря 2006 года
Elast
9 / / 29.11.2006
Цитата: Zorkus
Тут мне не совсем ясна одна вещь. Допустим - требуется определиться, какую задачу следует поставить и решить. Но возможности, как ты согласился, у разных языков разные - и тогда что получается: мы ставим задачу, для решения которой, например, лучше всего подойдет Java. А мы его не знаем!:eek: И что нам делать? Срочно изучать? Придумать другую задачу (в данном обсуждении ведь именно мы решаем, что выбрать)? Или попробовать найти решение на С++? или С#?
Не говори, что это каждый сам выбирает:) Мне интересно твое мнение.



Думаю для написания морского боя, даже с такой суперфичей, как сетевая игра подойдет любой язык.

2
14 декабря 2006 года
squirL
5.6K / / 13.08.2003
Цитата: Zorkus
Тут мне не совсем ясна одна вещь. Допустим - требуется определиться, какую задачу следует поставить и решить. Но возможности, как ты согласился, у разных языков разные - и тогда что получается: мы ставим задачу, для решения которой, например, лучше всего подойдет Java. А мы его не знаем!:eek: И что нам делать? Срочно изучать? Придумать другую задачу (в данном обсуждении ведь именно мы решаем, что выбрать)? Или попробовать найти решение на С++? или С#?
Не говори, что это каждый сам выбирает:) Мне интересно твое мнение.


пишем объявление - требуется Java разработчик :)

63
14 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Elast
Думаю для написания морского боя, даже с такой суперфичей, как сетевая игра подойдет любой язык.


Вот именно потому что для этого подойдет любой язык - я и предложил это определить сразу. В данном случае, по уровню проекта, выбор языка не зависит от выбора идеи - он определяется предпочтениями и опытом участников.
[QUOTE=squirL]
пишем объявление - требуется Java разработчик [/QUOTE]
Ну это ты хватил...:) Еще приписать - "...для разработки сетевого движка морского боя. Контракт на 2 года..."

3
14 декабря 2006 года
Green
4.8K / / 20.01.2000
Цитата: Freeman
Профанация.


А я вот полностью согласен с squirL.
Сначала идея, её детальное описание, потом обоюдный подгон идеи и возможностей.
А так получается: "умею копать и умею не копать".

Вспомните примерный план: сбор требований -> анализ -> проектирование -> разработка -> тестирование -> в_начало.

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

63
14 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Green

Сначала идея, её детальное описание, потом обоюдный подгон идеи и возможностей.
А так получается: "умею копать и умею не копать".


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

3
14 декабря 2006 года
Green
4.8K / / 20.01.2000
Да выглядит это на первый взгляд просто. Выясняется, что требуется для реализации той или иной фичи. Если реализация рискована, то выясняется, что губительнее для проекта: отказаться от фичи или реализовать её в ущерб другим.
Все зависит от фичи, от гейм-фокуса и т.п.
Например, гонки. Если в основе лежит соревнование на скорость, тактику вождения, как в NFS, то точную модель повреждений можно и упустить или упростить. Если же в основе лежит именно возможность разрушать, как в Burnout, то реализуем именно эту фичу в ущерб другим.

Аналогию можно провести и с языками программирования. Если нужна динамика при небольших аппаратных ресурсах, то либо урезаем зрелищность и кол-во деталей, либо наращиваем ресурс за счет кодинга (учим C/C++, а не Java, либо приглашаем готовых специалистов). Грубая аналогия получилась, ну да для примера сойдет.

Примеров масса, почитайте постмортемы игр, там обычно хорошо прослеживается, о чем мечтали в начале, что получили в конце.
http://dtf.ru/articles/list.php?tid=article&stid=postmortem

Вот эту статейку почитайте, весьма полезно:
http://dtf.ru/articles/read.php?id=37662

Короче читайте, интересной инф. полно.
А то опять повторяется тенденция "метод тыка вместо RTFM".
533
14 декабря 2006 года
Visualex
254 / / 07.01.2005
Ребят, ве говорите, я это все отнес бы к крупным проектам. А в данном случае я предлагаю реализовать изначально, просто "тупой" морской бой. D7 + D6 : Попал + Убил. Я думаю это все предатавляют. Тут же можно реализовать ИИ.
Далее если получилось, игра "работает", т.е. сам механизм, можно внедрить сетевую игру.
Сетевую игру внедрили, опять же отладали, механизм работает.
Следующий шаг: Анимирование и звуковое сопровождение, получилось все проект данная версия я считаю завершен.
Следующий этап переход к DirectX...
63
14 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Green - спасибо за ссылки! Классно написано.
Visualex - Хм. Вот то что ты предлагаешь, как я понимаю, в базовом уровне графики - это все реализуемо на любой приличной станд. оконной библиотеке, вообще говоря. А вот переход на DirectX - (кстати, ИМХО, тут лучше OpenGl!!!), это переписывание всего, практически. Может, сразу с этим четко определитесь?
11K
14 декабря 2006 года
Salamansar
83 / / 29.11.2006
Я согласен с Visualex - все рассуждения по поводу идеи, ИИ, великолепной графики и т.д. больше присущи более продвинутым играм, чем "Морской бой". Я даже не представляю о какой еще идее может идти речь в "Морском бое"! Каждый ребенок знает правила. Что еще надо? Детальное описание что должен делать пользователь, ИИ и т.д.?
9
14 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Salamansar
... Каждый ребенок знает правила...



Как сказал один мудрый китаец: "Даже самая длинная дорога начинается с первого шага".
Вот давай с правил игры и начнем:

1. Играют двое.
2. --- ???

продолжайте...

З.Ы. А то вы куда-то не туда зарулили уже. DirectX, OpenGL... Посты Green'a прочтите внимательно и воспользуйтесь советами. А то вы только спорить горазды... ;)

11K
14 декабря 2006 года
Salamansar
83 / / 29.11.2006
[QUOTE=Lerkin]Как сказал один мудрый китаец: "Даже самая длинная дорога начинается с первого шага".
[/QUOTE] Китаец был действительно мудрым. Отличная мысль!
Ну, начну описывать правила:
Игра происходит на 2-х полях 10х10
На одном поле игрок расстанавливает свои корабли, на другом он будет отмечать свои успехи в бомбежке вражеского поля.
Игра подразделяется на два этапа: Расстановка и Розыгрыш
Расстановка включает в себя:
1.Размещение 4-палубного корабля;
2. Размещение 2-х 3-палубных кораблей;
3. Размещение 3-х 2-палубных кораблей;
4. Размещение 4-х однопалубных кораблей.
Примечание: корабли должны быть в одну линию, т.е. не допускается ломаные корабли (в форме уголков); между кораблями обязательно должно быть расстояние в 1 клетку по ВСЕМ направлениям (в том числе и по диагонали); корабли можно размещать только по вертикали и по горизонтали.
Далее происходит розыгрыш:
Учатники попеременно "обстреливают" клетки поля соперника, называя номер клетки. При попадании соперник ОБЯЗАН сообщить об этом "стреляющему", он же ("стреляющий") получает право на следующий "выстрел", при промахе ход переходит к сопернику. Если "стреляющий" подбил один из многопалубных кораблей, то соперник ОБЯЗАН сказать "Ранен" или "Попал" или т.п., ели же "стреляющий" попал в однопалубный корабль, или уничтожил последний квадрат многопалубного корабля, то соперник ОБЯЗАН сказать "Убит" или т.п. Пока не уничтожен последний квадрат корабля, корабля считается "живым". Участники отмечают на 2-м поле промахи и попадания.
Задача участников как можно быстрее уничтожить флот противника, естественно сделавший это выигрывает.

P.S. Надеюсь я дал исчерпывающую информацию?
3
14 декабря 2006 года
Green
4.8K / / 20.01.2000
Отлично! Слава китайцам! :)

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

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

Что касается больших и маленьких проектов. Проект у вас небольшой, но это не значит, что он делается совершенно по другому сценарию. Проект проще и сценарий проще, но не другой. Кроме того вы же сами говорите, что хотите попробовать и научиться делать игры. Вот и учитесь, ведь делать игры - это только на четверть (а то и меьше) состоит из написания кода.
9
14 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Salamansar

P.S. Надеюсь я дал исчерпывающую информацию?



Вполне. :)
Далее ряд уточняющих вопросов:

1. Предусматривается ли изменение параметров игры. Я имею ввиду следующее:
1.1. Размеры поля
1.2. Количество и формы кораблей.

Кстати, для обсуждения: можно заделать перемещение кораблей. Например: целый кораблик - можно перемещать через каждый ход, а раненые - помедленнее, в зависимости от повреждений. Например, каждый уничтоженный сегмент (палуба), замедляет кораблик на один ход. И бомбы можно разной мощности использовать, например - супер-пупер-бомба повреждает все в радиусе 3 квадрата.
Но это так - для пущего интереса, компьютерная игра, все таки ;). Просто предусмотреть, когда стадия проектирования подойдет...

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Green
Отлично! Слава китайцам! :)

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



Не знаю, рановато наверное... От "бумажного" варианта надо немного отойти, а то интерес у народа пропадет из-за отсутствия элемента творчества... :) Геймплей, блин...

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

В остальном - согласен...

3
15 декабря 2006 года
Green
4.8K / / 20.01.2000
Цитата: Lerkin
Не знаю, рановато наверное... От "бумажного" варианта надо немного отойти, а то интерес у народа пропадет из-за отсутствия элемента творчества... :) Геймплей, блин...


Ну уж какой предложили... :)
Я тут что-то типа орбитра, а не креативщика... :)

Цитата: Lerkin

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


Ну не вопрос консольную (псевдографика) так консольную, это не избавляет от необходимости описать UI.
Чтоб внимание и не улетало потом на красивости, надо оговорить сейчас как оно будет в первом приближении.

Цитата: Lerkin

Вот предложение: тупо рисуем (можно в Paint'e) кусок листика в клеточку с двумя игровыми полями, картинку такую. Без разноцветностей и т.д... Так же тупо рисуем это в простейшем окошке c использованием GDI. Кораблики - чисто символически, в виде закрашенных клеточек. На каком языке - на данном этапе это не важно. Важно с места сдвинуться...


Ну вот уже что-то по UI есть. Хорошо б такие вещи наглядно демонстрировать.

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Ну, вот что-то типа этого.
Требуется: создать диалоговое окно с этой (или похожей) картинкой. Язык любой, но желательно исключительно через API ( т.е. без MFC и прочих Qt :)), так как это повлечет массу проблем (на этапе разработки, да и далее...).

P.S. Потом, кто сможет, перенесет это дело в dll. Для разрешения вопросов, типа: "я в дельфи пишу", или "VB для таких дел - самое оно". Без обид ;)
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Green

Я тут что-то типа орбитра, а не креативщика... :)



А я и не пойму, как я-то в это дело вляпался... 30 годов ужо... ;)

3
15 декабря 2006 года
Green
4.8K / / 20.01.2000
Геймдеву все возрасты покорны... :)
Ты глянь на фото с нашего сайта, какие у нас дядьки бородатые игры делают. :)
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Green
Геймдеву все возрасты покорны... :)
Ты глянь на фото с нашего сайта, какие у нас дядьки бородатые игры делают. :)



Да уж... Поди, байкеры-анархисты? ;)
Хотя, это же шоу-бизнес, как ты говоришь... Почему бы и нет?

63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Lerkin

1. Предусматривается ли изменение параметров игры. Я имею ввиду следующее:
1.1. Размеры поля
1.2. Количество и формы кораблей.


Это, мне кажется, стоит сделать. Потому что от этого зависит общее время одного боя. И Пользователь выберет, каким временем он располагает.

Цитата: Lerkin

Кстати, для обсуждения: можно заделать перемещение кораблей. Например: целый кораблик - можно перемещать через каждый ход, а раненые - помедленнее, в зависимости от повреждений. Например, каждый уничтоженный сегмент (палуба), замедляет кораблик на один ход. И бомбы можно разной мощности использовать, например - супер-пупер-бомба повреждает все в радиусе 3 квадрата.
Но это так - для пущего интереса, компьютерная игра, все таки ;). Просто предусмотреть, когда стадия проектирования подойдет...


Это очень интересная мысль, но тогда возникает куча вопросов и идей.
Если они могут двигаться, то:
1. Нет смысла хранить информацию о предыдущих выстрелах ,она
бесполезна.
2. Можно сделать какие нибудь преграды и т.п. (т.е. по сути набор
карт, на которых может проходить схватка.)
3. Развивая мысль, можно сделать оружие, запрещающее перемещения
противника.
4 - ?? Может, тогда сделать раунд проходящей на одном поле? Как кто
думает?

63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Lerkin
Не знаю, рановато наверное... От "бумажного" варианта надо немного отойти, а то интерес у народа пропадет из-за отсутствия элемента творчества... :) Геймплей, блин...


Ну, это как раз очень интересно, обсуждение идей. А потом что будет в конце интересного? отладка? хорошо еще сроков нету:)

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Ок.

Ну, раз больше никто не высказался (пока), остановимся на следующем:

1. Размеры поля могут изменяться.
2. Правила размещения флота остаются стандартными.


Вот, кстати, и мысль посетила: карты у игроков могут быть не одинаковые (опять же, для интереса). Т.е. У одного игрока, например, 10х15, а у другого игрока (или ИИ) 15x10. Главное, что бы площадь была одинаковая, для равных условий маневров (если утвердится).
63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Lerkin

Вот, кстати, и мысль посетила: карты у игроков могут быть не одинаковые (опять же, для интереса). Т.е. У одного игрока, например, 10х15, а у другого игрока (или ИИ) 15x10. Главное, что бы площадь была одинаковая, для равных условий маневров (если утвердится).


Да, по справедливости, должны быть одинаковы размер карт, и общая площаль преград (если утвердят). И тогда на разных картах могут быть свои стратегии игры.

533
15 декабря 2006 года
Visualex
254 / / 07.01.2005
Если корабли двигать, лучше по площади и сделать смысл движения, чем может быть какой либо бонус, что даст например мощь в выстреле, а если соперник взорвал бонус, взрыв допустим вокруг точки по одной клетке, как мина в игре "сапер"(Windows).
63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Это правильно, но смысл движения уже в том,чтобы ускользать от врага:) Систему бонусов и ограничений движения нужно продумать отдельно. Игра меняется, интерактивность возникает..
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Zorkus
Это правильно, но смысл движения уже в том,чтобы ускользать от врага:) Систему бонусов и ограничений движения нужно продумать отдельно. Игра меняется, интерактивность возникает..



Ну, да. Бомба упала, и кораблики от того места начинают расползаться, или наоборот, следуя правилу "Бомба 2 раза в одну воронку не попадает...

63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Цитата: Lerkin
Ну, да. Бомба упала, и кораблики от того места начинают расползаться, или наоборот, следуя правилу "Бомба 2 раза в одну воронку не попадает...


Это поощряет развивать тактику боя, ценно. И ситуация больше будет зависеть от игрока, а не от слепой удачи.

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Как то в сторону пошаговой стратегии съехали, или как она называется? Типа Jagged Aliance.

Решили:
Между ходами корабли могут передвигаться на расстояние, зависящее от их характеристик. т.е. маленькие и целые - быстрее, большие и раненые - медленнее...


Дальше...
533
15 декабря 2006 года
Visualex
254 / / 07.01.2005
Если корабль удрал, сделать чтобы однопалубные могли ремонтировать большие корабли, стыкуется вплотную к ранению, и за пару ходов ремонтирует поврежденную палубу.
63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Тогда предлагаю такое расширение плана:
1. Пользователь выбирает карту из набора карт выбранного размера боя.
2. Карты надо продумать, чтобы они были равные, но разные.
3. Начальное размещение как в classic MB, с учетом специфики карт.
4. Каждый корабль имеет расширенные боевые характеристики.
5. Система бонусов и улучшений судов.
11K
15 декабря 2006 года
Salamansar
83 / / 29.11.2006
Тогда может все будет происходить на одном поле, а не на двух?
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Zorkus

1. Пользователь выбирает карту из набора карт выбранного размера боя.



Одобрям-с...

Цитата: Zorkus

2. Карты надо продумать, чтобы они были равные, но разные.



Это типа как в игрушке... э-э-э... ну, там где ящики надо двигать? Sokoban, вроде называется...

Цитата: Zorkus

3. Начальное размещение как в classic MB, с учетом специфики карт.



Согласюк...

Цитата: Zorkus

4. Каждый корабль имеет расширенные боевые характеристики.
5. Система бонусов и улучшений судов.



По-подробнее. У больших более сильное оружие, и более серьезная защита? Тогда предусматриваем процентное повреждение, и возможность саморемонта. Если использовать идею Visualex, тогда можно сделать один-два маленьких кораблика ремонтными, соответственно с самым слабым вооружением....

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Salamansar
Тогда может все будет происходить на одном поле, а не на двух?



Не, от классического расклада предлагаю не отходить. Обсуждаем...

9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Кстати, а как правильно называть: Marine battle или Sea battle?
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Visualex
...за пару ходов ремонтирует поврежденную палубу.



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

63
15 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Насчет того, чтобы на одном поле - тогда надо чтобы корабли могли в каких то случаях видеть противника. Не могут же они стоять в одной клетке, не замечая друг-друга. Это как раз и есть халтура.
Насчет того чтобы был ремонт - тогда можно развить так.
Ремонт требует неких очков ремонта, соотв. выстрелы очков зарядов.
Их можно закупать в начале раунда, находить и.т.д.
9
15 декабря 2006 года
Lerkin
3.0K / / 25.03.2003
Цитата: Zorkus
...
Ремонт требует неких очков ремонта, соотв. выстрелы очков зарядов.
Их можно закупать в начале раунда, находить и.т.д.



Блин, а не много условий? Начинает походить на приставочно-мобильнотелефонную аркаду... Кстати, мысль! :)

В принципе, можно. Или сделать накопительную систему? В зависимости от количества попаданий, уровня нанесенных повреждений и уровня сохранности собственного флота?

533
15 декабря 2006 года
Visualex
254 / / 07.01.2005
[quote=Zorkus]
1. Пользователь выбирает карту из набора карт выбранного размера боя.
2. Карты надо продумать, чтобы они были равные, но разные.
[/quote]
Для начала всетаки ограничиться 10х10, и стандарнтым набором кораблей.

[quote=Zorkus]
4. Каждый корабль имеет расширенные боевые характеристики.
5. Система бонусов и улучшений судов.
[/quote]
в связи с этим можно сделать выбор корабля, который ведет атаку...

[quote=Salamansar]
Тогда может все будет происходить на одном поле, а не на двух?
[/quote]
тоже идея, тогда есть еще больший смысл выбора атакующего корабля, радиус обстрела, движение корабля.
Поле можно взять допустим 20х20, расстановку кораблей можно сделать как шахматы, напротив друг друга
мда... что-то напоминает героев... =)
кораблям еще балистические ракеты добавить, с ядерными боеголовками... =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог