![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 1 Всего: 186 |
Тут лежит описание игры (только идея)
Помогите плиз ![]() Кстати: программисты .NET, объединяйтесь! Писать-то можно на любом языке (хоть что-то MS'овцы правильно сделали ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 1 Всего: 186 |
Чего, ни у кого нет идей
![]() |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
Я раньше хотел сделать РПГ в стиле Фоллаута
![]() --------------------
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Есть одна идея: не использовать Windows.Forms как основу (вроде как автор собирается делать игру на основе датагрида
![]() -------------------- ![]() |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
![]() Run-time error, используй DirectDraw или OpenGL, но только не Windows Forms...!!! Это сообщение отредактировал(а) chipset - 30.3.2005, 14:07 --------------------
|
||||
|
|||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
||||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
Насколько я знаю, лучший движок существующий под шарп сейчас, это - Irrlicht.
Здесь тоже пополняется коллекция двиглов ![]() Хотя я не уверен что тебе не хватит обычного managed DirectX --------------------
|
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Ты уверен? |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
Нет. --------------------
|
||||
|
|||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 1 Всего: 186 |
Я же говорю:
С OpenGL тоже ![]() Я лично хочу заниматься составлением классов и прочей хрени, а уж с реализацией посмотрим ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
То есть, ты будешь заниматься созданием модели, а её отображение "прикрутишь" после? Тогда пока что можно и в грид или даже в консоль всё выводить, согласен. Главное сейчас - это грамотно продумать архитектуру игровой модели: чтобы она была как можно более гармоничной, расширяемой и простой. Позже к классу "GameModel" можно будет прикрутить классы "InputSystem", "Engine", и т.п. Начни с определения того, какими основными понятиями будет оперировать твоя игра и попробуй описать их в виде классов. Распредели отношения между классами (включение / наследование / использование) и общий сценарий работы модели (описание того, как и в каком порядке будут взаимодействовать между собой игровые объекты). Когда у тебя появится диаграмма классов, то перед тем как начинать писать исходный код, остановись и попробуй хотя бы примерно перечислить все ключевые игровые ситуации и прикинуть, моделирует ли твой набор классов игру в целом, или же чего-то не хватает, что-то противоречит, где-то необходима дополнительная детализация и т.д. Начинать писать игру прямо в коде, не представляя всей картины в целом - плохая привычка, т.к. надежда на то, что "сейчас я напишу класс А, а остальные буду прикручивать к нему один за другим" обычно приводит к тому, что рано или поздно вскроются непредумотренные ранее трудности с добавлением в игру новых возможностей и к тому подобным проблемам проектирования. -------------------- ![]() |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
Я обычно сначала начинаю с требований, и только потом медленно опускаясь по лестнице абстракции разделяю все на модули, неймспейсы, классы, функции, строчки кода... Т.е. к примеру так, есть приложение Аркада, вопрос: что она будет делать? 1) Отражать шарик от двух бит руководствуясь текущим положением биты. 2) Шарик будет отражаться от нижней и верхней стен. 3) Если шарик проникнет в правую/левую стену, левый/правый игрок выиграл. 4) Игра будет иметь два контрола: Начать новую игру и Выйти. Теперь пройдемся по четырем требованиям: Ясно что будет обьект "Шар". Ясно что будет обьект "Бита". Как шарик может держать своё направление? Правильно, с помощью вектора: класс "Вектор". Как шарик будет отражаться от стен и бит? Вероятно с функции отражения, которая будет модифицировать вектор при столкновении. Ок, но как мы отловим столкновение? Вариант: Менеджер столкновений. Мы забыли про 5-ый пункт - управление, добавляем: 5) Биты должны управляться следующими кнопками: левая: "X","S", правая: "ВНИЗ", "ВВЕРХ". Введём класс Game, который будет апдейтить игру, отлавливая ввод, двигать биты, проверять коллизии, двигать шарик и проверять пункт #3. #4 потребует класс UI, которое будет включать в себя само окно вывода, и две кнопки. Можно спрятать код рисования биты/шарика в соответствующие классы, а можно создать другой класс отвечающий за прорисовку всей этой фигни. .. Можно конечно заюзать UML тулзы, но карандаш+бумага тоже рулез форева ![]() --------------------
|
||||
|
|||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 6 Всего: 61 |
Ты используешь подход, когда сначала ты все описываешь в архитектурной модели, а потом реализовываешь? |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 1 Всего: 186 |
Можно сделать интерфейс IGameGrid. В таком случае, каждый объект, который ты хочешь использовать как игровое поле, обязан реализовывать данный интерфейс. То есть если ты собрался использовать как поле флексгрид, ты должен создать свой класс, наследующий от грида, но реализующий данный интерфейс. Как вы думаете, идея имет право на жизнь?
|
|||
|
||||
chipset |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 2 Всего: 165 |
Да. Но требования, находятся на чуть более высоком уровне абстракции ![]() Добавлено @ 15:01
Да. Таким образом, у тебя графический движок: FlexGrid, OpenGL, DirectX, et al, будет отделен от мини-игрового движка, который и будет реализовывать логику игру, а уже как оно там выводится, ему deep purple ![]() Это сообщение отредактировал(а) chipset - 4.4.2005, 15:01 --------------------
|
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |