![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пошаговое создание платформенной стрелялки.
Skyslider © (2002-08-13 18:54:00)
Господа программеры :) Я думаю было бы интересно рассмотреть создание игры с нуля. Это был бы полезный тутор как для только начинающих так и для тех кто уже начал. Предлагаю обсудить следующие вопросы, ориентируясь на то что это простая стрелялка справа налево, похожая на др.Марио. Ну может сложнее, вашими силами.
1. Подборка программ и библиотек для создания игры
2. Создание уровней, объектов (возможно Редактор)
3. Хранение данных
4. Поведение противника (АИ)
5. Графика (2D,3D) создание и управление
6. Геймплей (Интерес игры)
7. Баланс
8. Анимация
9. То что пропутил выше :)
Если у кого есть идеи или советы по вышеизложенным вопросам,
пишите. Неплохо подкреплять свои идеи демонстрационным кодом.
Чтобы можно было сразу испытать и поучиться.
Reticent (2002-08-18 01:01:00) [41]
т.к. я , к примеру понятия не имею как в Дельфях под .... что-то там писать. Я тока кружечки рисовать могу. Ну или там картинку показать. И т.п.
А как вот, к примеру, загрузить (наверное в память) 3 картинки и потом поставить их рядом, друг за дружкой? Да еще и шоб по ним сверху еще что-то ползло :)
Reticent (2002-08-18 00:55:00) [42]
Классно! есть теперь где сравнивать.
Только там ничего не понятно :) к примеру
SRF:=SDL_CreateRGBSurface( SDL_HWSURFACE or SDL_SRCALPHA,300,300,Bpp, 50, 150, 50, 0 );
т.е. понятно, но вот сам я такое без пояснений не напишу
я уже писал, что я дуб в програмировании игр, поэтому предлагаю все же придерживаться названия форума ;)
Уж оччень охота по шагам разобраться, как что мастерить.
cyborg (2002-08-17 11:40:00) [43]
Мда, с библиотеками там морока получилась, свалил туда модули из библиотек, короче думаю разберётесь, вот путь:
http://www.cyborg.hoha.ru/data/TanksGame.zip(760 550 байт)
Это всё без ресурсов, что бы работало всё, нужно саму игру скачать, там в Read_Me.txt посмотрите.
Код писался в Delphi 6, если не будет читаться, то загрузите код блокнотом, затем сохраните как текст.
cyborg (2002-08-17 10:30:00) [44]
Приветствую!
:)
Вырвался вот из больницы на выходные домой, сюда залез.
Выложу наверное ща исходник моих танчиков, только с одним условием, что вы не будете картинки там менять и под своим именем игру распространять, типа вы сделали, OK?
AI там нулевой, так что плеваться на меня не нужно, сразу предупреждаю :).
Ща запакую, закачаю и скажу откуда брать.
_Alex_ (2002-08-17 08:24:00) [45]
> Кстати что такое спрайт? (я только напиток знаю)
Спрайт, текстура, прямоугольный рисунок для использование в игре.
Я за написание на Opengl+Delphi.
Reticent (2002-08-17 03:19:00) [46]
Ваууу!!! вот это молодцы!!! Я уже давно хотел научиться писать игрухи. Даже одну написал, Гонки Формула 1. Только на ассэмблере :) едеш на чем то, отдаленно напоминающим машинку, и обьезжаешь препядствия. Вид сверху :)
Но только ооочень давно это было. Все позабыл :) Книжек по игрум накупил. Читать начал - больше половины не понял.
Я с удовольствием бы написал для начала Танчики. Очень хорошая идея! не слишком сложно (я думаю) для новичков вроде меня. Главное что б понятно было. Кстати что такое спрайт? (я только напиток знаю)
Как я понял стуктура уже почти полностью готова. Что теперь?
Ах да, где мона взять ентот Delphix?
_Alex_ (2002-08-16 07:44:00) [47]
> Главное написать сам код игры. И не надо заострять внимание
> на вещи типа: “в каком формате сохранять уровни” – да хотя
> бы в самой программе массивом забить. Все должно быть попроще
> – обучение все таки.
Полностью с тобой согласен!
a_n_t (2002-08-16 06:57:00) [48]
Все у вас так просто: главное картинки где-нибудь получше найти :)
На самом деле картинки не так уж и важны (особенно для учебного проекта).
Главное написать сам код игры. И не надо заострять внимание на вещи типа: “в каком формате сохранять уровни” – да хотя бы в самой программе массивом забить. Все должно быть попроще – обучение все таки.
P.S. планы хороши только на бумаге
_Alex_ (2002-08-16 01:08:00) [49]
Привет Всем!
2Skyslider
Да у тебя практически все готово!
Оставить все это только написать и запустить :)
1.Я думаю обыкновенного массива будет достаточно, затем его BlockWrite в файл, и готов тебе уровень. А зачем демоверсия? Так если кто-то хочет свой уровень сделать, наоборот вместе с игрой нужно бы и редактор карт прикреплять.
2.Если спрайты уже есть, то редактор в принципе состоит из присвоения номера(символа) ячейке, и отображением рисунка.
3.Вывод спрайта(спрайтов) на экран.
4.поведение объектов думаю должно определятся их координатами.
Так что чем детальнее будет карта тем лучше (реальнее) это будет
определяться.
5.ИМХО самая последняя стадия, когда ВСЕ готово.
5.1 Определить куда смотрит вражеский танк.
Если в зоне его видимости (по верт и гориз) есть наш танк, найти путь к нему. Ехать.
5.2 Если враг определил что по нему стреляют, он наверное будет стрелять в ту сторону откуда стреляют.
6.Если сделать врага слишком сильным. Запаришся его убивать.И бросиш играться. Если слабым. Пройдешь уровней 5. И снова бросиш играться. Не знаю.
Каждые 3-4 уровня нужно что-то менять. Не давать игроку уставать.
Пусть это будут другие спрайты, звуки(кстати будет звук?), бонусы(обязательно).Видели какое количество самых разнообразных бонусов
в Moorhuhn 3d. Каждую секунду там по 3-4 надписи на экране, вот уж где не соскучишся :).
Изложил все свои мысли.
Спасибо!
Карлсон (2002-08-15 17:48:00) [50]
да да да....
было такое....
еще на Dandy...
только вот не помню, как гама называлась.
там еще лед был кажись.
зачем танчики?
это скучно!
нужно что-нить динамичное!
почему бы например не сделать гонки на истребителях?
типа летит игрок по трассе, вид сверху, ему нужно поворачивать, уклоняться там от ракет или еще чего.
мне так кажется...
Skyslider (2002-08-15 17:38:00) [51]
Всем привет, давайте будем вешать больше конкретики, например примем игру "Танчики".
МИКРО ДИЗ-ДОК.
Тип:Аркадная игра
Краткое описание
Цель игрока передвигаясь по карте защитить свою базу и уничтожить базы противника которых может быть несколько. Для более успешного прохождения необходимо собирать "бонусы". После уничтожения противника происходит переход на новый уровень.
Описание объектов
Своя база:место где появляется танк игрока,
после уничтожения у игрока теряются все жизни и возможность набирать новые, хотя танк не уничтожается и игрок может играть
до первой смерти
Базы противников:места где рождаются
новые танки врага, пока они не уничтожены, танки будут появлятся постоянно с определенной переодичностью.
Свой Танк:Главная и единственная боевая единица под управлением игрока
Вражеский Танк:Боевая единица противника, пытается
уничтожить базу игрока и танк игрока
Препятствия:
Пустыня- Скорость движения минус один
Вода- Невозможно проехать, пули пролетают
Кирпичная стена- Невозможно проехать, разбивается одним выстрелом
Бетонная стена- Невозможно проехать, нерушима без бонусов
Яма- При попытке проехать игрок проваливается
Зелень- На восемдесят процентов скрывает танк, скорость движения минус один
Земля- стандартное поле для перемещения, скорость обычная
Бонусы:
Сердце- плюс одна жизнь
Звезда- Скорость выстрелов плюс один
Турбина- Скорость перемещения плюс один
Щит- защита танка от всех повреждений на определенное время
Граната- все танки взрываются
Каждый объект размещается на одной ячейке.
РАССМАТРИВАЕМЫЕ ВОПРОСЫ:
1.создание и хранение карты
Как лучше это написать,
Какой формат оптимальней для хранения,
Где хранить уровни например для демоверсии
чтобы люди своих не дописывали.
И свой исходник для обсуждения и улучшения,
если будет что улучшать
2.Редактор уровней
Визуальное редактирование карт
Сохранение в нужный формат
И свой исходник для обсуждения и улучшения,
если будет что улучшать
3. Вывод графики
Подгрузка тайлов
Delphix и еже с ним
свой исходник
4. Поведение объектов
Обработка выстрелов
Обработка столкновений
Перемещение по карте (Плавное)
Свой исходник
5. AI противника
Поведение вражеского юнита
Реакция на события
Свой алгоритм
6. Геймплей
Новые идеи по бонусам
Новые идеи по врагам
Дополнения к игре
Дополняйте :о)
Карлсон (2002-08-15 14:15:00) [52]
мне кажется, что 2.5 это будет немного сложновато для начала.
лучше все же обойтись 2Д.
нужно еще разобраться, какой будет вид.
сбоку или сверху.
в принципе можно и то и другое, все зависит от выбора спрайтов.
Skyslider (2002-08-15 14:15:00) [53]
Насчнем поэтапно, кто может предложить план разработки ?
Skyslider (2002-08-15 14:14:00) [54]
Да, серъезный подход :) А может сделаем танчики ... только с кучей наворотов типа бонусов и разных врагов, авторское оформление могу взять на себя. Работаю с 3DsMAX и Photoshop...
NDR (2002-08-15 13:57:00) [55]
Поддерживаю вариант1 или вариант2.
может получится клёво
Владимир Васильев (2002-08-15 13:42:00) [56]
они, мягко говоря, не очень красивые
Я предлагаю подумать над одним из 3 вариантов:
1. Война магов - спрайты из WC2, поединки в стиле realtime MTG или Перумова "Гибель Богов " и ....- заклинание - контрзаклинание - и т.д.
2. Войны роботов - что- то типа первого мехварриора в 2 - 2.5 проекции или ограниченной 3D - как в WC3 .
3. Ремейк "Пиратов" в ограниченной 3D.
Карлсон (2002-08-15 13:31:00) [57]
ИМХО многие спрайты можно позаимствовать из Дюк нюкем 2Д.
Такая игрушка есть на многих сборниках игр.
там и роботы и оружие :)
Владимир Васильев (2002-08-15 13:08:00) [58]
Хорошо - есть несколько замечаний - они определяются желанием сделать учебный проект в обозримые сроки ( скажем за месяц ).
1. Игра должна по-возможности использовать легко доступную графику - желательно извлечённую из других игр или полученнную из 3D моделей (для 2D игры ) , либо готовые доступные 3D модели ( для 3D игры)
2. Даже такой графики не должно быть много
3. Те же замечания для звукового оформления.
4. Жанр игры?
Наиболее широкий выбор 3D моделей в инете и на СD - это парусники, машины, роботы и космические корабли.
A 2D спрайтов - рипы с игровых приставок.
Желательно скорректировать сюжет под доступную графику.
Карлсон (2002-08-15 12:39:00) [59]
вот вам идея, избитая конечно, но все же ;)
космический корабль-разведчик терпит крушение на неизвестной планете.
в живых только наш герой, предлагаю еще сделать выбор, будет это мужчина или женщина, так кажись прикольней будет.
после краткого интро начинается первый уровень.
у нас есть самое примитивное оружие - электродубинка и гипнотизатор.
планета населена роботами и иногда встречаются живые формы жизни.
чтобы пополнить хелсы, нужно загипнотизировать какое-нить живое существо и съесть его.
роботы естессно умирают от ударов электродубинки.
если вам понравилось, могу дальше написать %)
Владимир Васильев (2002-08-15 12:31:00) [60]
C нуля - это можно!
Предлагайте игровую идею.