IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
Создание игры "С чего начать?", Начну цикл уроков с возможностью обсуждения.
Leshander
сообщение 5.12.2014, 16:56
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Приветствую всех читающих.

Каждый пользователь ПК, в какой то мере получивший навыки программирования задумывался над возможностью создать свою игру. На основе этих обсуждений- уроков я планирую написать небольшую книгу на русском языке о программировании на Dark Basic.

Обсуждения принимаю как есть и буду стараться отвечать на каждое.
И так приступим...
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 17:44
Сообщение #2


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Занятие 1.

«Инструменты»

1) Оценка времени: - время,- самый ценный ресурс программиста (а именно им мы и явсляемся берясь за создание игры. Поймите 2-3 часа в выходные это недостаточно для создания чего-либо более стоящего чем калькулятор с мегафункциями. Необходимо запланировать как минимум 3 часа ежедневно.
2) Мысль,- она же идея: - прежде чем браться стоит определить что мы хотим создать?
Жанр игры, вид, и сам игровой мир. Набросайте это на бумаге, а лучше заведите себе тетрадь 96 листов (желательно очень большого формата, так легче читать и записывать код программы).
3) Рабочая корзина: - Создайте папку на рабочем столе и обзовите её как вам угодно (в моём случае это папка «Mу progect»). В ней соответственно: «music», «sound», «fx», «pic».
Нужно заполнить данные папки соответствующим контентом , из неё мы и будем брать все загатовки для своего мира. (Обязательно запишите в тетрадь какие файлы для чего у вас там подготовлены).
4) Редакторы: - Подготовьте редакторы файлов которые у вас хранятся в рабочей корзине. У меня получился вот такой список: Adobe Photoshop, Mspaint XP, Notepad+, Штирлиц, FL studio, 3Ds max, Blender, (любой просмотрщик HEX) и куча различных конверторов.
Пьём кофе, кушаем печеньки мы на стадии StartUp`а.

P.S. Не забываем о DLL для DB качайте всё что найдёте и ложите в DLL папачку в рабочей корзине. rolleyes.gif
Перейти в начало страницы
 
+Цитировать сообщение
admin
сообщение 5.12.2014, 18:05
Сообщение #3


Администратор
***

Группа: Главные администраторы
Сообщений: 737
Регистрация: 30.8.2004
Пользователь №: 1



Респект,
очень правильно настроится распределить возможности и организовать рабочее место,
настроится на достижение результата.
Базис.
Мало кто освещает эти простые вещи,
которые открываются явно только с приличным опытом
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 18:33
Сообщение #4


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Цитата(admin @ 5.12.2014, 20:05) *
Респект,
очень правильно настроится распределить возможности и организовать рабочее место,
настроится на достижение результата.
Базис.
Мало кто освещает эти простые вещи,
которые открываются явно только с приличным опытом

Сам наступал на эти грабли когда только начинал. В книгах тоже мало освещён этот аспект. Многие забывают что Dark сам по себе ЯЗЫК написания а не игровой движок, angry.gif многие это путают и в результате разочаровываются в нём. blink.gif начинают всяко-разно ругаться laugh.gif создание игр и приложений это творчество, изучение С++ это извращение (сам на нём ничего не напишешь, ибо опять же времени не хватит dry.gif ).
wink.gif Едем дальше.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 18:55
Сообщение #5


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Занятие 2

Ох уж эти сказки,- ох уж эти сказочники.

На чём остановиться дело ваше. Но тут я буду описывать MmoRPG.
В настоящее время этот жанр набирает поклонников. Каждый наверняка где-то в глубине души хотел стать "богом",- ну или скромнее сказочником rolleyes.gif . Создавая данный тип игры вы им становитесь. И сами прописываете что и как у вас будет. Идея заманчивая?
Тогда по порядку.
Существует несколько Классов персонажей:
1)Игроки-Player
2)Жители игры-Npc
3)Монстры-monster
Создаём папочки в нашей рабочей корзине и распихиваем их заготовки по местам
Где мы будем творить?
ВСЕГДА НАЧИНАЙТЕ С РЕДАКТОРОВ!
Редактор подготавливает нам внутренности игрового мира и определяет тип работы будущего игрового ядра!
Писать нужно начинать всегда с клиентской части!
Сервер- тот же клиент, но ориентирован на раздачу-приём событий. (В некоторых,- большинстве случаев сервер не имеет графической оболочки! Зачем она?
Она тормозит весь процесс.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:01
Сообщение #6


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:04
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Смотрим на схемку rolleyes.gif
Так как мы делаем сперва клиент, то всё кроме нашего компа отсекается, ну а Npc мы поселим тогда, когда сотворим землю.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:17
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Небольшое отступление от самой темы.
Когда я только начинал программировать и заглядывать в возможности различных игровых движков и сред программирования меня потрясла простота DB. Но сразу скажу:- " Не смотря на кажущуюся простоту это всё таки ЯЗЫК, а не игровой движок. Об этом нужно помнить всегда и тогда множество проблем отпадут сами. Писать нужно всегда с нуля, т.к. сделанное кем то это тёмный лес и печаль по поводу какой либо нетрудоспособности программы это ваша забота.
Пинают всегда программиста sad.gif к этому вы должны привыкнуть.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:28
Сообщение #9


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:35
Сообщение #10


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Занятие 3

Игровая карта

Долго перебирал различные способы хранения карт и пришёл к выводу что всё гениальное просто laugh.gif

Правило:"Чем проще код,-тем он быстрее!" стараемся сократить код всегда.

На рисунке выше массив карты, так сказать 2D в 2D
В DB есть всё для работы с массивами wink.gif
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 19:59
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Пока грузится файл в drop box
Намекну что будем писать собственный формат карты rolleyes.gif
Хелп к Dark Basic Pro на русском
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 20:19
Сообщение #12


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Для начала теория:
Для 2D и псевдо 2D игр давно существует стандарт.
Это не просто прихоть производителей игр, а обусловленная архитектурой компьютера хитрость.
Окунувшись с головой к истокам увидим одну интересную особенность все OS имеют разрядность 32 или 64 бита.
Т.е. от пресловутых кратностей на 2^х мы не ушли ни на шаг.
В основном для спрайтов (sprites) в игровой индустрии используют минимальное изображение размером 32х32 пиксела, либо 64х64 для подвижных объектов и более,но кратное 32 для неподвижных.
Понимая что размер кисти может быть только кратным 32 начинаем считать...
... самостоятельно посчитайте сколько минимальных кистей влезет на экран вашего монитора dry.gif ...
... а в кистях по 64?...
... теперь не стоит проблемм с определением размера карты, со скроллингом (прокруткой) и без.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 5.12.2014, 22:17
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Теперь готовим инструмент wink.gif Photo shop CS5 в моём случае, можно и поновее главное не старее CS5. Почему? Потому что начиная с CS5 есть скрипты, а они нам жизнь облегчат.
Скрипт для фотошопа для создания направляющих
берём качаем и устанавливаем у меня в пути получилось так :
C:\Program Files\Adobe\Adobe Photoshop CS5\Presets\Scripts
кладём туда.
Но можно и в фотошопе указать. Файл->Сценарии->Обзор...
Вводим количество в пикселах между направляющими.
Не забываем сперва открыть или создать файл...
... laugh.gif
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 6.12.2014, 1:26
Сообщение #14


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 6.12.2014, 1:40
Сообщение #15


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Как видим в простейшем варианте таил сет имеет размер 6х4х32 пиксела.
Два образца внизу это образцы поверхности.
В случае если используется формат с поддержкой прозрачности одну из сред можно не изображать т.к. она будет иметь содержание в соответствующем наборе.
В следующем занятии я покажу как создать "правильную" поверхность и укажу основные ошибки начинающих сводящих все потуги сделать интересную игру в тошнотворку. angry.gif
Пиксель арт это следующее занятие, и на нём задержусь, тк слишком щекотливая и полная нюансов тема. wink.gif Там же и создадим первую поверхность для экспериментов с внешним видом.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 9.12.2014, 17:07
Сообщение #16


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Занятие дополнительное к занятию №3

Не знал как назвать, пускай будет "Глаз и тайл"

К сожалению специфика 2D должна учитывать свойство восприятие глаза человека.
Чтобы понять выше сказанное приведу ниже несколько рисунков, а пока объясню что к чему.
Дело в том что мы привыкли видеть объекты объёмными dry.gif и плоские изображения нами ооооченнь плохо воспринимаются. Особенно если это однообразное изображение ( чем собственно тайл и является).
И так правила:
1) Не используйте тайлы простых плоских залитых объектов,- тупо зелёная трава и синяя вода. Это возвращает нас на зарю компьютеров и вашу игру в топку.
2) Не имитируйте объёмность, к хорошему это не приведёт. Особенно символического изображения касается ( эти точки - трава, это квадратики мостовая и т.д.) Если вам сказать лепёшка это булка хлеба blink.gif будет недоумение, тут так же.
3) Старайтесь применять как можно больше оттенков, Мозг человека дорабатывает то что видит глаз, но чем меньше он этим занимается тем красивее и притягательнее игра.
4) При создании тайла используйте сферификацию изображения, тогда будет выглядеть объёмно, сделать это можно в 3DS или Ph.
5) затеняйте часть объекта в зависимости от угла зрения,- назначения. В 2D фишка в том что одновременно глаз смотрит и фокусируется только на одной точке, а остальные как бы вне внимания они мозгом обработаны.
Вот в общем то основы.
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 9.12.2014, 17:11
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Вот
Прикрепленный файл  1.bmp ( 900,05 килобайт ) Кол-во скачиваний: 275

Прикрепленный файл  2.bmp ( 255,05 килобайт ) Кол-во скачиваний: 269

Прикрепленный файл  3.bmp ( 255,05 килобайт ) Кол-во скачиваний: 248

Прикрепленный файл  odnova.bmp ( 722 килобайт ) Кол-во скачиваний: 240
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 9.12.2014, 17:36
Сообщение #18


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Разные цвета в тайле:
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 9.12.2014, 17:38
Сообщение #19


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Видим в проекции:
Перейти в начало страницы
 
+Цитировать сообщение
Leshander
сообщение 9.12.2014, 17:39
Сообщение #20


Активный участник
***

Группа: Пользователи
Сообщений: 56
Регистрация: 23.11.2014
Из: Курган
Пользователь №: 65743



Сферизация даёт объём:
Перейти в начало страницы
 
+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 25.9.2017, 5:42
 X 
Ссылки на работы форумчан:
1. Cайт по использованию 3D технологий
в образовании

2. 15 Defense. Underwater Battle

3. GlaZ в Steam Greenlight