Модераторы: Rickert

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эциклопедия начинающего игродела: обсуждение 
:(
    Опции темы
Olone
Дата 24.5.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



Привет!!!
Предлагаю закрепить тему содержащую все основные термины и понятия игродельного мастерства. Потому что если новичок заходит на этот форум он не может найти ответа на многие вопросы которые его интересуют.
Как вы думаете? smile

А также описание программ используемых для рисования графики и т.п.

Это сообщение отредактировал(а) Olone - 25.5.2005, 07:23
PM MAIL   Вверх
Olone
Дата 1.6.2005, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



Ну так да или нет!?!
PM MAIL   Вверх
chipset
Дата 1.6.2005, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Olone, возьмешься пополнять? Я закреплю smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
poor_yorik
Дата 1.6.2005, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



Вначале стоит выбрать хотя бы жанр игры, и скорее всего язык. Впрочем второе совсем необязательно. Ведь для каждого жанра свои нюансы.
Вот например для создания игр-квестов, довольно интересными на мой взгляд будут темы.
- Принципы работы со спрайтами.
- Фон перед персонажем и фон за персонажем.
- Где и как лучше всего хранить объекты, собираемые игроком.
- Создание графики, текстур и анимированных персонажей.
- Кодирование и построение .sav файлов.
Ну может и кое-что еще, а может и не все эти вопросы уместны. smile
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
Olone
  Дата 2.6.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



chipset :
Я же попросил завсегдатаев,
вот например Я - новичок в программировании игр, захожу на форум и ничего не могу найти, ну например что такое движок (ну это я конечно знаю но все таки), я например не знаю где лучше рисовать воду морскую, ведь можно и в фотошопе нарисовать хотя он для этого не предназначен. smile

Я буду с превеликим энтузиазмом буду помогать в создании темы. Как могу буду учавствовать.

В этой энциклопедии я предлагаю разместить самые элементарные начальные знания о программировании игр. Необязательно даже выбирать какой-то конкретный язык, просто общее.

Пример для poor yorik :

Цитата
Принципы работы со спрайтами


А я может не знаю что такое спрайт. Мне придется создавать тему и спрашивать что это такое.
А тут раз посмотрел и ОК.
Давайте думайте. smile

Это сообщение отредактировал(а) Olone - 2.6.2005, 09:06
PM MAIL   Вверх
poor_yorik
Дата 3.6.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



Olone, я попробую тебе помочь чем смогу. Ты просто скажи, какой жанр тебя больше всего интересет и какие темы ты бы хотел услышать.
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
Olone
Дата 4.6.2005, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



poor yorik спасибо!!!!!!!!!
Меня интрересуют стратегии и бродилки. Совсем немного знаком с VB. Начал читать книгу Харви и Пола Дейтела по С++.
А темы: устройство графики в 3D играх, описание работы движка и т.п. т.е самое сложное в программировании игр.
Но ведь тебе придется очень много писать и я тебе скоро надоем smile. (сорри за оффтоп)
А вообще с превеликим удовольствие принимаю помощь.
Могу задать конкретные вопросы насчет игр если размытые темы не понятны.
СУВ Olone.
P.S. А темку я все-таки создал smile


PM MAIL   Вверх
Nemesis
Дата 8.6.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



Если хотите, я тоже могу помочь вам в этом деле. Просто давно занимаюсь 3х мерным программированием. В особнности методами OpenGL. Если что, могу там теорию написать. Типа там все эти матрицы преобр (трансформ, перемещ, вращ, проек ...) рендеринг сцен и прочее... Только скажите что нужно.
--------------------
PM MAIL   Вверх
chipset
Дата 8.6.2005, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Я думаю что словарь следует опубликовывать в отдельной теме которую закрепим и дадим в ней ссылку на эту.
Эту же будем использовать для обсуждения.
Во-первых, нужно разобраться со списком слов для словаря и пополнять их в этой же теме.
Во-вторых, следует каждому кто знает описание написать его в своих словах.
Далее, заполним тему-словарь словом+описаниями участников.
К примеру:

Спрайт
poor_yorik - Спрайт эта такая фиговина которая фигачиться через вон ту фиготень.
Nemesis - В прошлом, спрайт был назван из-за своей фиговости и теперь он обычно используеться в бла-бла-бла и ла-ла-ла.
Olone - В двух словах: хренотень такая.



--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Nemesis
Дата 8.6.2005, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



Хорошо, нет проблем. Нужно будет создать списочек всех этих терминов. Пусть тогда каждый выдвинет свой списочек, а затем мы их обсудим и объединим.
--------------------
PM MAIL   Вверх
poor_yorik
Дата 8.6.2005, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



В таком случае предлагаю первые слово.
Начнем со страшного слова Blitting.

Blitting - непереводимое на русский язык слово. Тоже кстати аббревиатура - bit block transfer – пересылка блоков бит. Благодаря этой пересылке, мы можем скопировать прямоугольную область из одной части Surface'а в другую или из одного Surface'а в другой. Такое копирование происходит пересылкой байт в видеопамяти, отсюда и название - bit block transfer. Но весь шик этого дела заключается в использовании цветового ключа.

Цветовой ключ – очень полезная штука, из разряда тех, которые следовало бы изобрести, если бы их не было. Цветовой ключ – это один или, несколько цветов, предназначенных для изображения “прозрачного” цвета. Пикселы окрашенные этим цветом не копируются при Blitting'е. Это позволяет создавать иллюзию непрямоугольного изображения, хотя при Blitting'е копируются только прямоугольные области. Делается это вот как: рисуем (или просим нарисовать кого-нибудь у кого это хорошо получается) какую-нибудь картинку, ограниченную прямоугольной областью. Все пикселы этой прямоугольной области, которые не относятся к картинке, закрашиваем каким-то особым цветом, который не использовался в самой картинке. Этот особый цвет назначаем в качестве цветового ключа – при Blitting'е он не будет копироваться, и вместо пикселов, окрашенных этим цветом, останутся пикселы фона – возникнет иллюзия прозрачности. Такая картинка, в прямоугольной области, заполненной цветовым ключом называется “спрайт”.

Так постоянно изменяя картинку в прямоугольнике спрайта, мы не будем затрагивать сам фон и другие спрайты. Так можно создать анимацию на определнном фоне либо несколько анимаций.
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
poor_yorik
Дата 9.6.2005, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: 3
Всего: 8



Теперь немного о самих спрайтах.

Цитата

И так, спрайт это персонаж игры. Не углубляясь в дебри программирования, могу сказать что спрайт это массив из цветов - для простаты представим его как BMP файл или TBitmap, тем более что, этот формат поддерживаемый windows и не содержащий компрессии.

Что нам нужно от спрайта - заставить его появляться на экране и образовывать анимацию. Анимация это не только смена координаты спрайта, но и изменение самой картинки. Следовательно спрайт может иметь не одно изображение, а несколько. Смена их и приводит к анимации.

Как я уже говорил спрайт это матрица. При вписывании в кравдрат ( прямоугольник ) сложного объекта, например волшебника из рисунка ниже, остается свободное пространство. Его заполняют цветом, которого нет в изображении самого объекта. При простом копировании этой матрицы ( или для простоты BMP или TBitmap ) на экран выводится и волшебник и фон под ним. Но нам это не всегда, подчеркну не всегда, нужно. Если спрайт выводится на фон, то он затирает все квадратную область.

Как я уже говорил спрайт это матрица. При вписывании в кравдрат ( прямоугольник ) сложного объекта, например волшебника из рисунка ниже, остается свободное пространство. Его заполняют цветом, которого нет в изображении самого объекта. При простом копировании этой матрицы ( или для простоты BMP или TBitmap ) на экран выводится и волшебник и фон под ним. Но нам это не всегда, подчеркну не всегда, нужно. Если спрайт выводится на фон, то он затирает все квадратную область.

Из статьи [email protected].

Способов вывести спрайт на поверхность экрана много. Рассмотрим один из них. Это способ, когда отдельно рисуется спрайт и отдельно маска. Для этого нам понадобится сам спрайт, его маска и буфер.

И спрайт и маска должны иметь одинаковый размер, в данном примере 50x50. Для чего нужна маска? Она нужна для того, чтобы при выводе спрайта не затиралось изображение, которое находится под ним. Маску можно заготовить отдельно в BMP файле - более быстрый способ, а можно рассчитать программно.Спрайт и маску помещаем в TBitmap.


Есть еще один способ. Мы должны будем в Bitmape спрайта, все пикселы, которые не хотим помещать на экран, закрасим в один сильно яркий цвет. И при прорисовке Bitmapa на экран, мы будем пропускать все пикселы покрашенные в этот цвет.
Цвет, как я сказал, нужно выбирать сильно яркий, который точно не используется на картинке.
Например #00FF00 .

Для Дельфистов это можно реализоваьт при помощи процедуры из билиотеки DirectX, RXLib и других...

DrawBitmapTransparent(param_1,X,Y,param_2,param_3);

param_1 - Canvas, куда копировать
X,Y - Смещение
param_2 - TBitmap, что копировать.
param_3 - TColor, цвет Transparent - этот цвет не будет копироваться

--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
Olone
Дата 10.6.2005, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



Ура! chipset когда закрепишь?
poor yorik начал ты так сказать не с самого легкого.
Я думаю что надо располагать термины не по алфавиту, а по степени их сложности от самого легкого до самого сложного. Постепенно переходя к более запущенным.
Надо начать со свойств монитора отображать цвета, что такое движок каково его предназначение и т.п.

Я постараюсь что-нибудь нарыть в сети.
PM MAIL   Вверх
chipset
Дата 10.6.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Пока эту креплю, но давайте уж насобираем достаточный список терминов smile
Можно немного терминов отсюда повыдирать если Gepard согласиться, естественно с сохранением аффторства smile
Вот ещё пару терминов.
1. Пиксель -- минимальный элемент графического дисплея.
2. Текстура -- графическое изображение используемое для накладки на каркас полигона.
3. Вершина -- минимальная точка в 2D или же 3D пространстве.
4. Рендеринг -- процесс обработки графической информации на устройство вывода, чтобы сразу можно было прорисовать.
5. Полигон -- простейшая плоскость в 3D пространстве. Составляеться минимум из трёх вершин, и обычно только из трёх поскольку это наименьшее количество вершин которые описывают плоскость, хотя иногда используються и полигоны квадратной формы.
..
Это дело можно будет даже подверстать smile
Добавлено @ 22:47
Цитата(Olone @ 9.6.2005, 22:44)
Я постараюсь что-нибудь нарыть в сети.


Цитата(poor_yorik @ 9.6.2005, 05:23)
Из статьи [email protected].

Соблюдаем авторские права, плз, не надо плагиата.


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Olone
Дата 11.6.2005, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



Вот что я нашел, в основном все из 3DFAQ'a.
Немного сложноватые.


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


'Альфа-канал'. Специальный слой изображения (как слои
Red, Green, и Blue), определяющий 'прозрачность' RGB-точ-
ки исходного изображения. Белый цвет в Alpha-канале озна-
чает 'непрозрачную RGB-точку', черный цвет - 'прозрачную
RGB-точку'. В Alpha-канале возможна плавная градация от
белого до черного в палитре 'grayscale' (черно-серо-
белая, 256 цветов). Соответственно будет меняться 'проз-
рачность'. Полностью 'прозрачная RGB-точка' заменяется на
RGB-составлющие изображения, находящегося за этой точкой.
Полностью 'непрозрачная RGB-точка' никаких изменений не
получает. Промежуточный вариант 'прозрачности' получается
путем сложения RGB-составляющих точек картинки и фонового
изображений.
Ambient 'Окружающий'. Цвет материала в тени; чаще - свет, отражен-
ный от участка материала, освещенного рассеянным (отражен-
ным от других объектов) светом.

Anti-Aliasing 'Разглаживание'. Часто после обсчета 3D-изображения на
картинке можно увидеть ребристые края у объектов (выглядят
как 'лесенка'). Существуют специальные алгоритмы разглажи-
вания таких артефактов в изображении. Общее их название:
"Anti-Aliasing".

Aspect Ratio 'Зрительное отношение'. Коэффициент отношения ширины
изображения к его высоте. Т.е. AspRat = Xsize / Ysize.
Стандартное значение AspRat=1.333, что верно для изобра-
жений 640x480, 800x600, 1024x768, NTSC 768x576.
Bump 'Выбоина'. Искуственный эффект изображения выбоин, трещин,
шероховатостей на ровной поверхности. Работает за счет соз-
дания "затемненных участков поверхности, как бы находящихся
в тени". Не требует больших математических просчетов (очень
быстро работает), но при сильном увеличении/приближении к
поверхности обнаруживаются многочисленные ошибки: непра-
вельные тени, не зависящие от окружающего освещения, низкое
качество, и т.д.

Diffuse 'Рассеянный'. Цвет материала под прямым светом; чаще -
свет, отраженный от участка материала, освещенного прямым
светом.
ICD 'Installable Client Driver'. Драйвер для видеокарт OpenGL,
позволяющий использовать все возможности спецификации
OpenGL. Именно IDC-драйвера используются при работе Maya,
Softimage, 3DS Max, LightWave, и других программ.
Так же см. 'MCD'.
NURBS 'Non-Uniform Rational Basis-Splines'. Математические
поверхности, кривизна которых определяется положением
контрольных точек, а положение любой точки поверхности
вычисляется по математическим формулам.
Radiocity 'Рассеянный свет'. Эффект подсветки объекта(ов) за счет от-
ражения света от других объектов в сцене, а так же рас
сеивания света непрозрачными субстанциями (газами, взвеся-
ми, парами и т.д.). При этом, если объект получает свет,
отраженный от объекта красного цвета, то и подсветка будет
красным светом!
Z-buffer 'Z-буффер'. В программах, работающих с 3D, есть понятие
'глубины'. Это простое число, как X- и Y-координаты точки.
Определяет расстояние от точки изображения до 'экрана'. В
графическом изображении может хранится как градация черно-
бело-серого цвета: белый цвет соответствует переднему пла-
ну, черный - заднему наиболее удаленному от экрана плану.
Соответственно градации серого цвета обозначают промежу-
точное удаление. Часто используется для совмещения создан-
ной картинки и "живого видео", при этом объекты на картин-
ке закрывают "живые объекты", находящиеся за объектами.
PM MAIL   Вверх
Nemesis
Дата 11.6.2005, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



Antialiasing.
Расскажу я про Antialiasing. Можно перевести как антиступенчатость. Так называемый артефакт, возникающий при рисовании линий. В виду дискретности экрана монитора, это получается в свою очередь благодаря тому, что экран разбит на элементы - пикселы. Когда на экране рисуется линия, она представляется в виде совокупности этих самых пикселов. В отличии от настоящего, непрерывного видения линии, мы видим ее разбитой на пиксели. Появляется эффект ступенчатости. Во многих случаях устранение ступенчатости (antialiaisng) реализуется при помощи сглаживания цветов, смазывания и добавления/удаления пикселов.
--------------------
PM MAIL   Вверх
Nemesis
Дата 12.6.2005, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



Double buffering.(Двойная буферизация)
Когда на экране монитора формируется изображение частота обновления должна быть достаточно высокой, чтобы зритель не заметил прорисовки кадра (как там у нас очищается экран и рисуется новое изображение). Обычно частота должна быть больше чем 50 Гц, оптимальным является частота около 85 Гц. Откуда берется изображение, которое мы хотим вывести на экран? Наше изображение берется из специального буфера кадра. Если содержимое буфера всегда постоянно, т.е. мы на экране видим одну и ту же картинку, то все будет в порядке и мы спокойно наблюдаем нашу картину. Но если же содержимое буфера изменяется, то мы можем увидеть некоторе "дерганье" картинки, заторможенность и мерцание.
Специально для решения этой проблемы было создан метод двойной буферизации. Представим себе,что у нас есть не один буфер, а два. Обычно их называют следующими именами:
Front Buffer - рабочий; Back Buffer - фоновый. Рабоичй буфер - это тот, из которого происходит считывания данных, для отображение картинки непосредственно на монитор, а в фоновом буфере картинка формируется с помощью программы. По определенной команде от программы можно переключить эти буферы. Т.е. сделать рабочий буфер фоновым, а фоновый - рабочим. Таким образом мы сменили нашу картинку на новую (раньше она была фоновой), которую теперь выводим на монитор,а в теперешней фоновой(ранее она была рабочей) мы рисуем следующий кадр. Таким образом, каждый раз сменяя эти два буфера мы достигаем впечатляющего эффекта. Пропадает мерцание и дерганье. Работу Double buffering можно сравнить со следующйе общеизвестой вещичкой:
Наверняка многие из нас смотрели в детстве мультикиsmile где по телевизору бегали рисованые персонажы. А теперь представьте себе, как это происхдит. Художник рисует много-много кадров, затем эти кадры объединяются в ленту. Каждый следующий кадр прорисован. И, смотря мультик, нам не нужно ждать когда художник нарисует следующий кадр, они все уже им нарисованы. То же самой происходит и здесь. Нам не приходится ждать, пока картинка сформируется в нашем буфере, она уже сформирована в другом, нам лишь нужно их поменять местами.

P.S. Стоит учесть тот факт, что двойная буферизация не решит проблемы со скростью формирования изображения, она уже зависит от ваших технический характеристик.
--------------------
PM MAIL   Вверх
Nemesis
Дата 12.6.2005, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



BMP и BITBLT(битовая карта и ее отображение)
Структура данных, в которой сохраняется изображение называется битовой картой - Bitmap(сокр BMP). BMP обесечивает компактное хранение экранных образов, изорбажений. BMP - это просто массив байтов, в которых содержатся значения цвета экранных пикселей. Внутри массива пиксели хранятся слева направо и сверху вниз. Этот порядок хранения соответствует порядку хранения пикселей в видеопамяти и делает операцию отображения BMP на экране очень простой, с минимальными трудностями. Чтобы нарисовать саму картинку, битовую карту нужно перенести ее из опративной памяти в память видеокарты. Вот этот самый процесс переноса байтов из оперативной памяти в видеопамять называется BITBLT(bit block transfer). Далее видеокарта, оперируя этими байтам, строит изображение и выводит его на экран монитора.
--------------------
PM MAIL   Вверх
Alastis
Дата 14.6.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 15.11.2004
Где: Казахстан, Астана

Репутация: 2
Всего: 10



MIP-Mapping (Мип маппинг по русскиsmile) – технология наложения на объект текстур различного разрешения в зависимости от удаленности объекта от виртуальной камеры. Чем дальше находится объект – тем меньшего разрешения используется накладываемая текстура. MIP Mapping используется для экономии памяти, т.к. в формировании кадра используется меньшее кол-во текселей (точек текстуры). Используемые текстуры с одинаковым изображением различного разрешения называются мип-картами.




--------------------
Прости, что я говорю, когда ты меня перебиваешь.
PM MAIL WWW ICQ   Вверх
Амортизатор
Дата 14.6.2005, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 17.4.2005
Где: в Караганде

Репутация: нет
Всего: 8



Я конечно извиняюсь, но может пора уже приступить к конкретным практическим советам? Вот предположим (только предположим!), что я собираюсь сделать некую тупейшую стрелялку типа подошел-замочил. С чего я должен начать? Очевидно. модели должны быть составлены в среде трехмерного моделирования - Maya или 2D SNax. Как ими пользоваться? Как потпом оттуда экспортировать модели? А как насчет азов DirectX? Накладка текстур и т п. Последовательность действий, наконец. А от пустого теоретического трепа толку маловато будет.


--------------------
Поехали!
PM MAIL   Вверх
Nemesis
Дата 14.6.2005, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 206
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 5



Амортизаторsmile) ты издеваешься?smile Трудно объяснить сразу все эти вещи. Дело в том, что предполагается, что человек именно не знаком с терминологией в программировании и игроделании. А как экспортировать 3д объект - это отдельная тема, все-таки не так просто это. В принципе уже разработаны спецпроги, где все уже импортирует для ОпенГЛ, или ДиректИКС.
--------------------
PM MAIL   Вверх
Амортизатор
Дата 14.6.2005, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 17.4.2005
Где: в Караганде

Репутация: нет
Всего: 8



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


--------------------
Поехали!
PM MAIL   Вверх
arilou
Дата 16.6.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 6
Всего: 61



Цитата
тупейшую стрелялку типа подошел-замочил

Сначала надо придумать и описать концепт игры
Потом написать дизайн-документ
Потом спланировать работы
Потом их выполнять


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
chipset
Дата 23.7.2005, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Сбор материалов здесь.
Здесь обсуждение.

Добавлено @ 03:05
Народ, а аббревиатуру какую сделаем? Есть варианты, типа: ЭНИ, но можно и по другому...


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
MakcSheff
Дата 2.1.2006, 04:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.1.2006

Репутация: нет
Всего: нет



Olone принялся было делать доброе дело - помогать новичкам, но что-то остановился.
Самый простой, хоть и трудоёмкий способ - это с нуля создавать 3D игру, и через строчку коментарить совои действия. Вот это будет самый наглядный пример для новичков.
PM MAIL   Вверх
Olone
Дата 9.1.2006, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



Привет всем и с Новым Годом!! С Рождеством!!!
Как пожитваете?
Чтож я вижу дело пока застыло и попробую доделать начатую работу и наладить механизм ЭНИ.
Я тут заново перечитал все сообщения и статьи, посмотрел Wiki сервер и остальное.
(Кстати кто нибудь объясните мне что такое Wiki!)
Так вот после прочтения понял что дело так не пойдет и нужны новые правила и принципы.
Я думаю что надо попробовать написать сообща подобие общего дизайн документа, в независимости от жанра игры. Писать же код и комментировать каждую строку будет почти бесполезной тратой времени: во-первых код очень большой, во-вторых новичок должен учится решая задачи и исправляя ошибки, а не списывать чужой труд.
Попытаюсь сам что нибудь накалякать.
PM MAIL   Вверх
Olone
Дата 9.1.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 3.10.2004
Где: Лефортово, Москва

Репутация: 1
Всего: 2



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

user posted image


Я думаю любая игра состоит из следующих компонентов:
Интерфейса
Инициализирующего кода
Движка
и иногда вспомогательных утилит.

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

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

Движок есть сердце игры, самая сложная её часть отвечающая за весь игровой процесс. Я думаю Движок можно разделить на следующие части: Графический д-к, Физический д-к, Звуковой д-к, Д-к Искусственного Интеллекта.

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

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

Со звуковым движком я думаю понятно - здесь описывается алгоритм проигрывания звуков и музыки. Ничего больше и не скажешь.

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

Связывающий код опеспенчивает контакт между частями движка и и их взаимообмену данными. Например чтобы создать кузнечика-врага, нужно чтобы Графич. движок создал модель и обтянул текстурами, затем Движок ИИ присвоил ему свойство высоко прыгать, физ. движок это свойство реализовал, затем разместил кузнечика где надо, указал звуковому движку когдпанадо проигрывать звук прыжка, и потом Графич. движок выводит все на экран. Связ. код помогает движкам общатся друг с другом.
Не много запутано получилось, но все же.Конечно это все происходит не совсем так, но в общем я думаю это верно.

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

Знающие мира сего чего не так поправьте
Добавлено @ 21:15
Чего-то картинка в форуме не октрывается.
Она здесь

PM MAIL   Вверх
Гаара
Дата 13.1.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.1.2006

Репутация: нет
Всего: нет



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

Альфа-канал - характеристика прозрачности.
Анимация - последовательность кадров, которые воспринимаются как кино.
AGP - локальная шина(порт) для омена информацией между видеоадаптером, процессором и операт. памятью.
API - интерфейс для разработки прикладных программ.
Битовый массив, а-ля bitmap - растр.
Векторная графика - создание изображений на основе векторного описания отдельных объектов.
Окно :-) - фрагмент плоскости графического вывода.
Видеоадаптер :-) - устройства, с помощью которого непосредственно формируется изображение на экране монитора. Создание изображения осуществляется на основе данных, которые присылаются из процессора и памяти.
Воксель - элемент объемного растра.
Гамма-коррекция - компенсация нелинейности функции яркости для экранов дисплеев телевизионного типа.
GUI - набор графических элементов предусмотренных для пользователей.
Гуро-метод - способ хакрашивания граней трехмерных объектов, который использует интерполяцию интенсивностей отражения света в вершинах граней.
Дизеринг - иллюзия оттенка цвета, созданная смешением близко расположенных точек различных цветов
DirectX - Подсистема графического вывода Windows'a
Direct3D - API для работы с трехмерной графикой
GDI - подсистема Windows.
Context - указание для места графического вывода. В основном ассоциируется с поверхностью отображения и структуры данных.
CMYK - цветовая модель
Палитра - набор цветов для определенного изображения
Пиксел - элемент растра.
Mipmapping - сохранение нескольких вариантов текстуры для различных ракурсов, масштабов показа.
Полигон - многоугольник, фигура которая ограничивается контуром связанных отрезков прямых.
Растровое изображение - изображение созданное множеством близко расположенных точек различного цвета(пикселов).
Рендеринг - процесс отображения инорфмации в граф.виде.
Спрайт - растровое изображение отдельного объекта рисунка, которое сохраняется в битовом массиве. Часто используются в анимации.
Тексел - элемент растровой текстуры.
Текстура - стиль закрашивания для объектов(3D) игрового мира. Или проще - изображение на объекте. Хоть и не совсем правильно.
Фонга-метод - способ закрашивания граней трехмерных объектов. Основывается на интерполяции векторов нормалей в вершинах.
Фракталы - объекты сложной формы.
Шрифт - ммм... набор знаков символов для представления текста. Разновидности: Растровый - набор растровых изображений символов; Векторный - использует описание символов в векторной форме; TrueType - формат шрифтов Windows'a. Разновидность векторого шрифта.
Z-буфер - массив в котором сохраняются значения расстояния до точки наблюдения(глубины) для каждого пиксела растрового изображения. Зачастую используется для удаления невидимых точек.

Это сообщение отредактировал(а) Гаара - 13.1.2006, 18:03
PM MAIL   Вверх
Maniac
Дата 3.4.2006, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 27.2.2006

Репутация: 1
Всего: 1



Почему бы не написать одну базу (на делфи + конвентор в разные форматы) и объединить весь материал в одно место, а то не очень приятно бегать по разным местам форума. Дополнения оставлять на форуме, а пользователям заходить на раздел сайта (вне форума) и читать нужное. Главное - это формат базы знаний, выводить информацию можно разными методами (непосредственно в HTML на сайте через PHP, либо через еxe файл на делфи).
базу можно создавать в виде текстовых файлов с сылками на рисунки как в HTML
Как идея?

Это сообщение отредактировал(а) Maniac - 3.4.2006, 01:41
PM MAIL   Вверх
mr.DUDA
Дата 3.4.2006, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 7
Всего: 232



Maniac, возьмёшься ?..


--------------------
user posted image
PM MAIL WWW   Вверх
Maniac
Дата 4.4.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 27.2.2006

Репутация: 1
Всего: 1



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

Полигон.txt
-----------------------
Полигон - многоугольник, фигура которая ограничивается контуром связанных отрезков прямых. БЛА БЛА БЛА БЛА....
-----------------------

Все что пожелаете нужным добавить в энциклопедию (или лучше в Большую инциклопедию по 3D графике и разработки игр )).

Если надо вставить каринку по тексту, пишем в текстовике:
-----------------------
БЛА БЛА БЛА <рис.1>
-----------------------
крепим к письму файл рис.1.jpg, Gif

Главное чтобы название текстовичка совпадало с определением в нем (только 1 определение в одном текстовике)

Я соберу все вместе переделаю в html-ку. Позже сделаю интерфейс к их просмотру.
Пока пособираю то, что тут написали.

инфу кидать на мыло: [email protected]
PM MAIL   Вверх
Maniac
Дата 4.4.2006, 02:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 27.2.2006

Репутация: 1
Всего: 1



Сформировал архивчик (15кб) на http://13maniac.by.ru/Game_/data_txt.rar
собрал все, что увидел на форуме.
PM MAIL   Вверх
unicuum
Дата 1.7.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



А зачем, собственно говоря, выводить все эти понятия? Они уже давно написаны в руководствах по 3D графике. На мой взгляд, нужно начинать программировать, а термины запомнятся в процессе. 


--------------------
user posted image
обычный день на винграде
PM   Вверх
B3nder
Дата 5.7.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.7.2006
Где: Москва

Репутация: нет
Всего: нет



Имхо (так делал я smile, чтобы почувствовать вкус программирования графики нужно хотябы написать прогу которая выводит на экран модель *.3ds, *.x (ну любого вобщем). И дальше начинать извращатся над еффектами анимацией. Когда появится уверенность в действиях и какой-никакой опыт можно переходить к другим вещам ( ландшафт, поиск путей, AI, оптимизация, шейдеры).

 
PM WWW ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




[ Время генерации скрипта: 0.1111 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.