Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Игрострой (http://forum.igromania.ru/forumdisplay.php?f=278)
-   -   Учимся делать игры (http://forum.igromania.ru/showthread.php?t=11396)

pokibor 06.02.2006 20:49

Учимся делать игры
 
Вот решил создать такую темку. Сподвигла меня на это дело покупка книги "Проектирование и архитектура игр" (Эндрю Роллингз, Дейв Моррис, изд. дом "Вильямс", Москва-СПб-Киев, 2006г., второе издание). Сам не раз пробовал создать что-нибудь, учатствовал в одном проекте (умер еще на стадии рождения) - толку ноль. Так вот: предлагаю в этой теме обсуждать проблемы, стоящие на пути начинающего гейм-мейкера (начинающего).
Сразу осмелюсь остудить горячие головы, считающие, что они придумали генеальный сюжет и сейчас вот создадут по нему суперигру (сам таким был...) - ничего не выйдет, сюжет сам по себе для игры ничего не стоит.

ROLF 07.02.2006 15:36

у меня такой вопрос может кто обяснить вот как делать город это надо каждое сдание и улици делать а потом кодом соединять или в максе целый город сделать а потом в двиг закинуть?

pokibor 07.02.2006 17:26

Можно и так, и так. Только лучше все же здания делать отдельными объектами.

SkyLine 08.02.2006 21:25

А как по проще сделать препятствия??

pokibor 09.02.2006 08:03

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

ROLF 09.02.2006 14:21

а какие бесплатые движки для делфи есть кроме glscene и delphix?

SkyLine 10.02.2006 19:36

pokibor
А можно по подробнее про 2D.
ROLF
Есть какие-нить игры под GLScene?

pokibor 10.02.2006 20:30

Цитата:

Сообщение от SkyLine
pokibor
А можно по подробнее про 2D.

Не совсем понимаю, что подробнее... Ну рассмотрю случай, когда область столкновения представляется окружностью как самый простой. Вообще, если не дружишь с геометрией, то трудно тебе будет на поприще разработчика игр... Итак, у тебя есть объект - юнит с координатами x0 и y0, а также радиусом коллизионой окружности r, и есть объект - прпятствие с координатами X и Y, коллизионая окружность R. Допустим, мы знаем, что в текущий момент юнит не столкнулся с препятствием. Он делает шаг. Нам интересно, сможет ли он сделать этот шаг, или столкнется с препятсвием. Пусть, если герой сделает шаг, у него координаты станут x и y. Тогда нам нужно фактически проверить, пересекает ли окружность с центром в т. (x,y) и радиусом r окружность с центром в т. (X,Y) и радиусом R. Такие задачи решаются классе в седьмом-восьмом, кстати. Очевидно, что если окружности пересекаются, то расстояние между их центрами будет меньше, чем сумма их радиусов. Расстояние между центрами в квадрате равно (т. Пифагора) (x-X)^2+(y-Y)^2, ну и по условию это должно быть < (r+R)^2. Корень не беру (а возвожу в квадрат) потому, что операция взятия корня куда более трудоемка для компьютера, нежели возведение в квадрат. Итак, получили:
Если (x-X)^2+(y-Y)^2 < (r+R)^2, то юнит шаг сделать не может и мы этот шаг запрещаем, если же нет - разрешаем.
Разумеется, куда естественнее будет сделать стенки наборами отрезков, а героя - окружностью. В таком случае придется искать столкновение сферы с отрезком, что несколько сложнее. Я эти уравнения выводил, но на память не помню. Задачка, кстати, класса для восьмого. Предоставляю это тебе. Если не осилишь, я поднапрягусь и выведу из заново. Напомню, что уравнение окружности (x-xc)^2+(y-yc)^2=r^2 (xc,yc-координаты центра, r-радиус), а отрезка -
x = (xa-xb)*c+xb
y = (ya-yb)*c+yb
0<c<1
xa,ya - координаты одного конца отрезка, xb,yb - другого, а c - как раз коэффициент, который нужно тоже найти из системы уравнений и проверить условие 0<c<1.

ROLF 14.02.2006 14:50

SkyLine
не кроме стондартых демок нет

Evil.Hard 05.03.2006 00:33

Цитата:

Сообщение от pokibor
Ну и самый тормознутый вариант - просчитывать пересечение каждого полигона с каждым, но это будет очень медленно

Такого вродь не в одном движке не применяется...
Покрайне мере я не слышал такого гдеб так колизии проверялись.
Хотя могет через несколько лет процы наверное такую фишку осилят.

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

Блин тож хотел книжку эту прикупить да воть чет пока обламывает...
Так что читаю пока другие...
Что тему такую создаль - МОЛОДЦА...
Постараюсь тут почаще постить по теме!!!

Evil.Hard 10.03.2006 17:32

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

Варианты структур карты:
1. Ландшафт - меши (строятся из кусков) - отдельные готовые здания.
2. Вся статика катры в одной модели.

1. Для ландшафта изпользуются Квадродеревья(QuadTree) или подобные ей структуры.
Это дает большой плюс к скорости работы с ландшафтом.
Остальные же здания хранятся в отдельных структурах, например D3DXMESHCONTAINER, или же собственые разработаные структуры.
Примеров таких игр полно: FarCry, HalfLife, Doom3...
2. Всю стантику(ландшафт, здания и т.п.) хранят в ондной структуре (могут разбиватся на сектора).
Есно что тут много плюсов по скорости, правда структура получается слишком большая, поэтому карту разбивают по секторам
или же используют BSP деревья или другие подоюные технологии...
Игры: PainKiller, Quake Arena(используется BSP)...

Конечно описал слишком плохо всю идею, но думаю кто хочет разобраеться поймет...
Если гдет ошибся не серчайте а просто поправте...

pokibor 10.03.2006 18:00

Интересно... вообще то первая идея называется "тайлы", только трехмерные :sml: Очевидно, она больше подходит для стратегий, и, возможно, RPG, где соответствует сути карты. Вторая - для Action'ов, где каждый элемент уровня должен быть неповторимым, т.к. на него смотрят с куда большего приближения. И на сектора разумеется надо разбивать, и использовать незаметную подгрузку уровней. Представьте, чтобы во второй халве СРАЗУ грузился в память весь уровень...
Кстати, еще можно попробовать сделать нечто вроде автоматической генерации ландшафта и даже зданий по фрактальным алгоритмам... Достаточно интересный вариант кстати. В реальном мире практически все можно свести к фракталам.

Evil.Hard 10.03.2006 18:18

Цитата:

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

Evil.Hard 10.03.2006 20:19

Цитата:

тайлы
Меши - тайлы одна ботва...
Воть только меш можно понять как модель так как Mesh переводится как сетка...

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

pokibor 10.03.2006 21:53

Цитата:

Сообщение от Evil.Hard
А чем не устраивает тебя генерация ландшафта по картам высот???
К тому же можно тут и слои использовать для накладывания текстур...
Т.е. одна текстура на весь ландшафт а слои покрывают те участки на которых должна быть другая текстура...

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

Цитата:

Сообщение от Evil.Hard
Меши - тайлы одна ботва...
Воть только меш можно понять как модель так как Mesh переводится как сетка...
В экшенах тож используют такую фигню при построении архитектуры карт.
Посмотри в сторону Unreal Tournament точнее полазь в редакторе и поймешь...
Пол, стены делается кусками (тайлами) ну а более сложные уже храняться как модели.

Согласен, что некоторые детали можно на уровне повторять. Но в целом уровень в 3D ACtion'ах должен быть намного разнобразнее, чем в стратегиях, и, возможно, даже RPG. Поэтому основу каждого уровня желательно делать каждый раз новую. Хотя тут можно схитрить, сделав набор достаточно просторных мешей (чтобы все не сводилось к воксельному движку :sml:), но покрывать их разными текстурами. Эсли это грамотно скомпонавать, то среднестатистический игрок повторяющихся элементов даже не заметит.

Evil.Hard 10.03.2006 22:32

Цитата:

Сообщение от pokibor
Но в целом уровень в 3D ACtion'ах должен быть намного разнобразнее

Воть на этом Monolith то и облажалась со своими Fear и Condomned(вроде так пишется)...

Про фракталы я как то мало что знаю... Воть слил шас инфу по ним почитаю немнго...

Кстать вопрос немного не в тему... ну даладно...
Знает кто нить как в MVSC++ 6.0
Использовать инструкцию CPUID???
Или хотя бы ее обьектный код - db 0Fh, 0A2h;

Если использовать объектный код то вылезает такая лажа:
inline assembler syntax error in 'opcode'; found 'constant'

Unter 11.03.2006 01:20

Цитата:

Сообщение от ROLF
а какие бесплатые движки для делфи есть кроме glscene и delphix?

читай ЛКИ там все описывается про LKICreator и жизнь станет легче +)

Evil.Hard 12.03.2006 00:54

Чет тема выдохлась чтоль???

Поэтому предлагаю обсудить организацию хранения объектов в игровом мире...

PS: Pokibor почитал тут инфу о фракталах. ТАк воть заинтересовали мя Стохастические фракталы...
Весчь то удобная для генерации ландшафта. Такая штука мне могет потом пригодится...
Я воть тут пишу движок игровой. Ну потомь думаю ченить простое на нем замутить.
Если заинтересован в этомь то могет присоединишься.
Раз разбираешься в фракталах то могет и тулзу поможешь написать...

pokibor 12.03.2006 09:07

Цитата:

Сообщение от Evil.Hard
Чет тема выдохлась чтоль???

Поэтому предлагаю обсудить организацию хранения объектов в игровом мире...

Ну это зависит от игры... Я сейчас в рамках проекта по институту пишу пошаговую стратегию, и там сделал так: есть список объектов, которые находятся на карте, а также у каждой клетки карты есть ссылка, указывающая, какой объект на ней находится. У меня все объекты игры унаследованы от одного базового класса, в котором определена переменная, отвечающая за тип объекта, поэтому проблем с идентификацией не возникает, а благодаря описаной выше структуре можно как перебрать все объекты на карте, не проходя все ее клетки (тем более, что один объект может занимать несколько клеток), так и не перебирая все объекты посмотреть, что находится на данной клетке.
Цитата:

Сообщение от Evil.Hard
PS: Pokibor почитал тут инфу о фракталах. ТАк воть заинтересовали мя Стохастические фракталы...
Весчь то удобная для генерации ландшафта. Такая штука мне могет потом пригодится...
Я воть тут пишу движок игровой. Ну потомь думаю ченить простое на нем замутить.
Если заинтересован в этомь то могет присоединишься.
Раз разбираешься в фракталах то могет и тулзу поможешь написать...

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

Evil.Hard 12.03.2006 12:06

pokibor
Ну могешь и позже присоединиться. Как раз движок мясом обрастет.
А то он пока что мало что умеет.
Я счас пишу конфиг и логер. Одновремено добавляя необходимые по необходимости классы. Когда закончу начну ландшафт добавлять или же чет есчо добавлять...

pokibor 13.03.2006 21:06

Тут возникло два вопроса, которые хотелось бы обсудить:
1) Какой движок (на Visual C++ 6.0, желательно не .NET, т.к. основа проекта пишется на чистом C++, т.е. с очисткой памяти и т.п.) лучше подходит для пошаговой стратегии? Также хорошо бы, чтобы он был достаточно прост в освоении. Принимаются, кстати, как 3D, так и 2D варианты.
2) Вытекает из первого, и, честно говоря, самый проблемный: как можно добыть модели/рисунки (в зависимости от 3D/2D движка) юнитов? Варианты вроде "сделать руками в 3DMAX/Maya и т.п." не подходят, т.к. над проектом работают 2 человека и 1 лентяй, и достаточного опыта в таких пакетах нет ни у кого из них. Мы думали из GTA/UT 2004/ets. выдрать и вставить в игру (в случае 3D движка), но может у кого-нибудь есть другие идеи... Возможно, есть какие-нибудь пакеты, позволяющие создавать модели с анимацией на основе шаблонов вроде "человек" или "автомобиль"?

Xar 14.03.2006 00:15

pokibor
Цитата:

Тут возникло два вопроса...
Попытаюсь ответить со своей, глубоко субъективной, точки зрения.
1)Свой собственный. Зуб даю, что для написания 2D движка для игры типа 'Герои 3' требуется лишь около недели свободного времени. Тем более, наверняка нет специализированных движков для игр подобного жанра. Кроме того, при написании своего движка хорошо знаешь все его аспекты и можешь делать исправления/добавления. Я это все говорю, потому что сам этим занимался (написанием движка). Правда на VB и даже, в целом, небезуспешно.
2)Черт, я сам с этим не раз сталкивался. Боюсь, что кроме выдирания игровых ресурсов, мне посоветовать нечего.

pokibor 14.03.2006 07:35

Цитата:

Сообщение от Xar
Свой собственный. Зуб даю, что для написания 2D движка для игры типа 'Герои 3' требуется лишь около недели свободного времени. Тем более, наверняка нет специализированных движков для игр подобного жанра. Кроме того, при написании своего движка хорошо знаешь все его аспекты и можешь делать исправления/добавления. Я это все говорю, потому что сам этим занимался (написанием движка). Правда на VB и даже, в целом, небезуспешно.

Да, за пару недель справлюсь (я же еще и работаю :sml:). Но, боюсь, движок выйдет плохим и тормознутым. К тому же, как ни странно, 2D юнитов делать сложнее, чем 3D, а уж выдирать-то 3D точно из намного большего кол-ва мест можно...

L'ombre 14.03.2006 11:29

А почему Visual C++ 6? те же 7 или 8 вполне пригодны для написания win32 applications (не .NET), и кроме того, удобнее (подсветка лучше, intellisense раньше срабатывает и т.д. - мелочи, но приятно)

pokibor 14.03.2006 13:19

Цитата:

Сообщение от L'ombre
А почему Visual C++ 6? те же 7 или 8 вполне пригодны для написания win32 applications (не .NET), и кроме того, удобнее (подсветка лучше, intellisense раньше срабатывает и т.д. - мелочи, но приятно)

А какая, собственно, разница? Говоря C++ 6, я подразумеваю, что все дальнейшие версии ориентированы уже на .NET, суть win32 applications в них уже практически не менялась. А потому движок должен одинакого работать как в 6'ом C++, так и в последующих изданиях. А синтаксис - это мелочи.

Xar 16.03.2006 00:21

pokibor
Цитата:

Но, боюсь, движок выйдет плохим и тормознутым. К тому же, как ни странно, 2D юнитов делать сложнее, чем 3D, а уж выдирать-то 3D точно из намного большего кол-ва мест можно...
Вопрос первый: почему 'плохим и тормознутым'? Ты ведь не собираешься делать кучу графических наворотов аки шейдеры, динамическое освещение и т.п? Простой 2D движок на DirectX сделать весьма легко.
Вопрос второй: на счет 3D. Для меня пошаговые стратегии и 3D - несовместимые вещи. Классический пример - Герои или Disciples. Так о чем это я? Ах, да: как ты собираешься выдирать 3D модели из игр, ковертировать их в один формат, а, главное, как присобачить им анимацию? По-моему, проблем с 3D гораздо больше, чем с 2D (по крайней мере в технологическом плане).

pokibor 16.03.2006 10:22

Цитата:

Сообщение от Xar
pokibor
Вопрос первый: почему 'плохим и тормознутым'? Ты ведь не собираешься делать кучу графических наворотов аки шейдеры, динамическое освещение и т.п? Простой 2D движок на DirectX сделать весьма легко.

Потому что нормальный движок быстро сделать невозможно, или будет куча глюков. Ну и, честно говоря, никто из моей комманды не имел раньше дела с DirectDraw, а вот на Direct3D у нас уже был визуализатор трехмерных графиков, лда и еще один незаконченный проект...
Цитата:

Сообщение от Xar
Вопрос второй: на счет 3D. Для меня пошаговые стратегии и 3D - несовместимые вещи. Классический пример - Герои или Disciples. Так о чем это я? Ах, да: как ты собираешься выдирать 3D модели из игр, ковертировать их в один формат, а, главное, как присобачить им анимацию? По-моему, проблем с 3D гораздо больше, чем с 2D (по крайней мере в технологическом плане).

Для форматов многих игр есть плагины 3DMAX, а уж из макса можно во что угодно перевести. И анимация там тоже должна в модель входить... А главное в стратегии не двумерность/трехмерность, а геймплей...

Nie 16.03.2006 11:11

У меня вопрос. Возможно ли создать игру (неплохую) чтобы там было 3D (не миллион полигонов конечно но все таки). Например какую нибудь RPG? Возможно или нет? На Vusial Basic?
P.S. Есть ли бесплатные 3D и 2D движки для Vusial Basic?

pokibor 16.03.2006 11:45

Цитата:

Сообщение от Steam
У меня вопрос. Возможно ли создать игру (неплохую) чтобы там было 3D (не миллион полигонов конечно но все таки). Например какую нибудь RPG? Возможно или нет? На Vusial Basic?
P.S. Есть ли бесплатные 3D и 2D движки для Vusial Basic?

Возможно. Но VB - это смешно. Не знаю ни одного человека, который бы делал ИГРЫ на VB. Дело в том, что VB негибкий и тормознутый, и подходит только для написания офисных приложений. Учи C++! На нем пишутся все профессиональные игры. Ну или Delphi на крайний случай. Но лучше C++ (либо C# - проще, но за счет .NET тормознутый). Только сразу реши, а откуда в твоей 3D RPG возьмутся модели героев, монстров, зданий и т.п.
P.S. Если писать под .NET даже на VB, то можно использовать любой .NET-движок, не обязательно, чтобы он сам был написан на VB. Напр., irrlicht. Там даже пример на VB есть (irrlicht-0.12.0\examples.net\01.HelloWorld_vb).

Nie 16.03.2006 11:54

Почему же VB не гибкий? Интерфейс мне в нем нравится больше чем в C++ да и программы итам писать поудобнее. C++ я знаю чуть чуть поэтому учить не надо. :sml: . но ведь на С++ пишутся офисные программы а не на VB не так ли?

pokibor 16.03.2006 13:28

Цитата:

Сообщение от Steam
Почему же VB не гибкий? Интерфейс мне в нем нравится больше чем в C++ да и программы итам писать поудобнее. C++ я знаю чуть чуть поэтому учить не надо. :sml: . но ведь на С++ пишутся офисные программы а не на VB не так ли?

Скажем так, я не видел ни одного серьезного проекта (за исключением MS Office, но там на VB не весь код), написанного на VB. Выводы делай сам. А какое отношение к ЯЗЫКУ ПРОГРАММИРОВАНИЯ имеет ИНТЕРФЕЙС среды разработки, не совсем ясно. Судя по всему, ты не видел .NET и Borland C++ Builder (хотя последний - далеко не идеал компилятора C++...)
Кстати, мне очень интересно узнать, какие проекты ты УЖЕ написал на VB?
P.S. Кстати, в VB есть ссылки? А то я что-то уже забыл, и кажется мне, что нет. Язык без ссылок (если не специально под это подстроен, как JAVA и C#) - смешно.

L'ombre 16.03.2006 13:56

pokibor прав. К тому же посмотри на проблему с другой стороны - практически все современные игры написаны на C++. Можно сказать, у него ниже уровень выразительности, но это только добавляет гибкости. Да и вообще, basic изначально есть язык для обучения программированию.

pokibor 16.03.2006 17:33

Цитата:

Сообщение от L'ombre
Да и вообще, basic изначально есть язык для обучения программированию.

Я бы сказал "для создания иллюзии того, что ты обучен программированию". По себе знаю. Я тоже начинал с Basic'а, потом в институте заставили перейти на Паскаль, и я испытал при этом значительные проблемы. А вот потом с Паскаля на C перешел элементарно. Теперь на VB только макросы для мелкософтовских продуктов пишу.

Xar 18.03.2006 00:34

pokibor
Цитата:

Но VB - это смешно. Не знаю ни одного человека, который бы делал ИГРЫ на VB. Дело в том, что VB негибкий и тормознутый, и подходит только для написания офисных приложений.
Это известный предрассудок, что на VB нельзя писать игры (будь то 2D или 3D). Можно. А то, что они де будут тормознутыми, это тоже не факт. Если вы не собираетесь делать Half Life 3 или Героев 6, а нечто более простое, то снижение быстродействия будет не сильно заметно. Кроме того, код можно оптимизировать (кому я это говорю?). Я сейчас занимаюсь одним проектом на VB с использованием DirectDraw и ручаюсь за отличное быстродействие (приблиз. 120 FPS). VB интуитивно простой и понятный. Хотя бы потому, что это визуальное программирование в отличие от хваленого C++, где вообще свой проект не видишь (в дизайн-режиме).
P.S. Можете назвать меня сумасшедшим, но я с VB переходить на C++ не собираюсь (не вижу смысла). Если только может на Delphi когда-нибудь.

pokibor 18.03.2006 11:13

Цитата:

Сообщение от Xar
pokibor
Это известный предрассудок, что на VB нельзя писать игры (будь то 2D или 3D). Можно. А то, что они де будут тормознутыми, это тоже не факт. Если вы не собираетесь делать Half Life 3 или Героев 6, а нечто более простое, то снижение быстродействия будет не сильно заметно. Кроме того, код можно оптимизировать (кому я это говорю?). Я сейчас занимаюсь одним проектом на VB с использованием DirectDraw и ручаюсь за отличное быстродействие (приблиз. 120 FPS). VB интуитивно простой и понятный. Хотя бы потому, что это визуальное программирование в отличие от хваленого C++, где вообще свой проект не видишь (в дизайн-режиме).
P.S. Можете назвать меня сумасшедшим, но я с VB переходить на C++ не собираюсь (не вижу смысла). Если только может на Delphi когда-нибудь.

Судя по всему:
1) Ты не работал ни с Visual C++ .NET, ни с Borland C++ Builder, иначе бы про то, что проект не видишь не говорил.
2) Если писать игры, то претензия с невидимым проектом вообще теряет смысл - в любой игре интерфейс должен быть своим, а не заимствованным из винды.
3) Изначально пишешь требовательные к ресурсам системы программы. В связи с чем я сильно сочувствую тому, кто возьмет тебя на работу программистом.
4) Про "простой и понятный" - жуткая чушь. В C++ куда больше возможностей, а понимание кода - дело пивычки. Меня лично уже бесит необходимость в VB в начале тела if'а набирать THEN, а в конце писать END IF вместо {...}, что гораздо быстрее. Так что на VB ты делаешь много ненужной работы, нажимая лишний раз клавиши. Ерунда? Умножь число таких бесполезных нажатий в серьезном проекте пусть даже на 10 миллисекунд - число получится приличное.
5) Насчет перехода на C++ - придется, если будешь серьезно заниматься программированием. Под C++ ГОРАЗДО больше мождулей, библиотек, движков, компонентов и пр., чем под VB и Delphi вместе взятые. Если хочешь каждый раз изобретать велосипед - оставайся на VB. Подавляющее большинство проектов делается на C++ либо C-подобных языках (если они Web, хотя уже ASP.NET есть, а потому и на C++ можно...)

Xar 19.03.2006 00:32

pokibor
Я не собираюсь начинать войну C++ versus VB. Просто не хочется, чтобы ты дискредитировал Basic на форуме (дабы не сбить начинающих программистов, которые пишут на VB ). Большинство твоих аргументов не соответствуют истине.
1) Тут ты прав. У меня на компе есть некий C++, но проект пишешь не нем с чистого листа.
2) Вообще-то делать интерфейс програмным путем дело не одной недели (особенно, если интерфейс слишком навороченый). По чесноку, я ни разу серьезно за это не брался. Хотя, чтобы сделать игровой редактор, интерфейс Windows еще как понадобится.
3) Ну здесь я вообще ничего не понимаю. Какие еще требования? Понимаешь, моя самая серьезная программа ела 4МБ оперативки (только из-за своего интерфейса). Сейчас я делаю, как уже писал, проект с использованием DirectDraw (проект этот - игровой движок). Он ест те же 4МБ.
4) Ну а что ты скажешь на счет точки с запятой в конце каждой строки? Я за это убить готов. Или приравнивание двумя знаками равно? Мог бы еще привести примеры да вот только язык я этот почти не знаю.
5) Я переходить пока не собираюсь. Да и вообще люблю идти простыми путями. :)

Mr Riper 19.03.2006 01:57

Закрываю тему - слишком много флуда! Ламеры позорные... Жаль что в бане все места заняты, так бы я вас посадил!Ух!

pokibor 19.03.2006 10:52

Так. Давыай сразу определимся - собираешься ли ты заниматься серьезными проектами и считаешь ли программирование своей будущей профессией. Если нет, и считаешь программирование лишь хобби - дискуссию закрываем, я забираю все свои аргументы назад. Если же ты все же видишь себя в будущем программистом серьезных проектов, то тебе и всем начинающим программистам придется смириться с правдой. А она в том, что на VB написать качественный серьезный проект с серьезными функциями достаточно сложно, а оптимизировать его еще сложнее. И лучше тебе учиться писать проекты качественно СЕЙЧАС, потому что потом будет переучиваться куда сложнее...
Цитата:

Сообщение от Xar
2) Вообще-то делать интерфейс програмным путем дело не одной недели (особенно, если интерфейс слишком навороченый). По чесноку, я ни разу серьезно за это не брался. Хотя, чтобы сделать игровой редактор, интерфейс Windows еще как понадобится.

Верно. Но если ты посмотришь на игры - у всех интерфейс СВОЙ. И, кстати, все сделаны практически с чистого листа (либо на движке, который писался с чистого листа), а не по шаблонам Windows.
Цитата:

Сообщение от Xar
3) Ну здесь я вообще ничего не понимаю. Какие еще требования? Понимаешь, моя самая серьезная программа ела 4МБ оперативки (только из-за своего интерфейса). Сейчас я делаю, как уже писал, проект с использованием DirectDraw (проект этот - игровой движок). Он ест те же 4МБ.

Опять же - у серьезного проекта требования будут куда выше. И потери из-за некачественности языка тоже. C++ хорош тем, что в нем есть все - от низкоуровневых вещей вплоть до ассемблерных вставок до достаточно высокоуровневых операций, вроде виртуальных функций и рекурсии, что позволяет сделать проект максимально быстрым и удобным для работе в комманде.
Цитата:

Сообщение от Xar
4) Ну а что ты скажешь на счет точки с запятой в конце каждой строки? Я за это убить готов. Или приравнивание двумя знаками равно? Мог бы еще привести примеры да вот только язык я этот почти не знаю.
5) Я переходить пока не собираюсь. Да и вообще люблю идти простыми путями. :)

Вот то-то и оно, что не знаешь. Но синтаксис - дело привычки. А вот возможности - объективный критерий. А гибкость кода на C++ больше, чем VB. Взять хотя бы великолепный For (такого нет ни в одном языке больше, кроме C-подобных!), позволяющий делать самые невероятный циклы одним оператором.
А вообще, профессональный программист должен знать как можно больше языков, от VB до C++ и даже Prolog'а. Никогда не знаешь, на чем тебя заставят писать завтра...

Цитата:

Сообщение от Mr Riper
Закрываю тему - слишком много флуда! Ламеры позорные... Жаль что в бане все места заняты, так бы я вас посадил!Ух!

Действительно, жаль... А то бы тебя уже бы в бан запихнули...

Nie 19.03.2006 12:55

По моему дискусия началась практически с ничего. Один говорит то что C ++ это самый крутой язык. Другой говорит что VB. Я в эту дискусию не вступал из за видимых причин. Может все зависить от возрастной категории. Вы с какого класса знали VB? Или C++? Я с 5 класса хорошо разбирался в VB и кое что знал про С++. А если там человек лет 25 говорит что он знает три языка и хвалится этим - безумие. За школьное время можно изучить 5 языков! 5! Делаем выводы и заканчиваем дискуссию.

pokibor 19.03.2006 13:05

Цитата:

Сообщение от Steam
По моему дискусия началась практически с ничего. Один говорит то что C ++ это самый крутой язык. Другой говорит что VB. Я в эту дискусию не вступал из за видимых причин. Может все зависить от возрастной категории. Вы с какого класса знали VB? Или C++? Я с 5 класса хорошо разбирался в VB и кое что знал про С++. А если там человек лет 25 говорит что он знает три языка и хвалится этим - безумие. За школьное время можно изучить 5 языков! 5! Делаем выводы и заканчиваем дискуссию.

Вообще-то я никогда не хвалился знанием языков (хотя уж если такая тема - я их знаю... сейчас посчитаю... 8..., из них в школе только Visual Basic изучил, т.к. мне комп только в 9 классе купили...). Хороший программист выделяется не знаем кучи языков, а знанием кучи алгоритмов, умением переложить их на любой язык и оптимизировать код. Так вот как раз с последними двумя пунктами у VB проблемы...
Кстати, еще в защиту C++ могу напомнить про потрясающие возможности настройки самого языка (одна перегрузка операторов чего стоит! Я уже не говорю о "мелочах" вроде макросов и других директив препроцессора)

Nie 19.03.2006 13:14

Давайте перестанем дискуссировать на счет VB и C++ а начнем писать посты в тему. Тема кто помнит: учимся делать игры. И VB хороший язык и C++ хороший. Для каждого свое. Все согласны?

pokibor 20.03.2006 09:08

Предлагаю обсудить такую тему как AI в играх. Насколько я знаю, сейчас в играх редко используют AI сложнее конечного автомата (т.е. скрипты). Считается, что нейронные сети и т.п. будут неоправдано тормозить игру. Хотя в том же HL (первом, скорее всего и во втором) использовалась нечеткая логика. Кто как считает, какой AI лучше для:
3D Action
Стратегий
RPG
Симуляторов

Nie 20.03.2006 11:08

Мне кажется что востребованнее AI в стратегиях и экшенах. F.E.A.R. нам это доказал. В RPG персонажи могут просто стоять а враги иметь несложный AI. А в симуляторах уже все сделано. Там особого ума не надо. Хотя нет. Все таки надо...
P.S. В экшенах, узнал это благодаря F.E.A.R.

pokibor 20.03.2006 17:03

Насчет RPG:
Как кто считает, имеет ли смысл в них AI, работающий НА КВЕСТЫ, т.е. делающий поведение NPC более живым, а прохождение меньше похоржим на книгу и больше - на жизнь?

Xar 23.03.2006 01:22

pokibor
Слушай, может ты хотел сказать НЕ на квесты? Ведь именно квесты делают прохождение похожим на книгу, ибо они, как правило, неизменны от игре к игре. Вообще, живые NPC в RPG это редкость. На ум приходит лишь Готика, да и в ней поведение NPC было слишком заскриптованным. Я думаю, стоит посмотреть на NPC в TES4: Oblivion. По крайней мере, если у создателей получится нечто неплохое, то это только улучшит игру, причем сильно. Pokibor, я не уверен, что правильно понял твою мысль, но, по-моему, NPC не должны полностью быть завязаными на квестах.

pokibor 23.03.2006 08:34

Цитата:

Сообщение от Xar
pokibor
Слушай, может ты хотел сказать НЕ на квесты? Ведь именно квесты делают прохождение похожим на книгу, ибо они, как правило, неизменны от игре к игре. Вообще, живые NPC в RPG это редкость. На ум приходит лишь Готика, да и в ней поведение NPC было слишком заскриптованным. Я думаю, стоит посмотреть на NPC в TES4: Oblivion. По крайней мере, если у создателей получится нечто неплохое, то это только улучшит игру, причем сильно. Pokibor, я не уверен, что правильно понял твою мысль, но, по-моему, NPC не должны полностью быть завязаными на квестах.

Я имел ввиду AI, позволяющий динамически создавать квесты. Ведь покуда все заскриптовано, весь сюжет по сути и есть книга. Может, есть пара развилок, предусмотренных разработчками, но они погоды не делают. Хотелось бы такой AI, чтобы он действительно сам мог делать квесты (такое есть, напр. Корсары - ПКМ и III) и расчитывать их последствия (а такого НИГДЕ нет), возможно добавлять как результат выполнения квеста связанный с ним квест. Я бы не сказал, что это тянет на полноценный "человекоподобный" AI, по сути тут нужно всего лишь прописать логику мира игры, а не ее четкое прохождение, чтобы по этой логике AI сам генерил квесты, т.е. смотрит, например: в игрок 10 уровня вошел в деревню. По игровым характеристикам такой игрок достаточно силен, чтобы завалить пару волков. Подбегает к игроку староста деревни и говорит: "Тут волки у нас завелись, скот перетаскали, логово себе недалеко устроили - сходи, замочи их, ты же герой!" И подземельце соответствующее добавляет. Порвал герой волков, стал 12 уровня, AI смотрит, что волки едят не только овец, но и всяких больных животных, староста герою: "Спасибо, что волков убил. Но вот беда, появился у нас вдруг овечий грип неизвестно откуда, раньше такого не было - видать зря я тебя так радикально волков искоренить попросил. Найди источник и уничтож его..." Ну и так далее в том же духе.

L'ombre 23.03.2006 15:31

на мой взгляд реализуемо. Но коммерчески не выгодно для современных издателей.

Nie 23.03.2006 18:54

Я вижу что вы хотите сделать Ai схожий с человеческим? Ответ прост - никогда. Может конечно через много много 100 летий но мы уж точно до этого не доживем верно? :wnk: . Fi это понятие растяжимое. Кто когда нибудь пытался делать игры поймет меня. Все ОЧЕНЬ и ОЧЕНЬ сложно. Создать код который бы сделал на компьютере (в игре) хоть какое то разветвление, создание нового, случайность очень трудно. Это будет очень большой процесс с кучей всяких условий, не всем он под силу. Даже электроники и французы за это дело не берутся. Может оно и к лучшему...

pokibor 23.03.2006 19:36

Цитата:

Сообщение от Steam
Я вижу что вы хотите сделать Ai схожий с человеческим? Ответ прост - никогда. Может конечно через много много 100 летий но мы уж точно до этого не доживем верно? :wnk: . Fi это понятие растяжимое. Кто когда нибудь пытался делать игры поймет меня. Все ОЧЕНЬ и ОЧЕНЬ сложно. Создать код который бы сделал на компьютере (в игре) хоть какое то разветвление, создание нового, случайность очень трудно. Это будет очень большой процесс с кучей всяких условий, не всем он под силу. Даже электроники и французы за это дело не берутся. Может оно и к лучшему...

Я пытался. И не соглашусь с тобой. Такой AI, о котором пишу я, мне не кажется схожим с человеческим (собственно, он даже тест Тьюринга не пройдет). Конечно, о том, что это будет просто, никто не говорит, но это вовсе и не так сложно. Для познания AI хорошо описанного мира есть куча методов, например:
нечеткая логика
абдукция (фактически, комьютер может примерно как человек создавать новые правила)
нейронные сети ("черный ящик", но тормозит, да и обучать замучаешься...)
генетические алгоритмы
цепочки Маркова (поможет сделать речь связной)
и др. методы.
Я так считаю, что сделать их комбинацию, реализующую вышеописанное, вполне реально. Кто думает иначе - поправьте меня...

Xar 24.03.2006 00:28

pokibor
Цитата:

Я так считаю, что сделать их комбинацию, реализующую вышеописанное, вполне реально. Кто думает иначе - поправьте меня...
Может и реально - спорить не буду. По крайней мере, объединить все это в единый AI комплекс весьма и весьма трудно. Меня больше интересует другой вопрос. Все автоматически сгенерированные квесты обычно не отличаются особым разнообразием. Так приходят на ум Sacred и КР2 (Космические рэнджеры). Ни в одной из этих игр (да, впрочем, как и во многих других) нет полноценных случайных квестов. Так или иначе, но все они (квесты) сводятся к заданиям типа 'найди', 'убей', 'защити' и т.п. Даже текст таких 'случайных' квестов изначально забит. Да и такие квесты обычно гораздо скучнее, чем стандартные. Ты, как я понимаю, предлагаешь создать просто-напросто новый уровень игрового AI. Но вот незадача: как организовать случайные типы заданий, выходящие за рамки 'найди/убей'? Чтобы играть было интересно...

pokibor 24.03.2006 08:29

Цитата:

Сообщение от Xar
pokibor
Может и реально - спорить не буду. По крайней мере, объединить все это в единый AI комплекс весьма и весьма трудно. Меня больше интересует другой вопрос. Все автоматически сгенерированные квесты обычно не отличаются особым разнообразием. Так приходят на ум Sacred и КР2 (Космические рэнджеры). Ни в одной из этих игр (да, впрочем, как и во многих других) нет полноценных случайных квестов. Так или иначе, но все они (квесты) сводятся к заданиям типа 'найди', 'убей', 'защити' и т.п. Даже текст таких 'случайных' квестов изначально забит. Да и такие квесты обычно гораздо скучнее, чем стандартные. Ты, как я понимаю, предлагаешь создать просто-напросто новый уровень игрового AI. Но вот незадача: как организовать случайные типы заданий, выходящие за рамки 'найди/убей'? Чтобы играть было интересно...

Вот поэтому я и говорю о взаимостязи квестов. Квест в любом случае сводится к определенному набору "миссий", доступных в игре. А вот если AI будет создавать сразу линейку взаимосвязанных квестов, да еще и места их выполнения (что вполне логично - напр., волки организовали логово недавно, потайную дверь игрок раньше не замечал и т.д.), а также распределять награды В ЭТИ ПОДЗЕМЕЛЬЯ (причем некоторые награды могут служить стартовой точкой других квестов - еще один пример взаимосвязи - вроде как находит игрок в зачищенной гильдии воров именной перстень, и начинается новый квест - найти его владельца), то все пойдет куда интереснее. Для реализации этого AI можно, напр., забить некоторое кол-во понятий и возможную связь между ними, а потом проходом по такому графу генерить серию квестов. Или сделать что-то вроде цепочки Маркова (хм... практически одно и то же получается)...

Xar 25.03.2006 00:42

pokibor
В рамках стандартной RPG собрать квесты в цепочку возможно. Ничего не стоит увязать предмет с NPC, а NPC, допустим, с локацией и т.д. Другое дело, ты затронул вопрос гораздо глубже.
Цитата:

создавать ... еще и места их выполнения
На это можно смотреть исключительно скептически. Правда, я слышал, что в TES4: Oblivion динамически генерируются игровые пространства (лес). Но и в этом я точно не уверен. А больше примеров у меня нет. Динамическая генерация в 3D - штука очень и очень серьезная. То есть добиться тут каких-то успехов сложно. Да, кстати, если ты играл в Worms3D, то ты должен знать, что такое криво генерированные локации.
И еще один вопрос это текстовая начинка квестов. Моральная подоплека. Чтобы геймер был захвачен квестом. Ее то уж точно сейчас нельзя создать програмно. Вообще, заставить компьютер выводить на экран связный текст (автоматически, конечно) почти не реально. А еще увязать это с квестом. И здесь я тоже скептик.
P.S.: Пора уже рассказать темному народу (это я о себе), что такое 'цепочки Маркова'.

pokibor 25.03.2006 10:57

Цитата:

Сообщение от Xar
pokibor
На это можно смотреть исключительно скептически. Правда, я слышал, что в TES4: Oblivion динамически генерируются игровые пространства (лес). Но и в этом я точно не уверен. А больше примеров у меня нет. Динамическая генерация в 3D - штука очень и очень серьезная. То есть добиться тут каких-то успехов сложно. Да, кстати, если ты играл в Worms3D, то ты должен знать, что такое криво генерированные локации.
И еще один вопрос это текстовая начинка квестов. Моральная подоплека. Чтобы геймер был захвачен квестом. Ее то уж точно сейчас нельзя создать програмно. Вообще, заставить компьютер выводить на экран связный текст (автоматически, конечно) почти не реально. А еще увязать это с квестом. И здесь я тоже скептик.
P.S.: Пора уже рассказать темному народу (это я о себе), что такое 'цепочки Маркова'.

Локации в 3D генерить не так сложно. их можно составлять по тайловому принципу (в случае подземелий), по фрактальным алгоритмам (в случае открытых пространств). Скоро выйдет Hellgate:London, где, вроде, такую фишку обещают.
Цепочки Маркова в своей основе не имеют к AI никакого отношения. Это дискретный случайный процесс, где текущее состояние явно зависит только от предыдущего (т.н. "биграмма", более сложные случаи - от двух предыдущих ("триграмма"), от трех предыдущих ("тетраграмма") и т.п.). Теперь об их применениях в AI. Идея вот в чем: программа, например, читает текст, запоминает последовательность слов, а потом просто обходит цепочку Марова по одному из возможных путей, в результате чего получается вполне осмысленная фрза. Конечно, сам компьютерне понимает смысл того, что он сгенерил, но от этого можно избавиться, введя, например, некоторые "ключевые" слова. Сейчас цепочки Маркова применяются вместе с нейронными сетями в различных распознавателях речи, текста и т.п., но с тем же успехом могут применяться для их синтеза (что и происходит в некоторых проектах, вроде программ-чатеров и т.п.). Как пример, могу представить мою програмку (MASC), написанную по AI. Особо строго ее не судите, т.к. написана она была за один вечер (!!!), после осознания того, что наш первый проект (MICS) генерит из рук вон плохо из-за того, что второй человек в комманде плохо научился разбирать MIDI-файл. Моя программа, конечно, тоже не особо хорошо разбирает текст, но все-таки жить можно :sml:. Скачать ее можно тут (с исходниками, 6,02 MB ): www.webfile.ru/877191
Для работы программа требует BDE (у кого стоит Delphi или Borland C++ Builder, у того BDE, скорее всего, установлен) <искал у Borland'а - не нашел, потому закачаю ту версию, которая у меня есть, на webfile, 3.95 MB>: www.webfile.ru/877194
P.S. в распакованном виде программа занимает 175 Mb из-за парадоксовских баз данных - говорю же, я ее один вечер делал :sml:! В комплекте идут базы данных первому тому по "Властелина Колец" в русском и оригинальном английском варианте.

Xar 26.03.2006 00:22

Небольшой оффтоп.
pokibor
6,02 MB!!! Откуда такая цифра! Не, я столько качать не буду (хотя и хочется). У меня скорость GPRS-инета 115.2 кбит/с. Это же сто лет будет качаться. Желаю сделать облегченную версию.

pokibor 26.03.2006 11:13

Цитата:

Сообщение от Xar
Небольшой оффтоп.
pokibor
6,02 MB!!! Откуда такая цифра! Не, я столько качать не буду (хотя и хочется). У меня скорость GPRS-инета 115.2 кбит/с. Это же сто лет будет качаться. Желаю сделать облегченную версию.

Сама программа занимает в сжатом виде ~400 КБ. НО! с ней же идут еще базы данных... Я вообще могу выложить одни исходники и схему БД, это займет минимум (такой комплект "сделай сам"), только вот люди без Builder'а это не скомпилят, а если они еще не умеют создавать базы данных... ладно, сделаю так: разобъю на несколько частей и выложу их. Кому что надо - пусть качает.
Итак:
Минимальная комплектация (сама программа + пустая база данных), чтобы заработало - БД нужно сначала наполнить, для чего нажать на кнопочку "добавить файл" и указать достаточно большой txt-файл с текстом, причем с литературным, т.е. с правильными предложениями: http://webfile.ru/878407 (971 KB )
Тексты русского и английского первого тома "Властелина колец" (английский разбит по главам) в txt-файлах: www.webfile.ru/878408 (243 KB )
Исходники на Borland C++ Builder 6 и всякая доп. информация (на то, что написано в ReadMe-файле по поводу bat'ов внимание не обращать, это для полной версии): www.webfile.ru/878412 (104 KB )
Как видно, основной объем занимают уже созданные базы по "Властелинам Колец", а потому кто не хочет мучаться с их созданием - качайте полную версию.
А BDE нужен в любом случае...

L'ombre 28.03.2006 14:26

pokibor, MASC рекламируешь? А ведь MICS генерил из рук вон плохо не из-за плохого разбора midi-файла, а из-за несовершенности исходных данных (файлы были разные, с разными инструментами, разных авторов и т.д.).
Кроме того, если бы ты самостоятельно заново создал пустую базу данных в Borland Database Desktop, она бы весила не более сотни килобайт.
И ещё: чтобы посмотреть библиотеки, используемые процессом, проще всего взять far, F11 - process list, выбрать нужный процесс и F3 (желательно чтобы этот процесс к этому моменту выполнил какое-нибудь обращение к базе данных).

pokibor 28.03.2006 14:57

Цитата:

Сообщение от L'ombre
pokibor, MASC рекламируешь? А ведь MICS генерил из рук вон плохо не из-за плохого разбора midi-файла, а из-за несовершенности исходных данных (файлы были разные, с разными инструментами, разных авторов и т.д.).
Кроме того, если бы ты самостоятельно заново создал пустую базу данных в Borland Database Desktop, она бы весила не более сотни килобайт.
И ещё: чтобы посмотреть библиотеки, используемые процессом, проще всего взять far, F11 - process list, выбрать нужный процесс и F3 (желательно чтобы этот процесс к этому моменту выполнил какое-нибудь обращение к базе данных).

А я про MICS ничего и не говорю. И неясно, что ты понимаешь под "несовершенностью исходных данных". Если в файл есть инструменты - их тоже надо бы разбирать (я вовсе не хочу обидеть Connor'а, у него и так дел было по горло). А MASC порвал все ваши проекты на тряпки - это факт.
:shot: :rocket: :puls:
Я предпочитаю filemon/regmon. Они дают полную инфу в хорошей форме.
OFFTOP
Так... Ты меня знаешь, а я тебя нет...
В общем, тогда ты должен знать также и то, что MICS писал не я, а Connor. Я писал только работу с цепочками Маркова, а потом мне за один вечер пришлось быстро сделать что-то действительно работающее, чтобы вам всем показать, что цепочки Маркова - это не абы что. Потому и программа вышла несколько кривой. А сейчас у меня с БД возиться времени нет, даже новую создать пары минут жалко...
P.S. Use the Darkness that you have inside - I'll kill you myself, Connor...

L'ombre 28.03.2006 15:06

Под несовершенством понимаю неупорядоченный набор разнородных файлов. А времени для поиска упорядоченных файлов не было из-за разбора MIDI.
Цитата:

Сообщение от pokibor
OFFTOP
Так... Ты меня знаешь, а я тебя нет...

:) .. не совсем так. Ты на мою подпись посмотри. И ник перевести попробуй...

Цитата:

Сообщение от pokibor
Я писал только работу с цепочками Маркова,

Это я тоже знаю.

Цитата:

Сообщение от pokibor
Потому и программа вышла несколько кривой.

это не кривизна, просто размер принесён в жертву производительности

Цитата:

Сообщение от pokibor
P.S. I'll kill you myself, Connor...

You will try...

Vektor1987 29.03.2006 18:16

Народ, помогите оптимизировать адвенчуру в духе Broken Sword. У меня уже есть один играбельный уровень, где реализован нелинейный диалог, и использование предмета с последующими изменениями в сюжете.
Проблемы:
1) Не могу заставить программу воспроизводить анимацию формата divX
2) Игруха плоская (в смысле, не трёхмерная) и разрабатывается для разрешения 1024*768. Как сделать так, чтобы перед запуском программа меняла разрешение экрана (если у пользователя, к примеру, 1280*1024) и задавала параметр Fullscreen?
P.S. И всё это на Delphi 7. Заранее спасибо.

pokibor 29.03.2006 20:16

Цитата:

Сообщение от Vektor1987
Народ, помогите оптимизировать адвенчуру в духе Broken Sword. У меня уже есть один играбельный уровень, где реализован нелинейный диалог, и использование предмета с последующими изменениями в сюжете.
Проблемы:
1) Не могу заставить программу воспроизводить анимацию формата divX

Переведи его во что-нибудь нормальное, хотя бы для теста в uncompressed, а потом смотри, какой кодек заработает.
Цитата:

Сообщение от Vektor1987
2) Игруха плоская (в смысле, не трёхмерная) и разрабатывается для разрешения 1024*768. Как сделать так, чтобы перед запуском программа меняла разрешение экрана (если у пользователя, к примеру, 1280*1024) и задавала параметр Fullscreen?
P.S. И всё это на Delphi 7. Заранее спасибо.

Используй функции Windows API, в частности CreateWindowEx и т.д., т.е. сам создай окно для программы.
Можешь кое-что глянуть по этой ссылке: http://forum.vingrad.ru/index.php?sh...=16946&unread=
P.S. И лучше учи C++. А то большинство примеров для WindowsAPI на нем пишут.

ROLF 30.03.2006 14:05

А у меня вопрос как правильн делать аниамцию бега вот я в максе сделал человека вот как он стаит и как он бижит в течение 500 кадров
дальше как вот у меня есть поверхность на ней я помешаю допустим человека и загружаю текстуру стояшего человека потом при нажатие кнопки бег начинаем двигать персонажа и зиаодно загружаем анимацию бега( катарую я в максе сделал 500 кадров)? Я правильно предположил?

Xar 31.03.2006 00:12

ROLF
Цитата:

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

ROLF 31.03.2006 13:38

Xar
Спасибо.

Purgator 31.03.2006 16:57

Я всегда хотел создать игру, ты не знаеш какие нибудь бесплатные движки, где их найти, и как ими пользоваться?

pokibor 31.03.2006 20:11

irrlicht-0.12.0 - очень хороший движок на C++. С ним идет хелп и куча примеров, так что он достаточно просто осваивается. Я сейчас сам делаю игру с его использованием. Обрати внимание, что версии 0.9 и т.п. БОЛЕЕ РАННИЕ, чем 0.12. Насколько я знаю, версий, более поздних, чем 0.12 нет.
А, нет, вру... сейчас сам случайно наткнулся на версию 0.14: http://prdownloads.sourceforge.net/i...cht-0.14.0.zip . Начинаю качать сам...
P.S. Если кто знает версию, более новую, чем 0.14 - пишите! Как с этим в 0.14 - не знаю, но вот в 0.12 не грузились двоичные .x -файлы, а также некоторые .x - файлы, конвертированные PandaDX, неправильно отображались.
P.P.S. Если у кого-то будут вопросы по irrlicht - задавайте. Не могу сказать, что полностью его освоил, но вот игру с его использованием делаю, и вроде пока неплохо получается...

SkyLine 18.04.2006 19:46

Цитата:

Сообщение от pokibor
P.P.S. Если у кого-то будут вопросы по irrlicht - задавайте. Не могу сказать, что полностью его освоил, но вот игру с его использованием делаю, и вроде пока неплохо получается...

А его без разницы куда ставить? На borland builder или MSVS.
А че за игрушку пишешь??

pokibor 18.04.2006 20:31

Цитата:

Сообщение от SkyLine
А его без разницы куда ставить? На borland builder или MSVS.
А че за игрушку пишешь??

В irrlicht есть библиотеки для Visual Studio 2003/2005, gnu c++ и linux (видимо, для того же gnu c++). Поэтому под Builder,скорее всего,работать не будет. Под VS 2003 или 2005 - проверено,работает. Есть даже версия для 64-х разряднной.
Игра - стратегия по типу Heroes of M&M.

SkyLine 20.04.2006 17:09

Дайте пожалуйста линк или сами распишите как устанавливать UnDelphiX на Borland Delphi 7.

Xar 24.04.2006 01:25

У меня довольно сложный вопрос, и я не уверен, что точно смогу его сформулировать. Есть некий проект (с использованием DirectDraw), в котором объекты движутся с определенной скоростью. Движение объектов (изменение их координат) и их отрисовка осуществляется в бесконечном цикле (Do-Loop). Дело в том, что в зависимости от загруженности видео памяти (FPS) этот цикл выполняется быстрее или медленнее и, следовательно, сами объекты движутся быстрее или медленнее. Как сделать скорость объектов постоянной, независимой от FPS? Без использования Timer.

pokibor 24.04.2006 08:31

Использовать таймер. Тебе же нужно, чтобы объекты двигались с учетом реального времени. в любом языке должна быть функция, возвращающая время в миллисекундах, прошедшее с определенного момента в прошлом. обычно это время имеет тип unsigned long, т.е. 32-х байтовое беззнаковое целое (на 32-х битных системах). Только учти, что это время порой может переходить из своего максимального значения в 0 (раз в 49 дней, по-моему), и, по-хорошему, нужно уметь это дело обрабатывать.
---
Ага, в Windows API есть функция GetTickCount(), возвращающая время в миллисекундах, прошедшее с начала работы системы. Вот ее-то и используй. Ну и стандартную формулу физики путь = скорость * время. Только я не уверен, что эта функция по прошествии 49 дней непрерывной работы системы сбрасывается в 0, поэтому (по-хорошему) пиши на своем проекте: "не запускать на системе, непрерывно работающей более 49 дней!" :lol:
---
Вот цитата из MSDN (а в 0, оказывается, сбрасывается!):
GetTickCount

The GetTickCount function retrieves the number of milliseconds that have elapsed since the system was started. It is limited to the resolution of the system timer. To obtain the system timer resolution, use the GetSystemTimeAdjustment function.


DWORD GetTickCount(void);

Parameters
This function has no parameters.
Return Values
The return value is the number of milliseconds that have elapsed since the system was started.

Remarks
The elapsed time is stored as a DWORD value. Therefore, the time will wrap around to zero if the system is run continuously for 49.7 days.

If you need a higher resolution timer, use a multimedia timer or a high-resolution timer.

To obtain the time elapsed since the computer was started, retrieve the System Up Time counter in the performance data in the registry key HKEY_PERFORMANCE_DATA. The value returned is an 8-byte value. For more information, see Performance Monitoring.

Example Code
The following example demonstrates how to use a this function to wait for a time interval to pass. Due to the nature of unsigned arithmetic, this code works correctly if the return value wraps one time. If the difference between the two calls to GetTickCount is more than 49.7 days, the return value could wrap more than one time and this code will not work; use the system time instead.

DWORD dwStart = GetTickCount();

// Stop if this has taken too long
if( GetTickCount() - dwStart >= TIMELIMIT )
Cancel();
Example Code
Note that TIMELIMIT is defined as the time interval of interest to the application, in milliseconds.

Requirements
Client: Requires Windows XP, Windows 2000 Professional, Windows NT Workstation, Windows Me, Windows 98, or Windows 95.
Server: Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server.
Header: Declared in Winbase.h; include Windows.h.
Library: Use Kernel32.lib.

Xar 07.05.2006 00:21

У меня имеется следующий вопрос по поводу создания игры.
Хотя тут нужно хорошее знание физики.
Я собираюсь сделать некое подобие реальной физической модели в простой 2D аркаде. То есть у меня имеются, скажем, два объекта с разными массами (m и M) и начальными скоростями V1 и V2 (то есть, не скоростями, а их проекциями на оси). Эти объекты движутся и сталкиваются друг с другом. Непосредственно вопрос: по каким формулам можно вычислить скорости (то есть проекции скоростей) объектов после соударения.
Заранее благодарен.

Рэд Шухарт 07.05.2006 00:34

ох, если правильно помню:
m*v1+M*V2=m*V1'+M*V2',
где V1' и V2' - скорости после соударения.
ИМХО, так.

pokibor 07.05.2006 08:15

Приведеное выше - закон сохранения импульса (вообще он звучит как "импульс замкнутой системы материальных точек постоянен, т.е. СУММА(Mi*Vi) = const в любой момент времени (равенство - векторное!)"), в нем (в данном случае) 2 неизвестных - собственно V1' и V2', так что одним им не обойдешься. Обычно его дополняют законом сохранения кинетической энергии: (СУММА)MiVi^2 / 2 = const (считаю, что тут момент времени непосредственно перед соударением, а значит изменения потенциальной энергии не происходит). Но учти, что это идеальный случай абсолютно упругого соударения. При абсолютно неупругом (частицы слиплись) закон сохранения импульса будет СУММА(Mi*Vi)=((СУММА)Mi)*V (V - одна, нового тела), а при реальных будут потери энергии, переход ее в тепло и прочие малоприятные вещи.
P.S. Кстати, можно пользоваться также законом "угол падения = углу отражения (по отношению к нормали)" - он действует для материальных частиц также, как для лучей света :sml:. А еще не забывай про влияние притяжения, если у тебя оно есть. Впрочем, непосредственно на удар притяжение практически не влияет.

Xar 07.05.2006 15:00

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

pokibor
Ну ты уж слишком идеализировал. Конечно, выделение тепла и влияние притяжения это чересчур. Да и идея с углами не самая лучшая, так как я в своём проекте их вообще нигде не использую.

P.S.: Всем заранее спасибо. Да, в физике я не очень-то силён... :)

pokibor 08.05.2006 21:44

Энергия есть величина скалярная, так что разумеется нужно использовать только модуль вектора. Для решения сложных систем уравнений есть куча численных методов, например я вот выложил наши лекции по ЧМ (1.79 MB ): www.webfile.ru/939574

Xar 14.05.2006 02:04

Всем доброго времени суток!
В процессе создания игры у меня возник следующий глобальный вопрос. Как реализовать перемещение бота по игровому полю, основанному не на "клеточном" типе (не на матрице), а на ... как бы это сказать ... ... Короче, есть поле и на нём объекты (прямоугольные), заданные координатами x1, y1, x2, y2. Как сделать так, чтобы бот смог добраться из начальной точки в конечную, не натыкаясь на стены и т.п?
Первый жизненный пример, пришедший в голову: как боты в Counter Strike ищут пути? Насколько я знаю, там генерируются некие waypoint'ы, и боты ходят по ним. Может вы знаете, в чём сущность этого алгоритма.
Я думал и о другом варианте. Разбить поле на большое количество квадратных секторов и тем самым свести вопрос к прохождению бота по матрице. По крайней мере, тут я лучше смогу ориентироваться (наверное).
Ладно, надеюсь вы разобрались в моих каракулях и сможете дать дельный ответ. Хотелось бы узнать самый простой и удобный алгоритм.
Заранее спасибо.

P.S:
pokibor
Цитата:

Для решения сложных систем уравнений есть куча численных методов, например я вот выложил наши лекции по ЧМ (1.79 MB )
Тебе стоило сделать приписку к своему посту: "Простые смертные! Не пытайтесь понять эти записи! Они - для докторов математических наук!" По крайней мере, я ничего не понял. Совсем. Но всё равно, спасибо.

P0rn0|MAN 14.05.2006 15:26

Дайте ссылку (в ЛС) на учебник по созданию игр на С++ и движок от cs 2d очень нада!

pokibor 14.05.2006 21:47

Цитата:

Сообщение от Xar
Всем доброго времени суток!
В процессе создания игры у меня возник следующий глобальный вопрос. Как реализовать перемещение бота по игровому полю, основанному не на "клеточном" типе (не на матрице), а на ... как бы это сказать ... ... Короче, есть поле и на нём объекты (прямоугольные), заданные координатами x1, y1, x2, y2. Как сделать так, чтобы бот смог добраться из начальной точки в конечную, не натыкаясь на стены и т.п?
Первый жизненный пример, пришедший в голову: как боты в Counter Strike ищут пути? Насколько я знаю, там генерируются некие waypoint'ы, и боты ходят по ним. Может вы знаете, в чём сущность этого алгоритма.
Я думал и о другом варианте. Разбить поле на большое количество квадратных секторов и тем самым свести вопрос к прохождению бота по матрице. По крайней мере, тут я лучше смогу ориентироваться (наверное).
Ладно, надеюсь вы разобрались в моих каракулях и сможете дать дельный ответ. Хотелось бы узнать самый простой и удобный алгоритм.
Заранее спасибо.

Короче, задача поиска пути в графе. Ну тут есть несколько вариантов решения:
1) В играх типа Action, где от бота требуется мгновенная реакция на ситуацию и грамотное поведение, действительно по карте расставляются waypoint'ы и прописывается вероятность, что от текущего waypoint'а бот пойдет к конкретному близлежащему. Waypoint'ы обычно расставлены так, что путь от одного к другому можно найти, просто обходя препятсвия по простейшим алгоритмам, вроде алгоритма левой/правой руки и т.п. Про эти алгоритмы и рассказывать-то неудобно - бот просто идет по прямой к препятсвию, и, если натыкается на стенку, поворачивает направо/налево и идет вдоль стенки.
2) В стратегиях обычно используются более продвинутые алгоритмы вроде поиска в ширину/глубину (в чистом виде используются редко) и их производных. Самым популярным считается алгоритм A*. Про эти алгоритмы в сети очень много информации, ищи по таким ключевым словам:
поиск в глубину
поиск в ширину
лучевой алгоритм посика
двунаправленный поиск
алгоритм A и A*
алгоритм Дейкстры

Цитата:

Сообщение от Xar
P.S:
pokibor

Тебе стоило сделать приписку к своему посту: "Простые смертные! Не пытайтесь понять эти записи! Они - для докторов математических наук!" По крайней мере, я ничего не понял. Совсем. Но всё равно, спасибо.

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

P.S. Лично я в своей игре использовал алгоритм поиска в ширину - он неплохо работает на прямоугольных и даже гексовых полях, если нет типов местности разной проходимости, а есть только препятсвия.

cHupa 10.06.2006 22:52

Народ помогите.
Дайте толковую ссылку (желательно в ЛС), на хорошие сайты по Borland Delphi, или написание своего движка на Delphi C НУЛЯ.
Заранее всем спасибо.

razor21 16.06.2006 19:58

Цитата:

Сообщение от cHupa
Народ помогите.
Дайте толковую ссылку (желательно в ЛС), на хорошие сайты по Borland Delphi, или написание своего движка на Delphi C НУЛЯ.
Заранее всем спасибо.

В принципе вот тебе ссылочка: http://www.delphi.narod.ru . Там есть линки может там че найдешь.

Ferago 19.06.2006 19:58

Я с одними ребятами пробовал игру делать, мне поручили сюжет писать, но я так ничего дельного и не написал, так всё и прошло :)
С какого языка лучше начинать ? Я вот хочу простенькую прогу сделать,или хотя бы текстовую игру. Или прогу, где картинка с кнопкой внизу, нажимаешь, происходит действие и т.п.
Подскажите где можно или Дельфи, или Визуал Бейсик скачать.

TGX 19.06.2006 20:04

Если выбирать из "Дельфи" или "Визуал Бейсик", то выбирай "Дельфи"!

pokibor 19.06.2006 20:55

Ну скачать вряд ли где можно, разве что из пиринговых сетей. А вот у пиратов купить - вполне. Вообще говоря, лучше сразу учить C++ по толковой книжке, но из Delphi и VB разумеется лучше учить Delphi!

Xar 21.06.2006 13:13

Всем
Кто-нибудь знает, как можно быстро высчитывать FPS при работе с DirectX. Я имею в виду, чтобы значение FPS обновлялось постоянно (чтобы понять о чём речь, откройте Winamp. Далее следуйте Help > About Winamp > Credits. В появившемся окне FPS обновляется постоянно).

pokibor 21.06.2006 14:09

Ну, то, что оно обнвляется постоянно, понятно. А высчитать его просто - ведь FPS, по сути, то, сколько раз в секунду выполняется рендеринг в цикле, поэтому просто учитывай реальное время с точность до миллисекунды (можно и до секунды, тогда первая секунда сбрасываетя...). Например, использую функцию Windows API GetTickCount().

На примере вряд ли скажу, т.к. под чистым DirectX уже давно не писал, но примерно так:
Код:

Old = число миллисекунд
FrameNumber = 0
Стартуем цикл
        Рендеринг
        New = число миллисекунд
        if (New - Old > 1000) {
                Old = New
                FPS = FrameNumber
                FrameNumber = 0
        }
новый виток цикла


Xar 21.06.2006 14:38

Цитата:

Сообщение от pokibor
Ну, то, что оно обнвляется постоянно, понятно.

А вот и нет. FPS в твоём примере (я им всё время и пользовался) обновляется каждую секунду. А в указанном мною примере (в Winamp'e) ясно видно, что FPS обновляется гораздо чаще.

pokibor 21.06.2006 16:25

Вообще-то FPS = Frames Per Second, т.е. они должны обновляться каждую секунду. Но если уж тебе не терпиться обновлять их чаще, просто вместо 1000 миллисеунд используй, например, 100, и умножай результат в 10 раз.

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

Кстати, для игровой механики FPS не играют никакой роли. Практически всегда нужно знать лишь время, за которое рендерился предыдущий шаг цикла.

~Dart_s@nCHo 23.06.2006 22:50

Мля, поручили знакомы найти бесплатный 2D-движок, а что именно выбрать - не знаю! Подскажите, плиз!

Айдес 23.06.2006 23:12

1) У меня такой вопрос: какой компилятор С++ наиболее идеально подходит для гейм-кодинга? Предугадывая ответ сразу спрошу, MSVC какой версии лучше всего брать для этих целей?

2) Вопрос к pokibor'y: для какого компилятора(или компилятор не имеет значения?) предназначен упомянутый тобой выше бесплатный движок?

3) Какие ещё есть бесплатные движки(3D) на С++(а также для Delphi кроме DelphiX и GLScene)?

От себя добавлю, что неплохим стартом для понимания игрового программирования будет изучение ActionScript - языка идущего в комплекте с Macromedi Flash. По форме он похож на С++, однако игтеграция его в графическую систему позволяет намного быстрее получать результат. AC идеально подходит для написания аркад, а в этом жанре, как известно, можно воплотить практически любые идеи.

//Это была не реклама, :) а чистая правда...

И напоследок ещё вопрос: кто-нибудь пытался писать моды для HL2?

pokibor 23.06.2006 23:42

Цитата:

Сообщение от ~Dart_s@nCHo
Мля, поручили знакомы найти бесплатный 2D-движок, а что именно выбрать - не знаю! Подскажите, плиз!

Irrlicht. В нем есть много всего для работы как с 3D, так и с 2D. А вообще, в любом 3D движке есть также функции для 2D.

Цитата:

Сообщение от Айдес
1) У меня такой вопрос: какой компилятор С++ наиболее идеально подходит для гейм-кодинга? Предугадывая ответ сразу спрошу, MSVC какой версии лучше всего брать для этих целей?

На самом деле, все равно. Основные библиотеки везде одинаковые, глюки тоже. Но бери уж последний - .NET 2005. В нем можно писать не только под .NET, но и по-старинке - Win32 Application. Вот так и пиши. Ну или Console для начала.

Цитата:

Сообщение от Айдес
2) Вопрос к pokibor'y: для какого компилятора(или компилятор не имеет значения?) предназначен упомянутый тобой выше бесплатный движок?

Irrlicht, насколько я мог понять, подходит практически под любой компилятор, однако скомпиленные исходники есть только под Visual C++ .NET, причем в двух вариантах - Win 32 Application и .NET. Под остальные придется компилить самостоятельно, хотя есть краткая инстуркция по компиляции под Gnu C++ (как под Windows, так и под Linux) и 64-битной версией Visual Studio.
Цитата:

Сообщение от Айдес
3) Какие ещё есть бесплатные движки(3D) на С++(а также для Delphi кроме DelphiX и GLScene)?

Для Делфи больше ни о чем не слышал. Для C++ движков куча - всякие Ogre, старенький Genesis3D (хотя он больше на конструктор походит) и др. Кстати, для .NET на Irrlitch можно писать на любом .NET-языке (Visual Basic, C#,...)
Цитата:

Сообщение от Айдес
От себя добавлю, что неплохим стартом для понимания игрового программирования будет изучение ActionScript - языка идущего в комплекте с Macromedi Flash. По форме он похож на С++, однако игтеграция его в графическую систему позволяет намного быстрее получать результат. AC идеально подходит для написания аркад, а в этом жанре, как известно, можно воплотить практически любые идеи.

Не вижу смысла. Впрочем, Flash я ненавижу по чисто личным причинам :sml:, никакого отношения к объективной оценке не имеющим. Но точно могу сказать, что аркаду достаточно просто можно написать на любом движке.

Evil.Hard 26.06.2006 23:25

Код:

void CFPSCounter::registerFrame(u32 now)
{
        framesCounted++;

        u32 milliseconds = now - startTime;

        if (milliseconds > 2000)
        {
                fps = (s32)((f32)framesCounted / ((f32)milliseconds / 1000.0f));

                startTime = now;
                framesCounted = 0;
        }
}

пример того как считается FPS в Irrlicht'e.
Функция вызывается каждый раз после рендера.
Для тех кто не копался в движке:
f32 - обьявлено как typedef float
s32 - как typedef signed int

FPS возврашается другим методом класса... который просто возвращает значение framesCounted

Pokibor +1 - тут и добавлять то не че к ответу вроде как...

Xar 02.07.2006 01:56

Всем
Я хотел бы выложить в ближайшее время демо-версию своей собственной аркады на обозрение форуму Игромании. Подскажите какие-нибудь хостинги, где файл сможет храниться постоянно (а не как на Webfil'e неделю). Заранее благодарен.

razor21 02.07.2006 22:23

Xar
http://www.slil.ru - файл храниться 30 дней с момента последнего скачивания! Т.е. если твою игру будут постоянно качать, то есть возможность, что он ваще не удалиться!
И еще к тебе вопрос: На чем игру пишешь? С кем?

Xar 03.07.2006 01:26

razor21
Благодарю.
Демо выложу в ближайшие дни (надо довести ещё кое-что до ума).
Цитата:

Сообщение от razor21
На чем игру пишешь? С кем?

Только не смейся. OK?
На Visual Basic.
Один, на собственном движке и с собственной графикой. Правда немного с графикой помог друган, но и только.

razor21 04.07.2006 18:43

Xar
да нет смеяться я не буду! А почему ты не выбрал язык более высокого уровня и более мощный? А какой жанр?

Xar 05.07.2006 01:03

Цитата:

Сообщение от razor21
А какой жанр?

Аркада.
Цитата:

Сообщение от razor21
А почему ты не выбрал язык более высокого уровня и более мощный?

Потому что для этого его сначала нужно изучить. Я C++ уже пол-года собираюсь освоить, всё никак не начну.

Crosswise 08.07.2006 10:44

Можно вопросик?
КАК ДЕЛАТЬ ИГРЫ???
какие для этого проги,как создавать прог. файлики?
Помогите,пожалуйста!

ROLF 08.07.2006 13:49

Skiminog
Для этого нужно знать хотябы один язык програмирования и движок на катором писать игру!
Но можно пойти проще для новичка предложу программу RPGMaker для создание RPG игр, там всё просто весит 20 мег в инете леко найти если запустиш разобраться будет несложно никакого знания языка програмирования по началу ненадо, вобщем если скачаеш непожелееш, сам на ней сейчас игру делаю( и ресурсов инете полно).

razor21 10.07.2006 18:27

Skiminog
А ты вообще знаешь какой-нибудь язык программирования?
В принципе зря я это спросил, т.к. ты даже не знаешь, как делать игры!
ROLF
Через такие программы не интересно делать игры!!! Тебя не мучает такое чувство, что эту игру сделал не ты?

razor21 10.07.2006 23:14

Что больше ни у кого нет вопросов? Есть, задавайте!

ROLF 11.07.2006 07:59

razor21
Цитата:

Через такие программы не интересно делать игры!!! Тебя не мучает такое чувство, что эту игру сделал не ты?
да такое чувтво бывает парой, но что делать если нескем больше делать игры а в одного целую игру я невытяну!

razor21 11.07.2006 18:49

ROLF
разве нет выхода из этой ситуации? Обратись к людям понимающим... можешь например у меня что-нибудь попросить, если будет время я помогу.

Xar 12.07.2006 00:21

Цитата:

Сообщение от razor21
да такое чувтво бывает парой, но что делать если нескем больше делать игры а в одного целую игру я невытяну!

Значит, чёрт возьми, плохо тянешь! Запомни простое правило: лучше не пытайся сделать что-то грандиозное, если программистский опыт у тебя небольшой. Я по себе это знаю. Я всегда писал игры один. Сколько раз я брался за масштабные проекты - так ни одного и не закончил. Начни с каких-нибудь крестиков-ноликов или, прости Господи, морского боя.

ROLF 12.07.2006 02:19

razor21
Цитата:

разве нет выхода из этой ситуации? Обратись к людям понимающим... можешь например у меня что-нибудь попросить, если будет время я помогу.
Спасибо будут вопросы спрошу!
Xar
Цитата:

Значит, чёрт возьми, плохо тянешь! Запомни простое правило: лучше не пытайся сделать что-то грандиозное, если программистский опыт у тебя небольшой. Я по себе это знаю. Я всегда писал игры один. Сколько раз я брался за масштабные проекты - так ни одного и не закончил. Начни с каких-нибудь крестиков-ноликов или, прости Господи, морского боя.
Опыт в програмирование хоть небольшой но есть! пробывал делать крестики нолики для сети!
у меня с моделированием и рисованием плохо!

Xar 12.07.2006 14:32

Цитата:

Сообщение от ROLF
у меня с моделированием и рисованием плохо!

Ах вот оно что! Я тоже в своё время по этому поводу сильно парился. И нашёл для себя только один выход. Сначала как можно больше всего надо написать, а на первых порах модели либо откуда-нибудь содрать, либо нарисовать хоть в Paint'e 'болванчиков'. Если ты собираешься делать игру в одиночку, то графику надо оставить на потом. Ну или попросить кого-нибудь из знакомых о помощи.

razor21 12.07.2006 18:52

Цитата:

Сообщение от Xar
Начни с каких-нибудь крестиков-ноликов или, прости Господи, морского боя.

:lol:

Айдес 12.07.2006 21:43

razor21
Напрасно ты смеешься. На таких простых проектах легче всего набить руку в создании AI. Крестики-Нолики особой сложности не вызовут, и будешь ты играть в постоянную ничью. А вот попробуй сделать аналогичную игру - "Го-Моки": поле неограничено, и необходимо выстроить пять в ряд своих элементов. Хороший тренинг.

razor21 12.07.2006 22:12

Айдес
Это хороший тренинг для начинающих! Для тех, кто только собирается работать с AI.
Цитата:

Сообщение от Айдес
"Го-Моки"

Что за игра? Японская чтоли? :)) :))

NekoNe 12.07.2006 22:30

Люди расскажите про Bump маппинг. Я делаю движок под OpenGL и не очень представляю вообще что это такое (((
Заю только что так красивее)

razor21 12.07.2006 22:37

Как же это так? Ты пишешь движку OpenGL и не знаешь что такое Bump-mapping!!! Скажу тебе так: с ним действительно все красивее, красивее всё! Я с OpenGL работал мало и не тесно, и поэтому много об этом незнаю! Так сказать, *помог чем мог!*

NekoNe 12.07.2006 22:56

:mad: мне бы узнать как енто реализовать

Xar 13.07.2006 00:39

Моя игра:
Крестики-нолики на 5 клеток ("Го-Моки")

Цитата:

Сообщение от Айдес
А вот попробуй сделать аналогичную игру - "Го-Моки": поле неограничено, и необходимо выстроить пять в ряд своих элементов. Хороший тренинг.

http://slil.ru/22919028
AI, как мне кажется, весьма неплох. Интерфейс тоже. Правда игру эту я сделал около полугода назад. За отсутствие глюков не ручаюсь.

Цитата:

Сообщение от NekoNe
Люди расскажите про Bump маппинг.

Для текстуры подбирается карта высот (Height Map), и на её основе сама текстура видоизменяется. Карта высот создаёт мнимую рельефность, а затем на этой основе к текстуре подбираются мнимые тени и блики. Благодаря им всё и выглядит так круто.

Evil.Hard 13.07.2006 23:31

АИ вот только вроде ни чем не отличается)))
а так молодца)))

ROLF 14.07.2006 13:41

Xar
прикольно сделал на чём писал я так думая по весу игры скорее всего на си?
Блин а я на делфи у простых крестиков ноликов AI написать то немогу только проги пишу вот сейчас проигроваиель доделываю если надо могу скинуть!
Может кто подсказать где почитать или исходы посмотреть про AI на delphi 7?

Xar 14.07.2006 16:45

Цитата:

Сообщение от ROLF
прикольно сделал на чём писал я так думая по весу игры скорее всего на си?

Ан нет! Не угадал. Писал на Visual Basic. Может тебя, конечно, интерфейс ввёл в заблуждение...
Что касается AI, то, на самом деле, чтобы сделать нормальный интеллект нужно много поразмышлять о его логике. Лучше всего представить, что в той или иной ситуации сделал бы человек, а затем это действие прописать компу. Вообще - это очень сложный вопрос, а я здесь далеко не специалист...

razor21 14.07.2006 22:27

ROLF
Ха! По размеру файлов взялся определять язык! Определять надо по другому!
Цитата:

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

Если уметь хорошо программировать, то писать ИИ не так уж и сложно, хотя не так уж и просто! Ты правильно сказал - нужно ставить себя на место компа и задавать ему команды: что бы он сделал, если было бы так, а что бы он сделал, если было бы так.

ROLF 16.07.2006 13:39

razor21
не просто делфи визуальный язык и просто пустой проет весить 300 кб а бейсик тоже визуальный вот просто и предположил что скорее всего на Cи
обычно проекты на си мало весят!
Xar
Цитата:

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

razor21 16.07.2006 14:40

ROLF
Проекты на С++ обычно весят больше, чем на VB.
Цитата:

Сообщение от ROLF
я пока немогу представить как это в коде реализовать ели в клетка 3 на 3 то это легче а вот как на таком большом поле чтот неполучается!

Я тебя не понимаю, как это так если ты ожешь написать на 3 клетки, а почему на большой площадке не можешь? Делай по такому же принципу! Только обдумай более тщательно!

Alesandro 16.07.2006 16:05

А у меня вопрос - Где книжку в Питере можно приобрести по "Игроделанию"?
Может замутим что-нибудь вместе...

razor21 16.07.2006 16:20

Alesandro
Есть много всяких книг, но ты обратился не в ту тему, тебе надо в Поиск документации. А что ты решил книгу купить и сразу делать совместный проект? ха

Alesandro 16.07.2006 16:26

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

razor21 16.07.2006 16:39

Alesandro
Тебе не сюда!

Alesandro 16.07.2006 18:03

Вот спасибо! А то я не догадался...

=\/=SITH=\/= 17.07.2006 16:44

Alesandro
Чувак, что умеешь, пиши мне в личку, мы щас кое-что мутим, таланты нужны =)

razor21 19.07.2006 00:01

Так. Ребят, мне очень нужен 2d движок (бесплатный) для C++ Builder 6. Подскажите, пожалуйста!

PLA.Tramp 06.08.2006 10:41

ЛЮДИ!!!
вот я делаю адон но он больше получится как полноценаая игра на движке всем известного блицкрига2
там все будет другое. .

так вот если я почти все закончу тоесть игра когда подойдет к уже выпуску можно ли будет её куда нибудь отдать тоесть
чтобы её издавали??? извините за делитантский вопрос =))

Рэд Шухарт 06.08.2006 11:10

PLA.Tramp
Ниваловцам отпиши, может согласятся

PLA.Tramp 06.08.2006 11:30

спасибо

razor21 07.08.2006 21:08

PLA.Tramp
Можно в Акеллу.

PLA.Tramp 08.08.2006 08:10

мона вот тока я незнаю лучше ли сразу сделат ьигру или сначала найти распрастронителя?

Grotesque 08.08.2006 15:55

Цитата:

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

PLA.Tramp 08.08.2006 19:34

хмм
просто там довольно орегинальный сюжет и подход =)
ну я так сделаю версию на 60% и потом дему =)
спасибо!
есть еще советы

razor21 09.08.2006 18:16

Цитата:

Сообщение от PLA.Tramp
есть еще советы

хм... ты спроси, что тебя интересует, а мы уж ответим.

Evil.Hard 10.08.2006 05:37

Чтоб найти издателя тебе нужно сначала:
Написать офигительный диздок.
Сделать офигителбную демку где будут реализовано как можно больше фич
которые будут присутствувать в оригинальной игре.
Заверить издателя любыми способами что етот проэкт не загнется ещо до выпуска.
Слушаться издателя если получишь всетаки контракт
Например те могут сказать упростить офигительную файтинговую систему самый простой пример етому - "Хроники Ридика" где файтинговая система была настолько сложной что ее решили вырезать в самом конце перед релизом игры. конецно про файт систем сказано просто в пример

Ну а если получишь издателя то он тебя обеспечит финансами нужными для разработки проэкта в той степени чтобы его можно было смело показать миру
Ну и если что то не ладиться с проЭктом то он тебе может предоставить специалиста в той сфере которую тебе надо т.е. там где трабла возникла.
так как если издатель вбухал в тя деньги то ему будет не выгодно терять проЭкт ещо на стадии разработки.

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

Короче говоря с издателем ещо дел похлеше !

Есть конечно вариант организовать продажу своей игры как ето реализовано в стиме... но ето тебе придеться поднапрячся с разработкой такой системы )))

А с адоном тебе лучше всего соваться к издателю который реализовывал локализацию оригинальной игры
Так как наврядли за ето дело возьмуться издатели которые не указаны в авторских правах
Поетому пробывать лучше всего к оригинальному локализатору/издателю - будет намного больше шансов обрести себе КРЫШУ)))

Конечно много левого написал не относящегося к твоему вопросу но думаю кому нить другому приголиться

PLA.Tramp 10.08.2006 17:45

не это все мне надо а вот если я сначала всю игру сделаю а потом тока буду искать распростронителей то получается и денег будет меньше(хотя делаю не из за них) и просто

хотя кажется так проще

pokibor 10.08.2006 19:17

Цитата:

Сообщение от PLA.Tramp
не это все мне надо а вот если я сначала всю игру сделаю а потом тока буду искать распростронителей то получается и денег будет меньше(хотя делаю не из за них) и просто
хотя кажется так проще

Вообще говоря, так проще игру как sharware распространять. Тогда и деньги все тебе идти будут, и ни с кем связываться не будешь. Распространителя имеет смысл искать только если надеешься, что он оплатит процесс разработки игры. А вот если твоя sharware-игра наберет популярность, вполне какая-нибудь компания может предложить тебе нарезать ее на диски и заплатит денег. По-моему, примерно так с "Пингвином" (хотя он вроде как freeware...) было.

PLA.Tramp 11.08.2006 08:09

Цитата:

Сообщение от pokibor
так проще игру как sharware распространять

спасибо но все же как это осуществить =)
(всем кто отвечал на выше посты + ставил)

pokibor 11.08.2006 09:08

Придумываешь защиту игры, требующую ввода некого пароля, желательно зависящего от нескольких параметров, сообщенных пользователем (например, от его имени и e-mail'а). Без ввода этого пароля пользователю доступен только демонстрационный уровень. Для получения пароля требуется тебе заплатить (в способах интернет-оплаты я не специалист...). Потом выкладываешь игру на серверах для freeware/sharware программ, благо их полно в интернете.

PLA.Tramp 11.08.2006 11:18

хмм неплохая мысль =)
а вот сколько средние кол-во уровней должно быть?

pokibor 11.08.2006 12:02

Цитата:

Сообщение от PLA.Tramp
хмм неплохая мысль =)
а вот сколько средние кол-во уровней должно быть?

Чем больше, тем лучше :sml:
Вообще говоря, главное, чтобы уровни были разнообразными и интересными, а то когда в сотый раз строишь одну и ту же базу, мочить одним и тем же оружием одних и тех же монстров и т.п. - это кошмар. В общем, тут ограничение накладывает скорее твой талант левелмейкера, чем что-либо еще.

PLA.Tramp 11.08.2006 13:26

=) там небольшая альтернатива великой отечественной и сам геимплей будет менятся тоесть по моим идеям там будут интересные задумки
тока вот я еще незнаю какую сложность задавать =) так и охото чтоб по сложней но ведь так нельзя?

pokibor 11.08.2006 14:42

Ну так сделай несколько сложностей. Например, на низкой у игрока будет бонус во всем (T-34 будет "Тигру" за полкарты башню сносить :sml:), а на сложной - наоборот, у компа будет фора. А AI везде одинаковый. Так и проблем меньше, и сложности есть. Хотя AI тоже можно урезать, но это зависит от того, как он будет реализован.
Или вот например: миссия - спасти, например, командира на танке. На низкой сложности он будет бессмертным, а на высокой - вполне смертным, и нужно будет поторапливаться, пока враг до него не добрался

PLA.Tramp 11.08.2006 15:38

ха впринципи верно =)
спасибо мож есть еще какие то хитрости?

Grotesque 12.08.2006 18:57

Цитата:

спасибо мож есть еще какие то хитрости?
Нафига? Способ pikobor'а - самый лучший. И лёгкий.

S@intMan 14.08.2006 13:39

Помогите! Я хочу заняться разработкой игр!
Подскажите где мне взять какую-нить инфу.
(для очень начинающих:lamo: )

pokibor 14.08.2006 14:51

Сперва выучи язык программирования вроде C++! Без знания языка в геймдеве делать нечего :sml:.
А инфу смотри здесь: http://www.gamedev.ru/ и здесь: http://www.gamasutra.com/. Ну и еще здесь по Visual Studio-языкам: http://msdn2.microsoft.com/en-us/default.aspx. Тебе, думаю, хватит.

S@intMan 17.08.2006 14:56

Спасиба!

А чем отличается C++ от C++ Express Edition?

pokibor 17.08.2006 16:48

Цитата:

Сообщение от xOlegusx
Спасиба!
А чем отличается C++ от C++ Express Edition?

По ходу дела, C++ Express Edition - бесплатный компилятор C++ от Microsoft (только сейчас узнал, ранее о нем вообще не слышал). Как следствие, с ним много проблем (какие-то там с Windows API вроде отсутствие файла Windows.h проблемы есть...), в общем - в топку. Лучше покупай Visual Studio 2003 или 2005 и не парься.

Evil.Hard 17.08.2006 20:54

http://www.uraldev.ru/news/detail.php?ID=341
http://www.gamedev.ru/community/xna/

Довольно интересный ход от майкрософт - выпускает свою среду для разработки игр XNA Game Studio Express

Думаю покибору понравиться - так как будет на C#

pokibor 17.08.2006 21:23

Цитата:

Сообщение от Evil.Hard
http://www.uraldev.ru/news/detail.php?ID=341
http://www.gamedev.ru/community/xna/
Довольно интересный ход от майкрософт - выпускает свою среду для разработки игр XNA Game Studio Express
Думаю покибору понравиться - так как будет на C#

Ну уж нет! Писать ИГРЫ на C# - маразм еще тот! Откуда же скорось возьмется без ссылок и с автоматической уборкой мусора? C# - великолепный язык, но писать на нем максимально использующие ресурсы компа приложения (коими игры и являются) - это, imho, просто глупо. Был у меня один опыт написания на C# игры - к счастью, далеко проект не зашел, т.к. к нему был потерян интерес... И я рад этому, а то столько время в пустую бы потратил!

А Майкрософт - молодец! Деньги знает откуда получить. Пожалуй, первые лет 5 это ему очень неплохие пачки зеленых купюр обеспечит, ну а дальше придумает еще источники :sml:

L'ombre 18.08.2006 11:43

Цитата:

А вот профессиональный набор XNA Game Studio Professional для крупных разработчиков появится только весной следующего года
Бесплатная среда для начинающих разрабртчиков - это одно, а вот профессиональная..
Цитата:

Сообщение от pokibor
Писать ИГРЫ на C# - маразм еще тот!

Разработчики это знают.. Интересно, будут ли они приобретать эту вещь

Evil.Hard 20.08.2006 23:03

=) Ну да они ето очень хорошо знают...
Так как сто пудову под XBox 360 игры пишуться на етом самом пресловутом языке...
Да и кстати по уборке муссора в играх написаных на С++ тож надо мозги напрягать и писать очистку всего что уже не нужно в лучшем случае
Етого конечно могно не делать но уж лучше постараться чтоб все чисто было)))

pokibor 20.08.2006 23:18

Цитата:

Сообщение от Evil.Hard
=) Ну да они ето очень хорошо знают...
Так как сто пудову под XBox 360 игры пишуться на етом самом пресловутом языке...
Да и кстати по уборке муссора в играх написаных на С++ тож надо мозги напрягать и писать очистку всего что уже не нужно в лучшем случае
Етого конечно могно не делать но уж лучше постараться чтоб все чисто было)))

Работа с памятью - штука вовсе не напрягающая и весьма полезная, к ней просто нужно привыкнуть. Честно говоря, я так к ней привык, что первое время работы на Java и C# меня дико бесило отсутствие в них возможности сказать интерпритатору: "А ну удали этот объект из памяти НЕМЕДЛЕННО! Мне он больше не нужен!" Если же ВСЕ игры под XBox 360 и правда будут писаться на .NET, то этот ТАКОЙ смех будет! Приставка долго не проживет, ибо отсутствие возможности оптимизации игры по памяти (а следовательно, и по скорости, ибо функция уборки мусора тоже кушать просит, и неплохо) - большой минус.

И, несколько отходя от темы, но про память: как не странно, не все знают, что объект в C++ вполне может уничтожить сам себя, достаточно в его методах там, где это нужно, delete this; прописать. Главное - не делать этого в деструкторе, т.к. тогда это бесконечный вызов этого самого деструктора вызовет :sml:. Данным трюком я пользовался при создании взрывов и пр. во все еще делаемой игре: взрыв сам следил за тем, сколько времени ему еще осталось жить, и по истечении этого времени сам удалял себя из списка взрывов и из памяти.

Evil.Hard 21.08.2006 11:04

Цитата:

Сообщение от pokibor
И, несколько отходя от темы, но про память: как не странно, не все знают, что объект в C++ вполне может уничтожить сам себя, достаточно в его методах там, где это нужно, delete this; прописать

Дак delete this и вызывает сам деструктор такто ))) поетому и возникает такая ботва при вызове етого метода в деструкторе )))

К тому же знаю чела который пишет свой движок на С#...
Ни каких проблем у него етот язык у него не вызывает...
Да и картинка выдаваемая движком уже даже счас смотриться очень хорошо...
Могно даже сказать у него в скором времени получиться next-gen движок)))
И пишет он для того чтобы потом етот движок использовать на XBox

Вот сами посмотрите скрины и видео из его двигла...
http://forum.uraldev.ru/index.php?showtopic=144&st=20
Ближе к концу темы там лучше скрины )))

ROLF 21.08.2006 14:16

у меня вопрос на каком имено C++ пишут игры есть же несколько версий
майкрасофт визуал C++, borland C++, на каком имено пишут игры?

pokibor 21.08.2006 14:40

Цитата:

Сообщение от ROLF
у меня вопрос на каком имено C++ пишут игры есть же несколько версий
майкрасофт визуал C++, borland C++, на каком имено пишут игры?

За все игры сказать не могу, но подавляющее большинство профессиональных пишутся на Visual C++. Версии у всех разные, благо по написанию Win32-приложений VC 6 от VC из Visual Studio 2005 не сильно отличаются (я бы даже сказал совсем не отличаются). А вобще, игру гипотетически можно и в блокноте написать, а потом любым компилятором скомпилить.

ROLF 22.08.2006 04:07

pokibor
Тоесть мне сейчас надо учить Visual C++? можеш ссылку дать где её можно скачать?

pokibor 22.08.2006 09:56

Цитата:

Сообщение от ROLF
pokibor
Тоесть мне сейчас надо учить Visual C++? можеш ссылку дать где её можно скачать?

Скачать - разве что в пиринговых сетях, Visual Studio .NET продается минимум на трех дисках. Шестерки (последняя версия до .NET) я не видел в продаже уже давно, но она была на одном диске. Впрочем, может где-то есть Visual Studio .NET, урезанная до одного только C++. А вообще можешь попробовать упомянутый в сообщениях выше C++ Express Edition - но где его скачать, я также не знаю. Попробуй поискать на сайте Microsoft.

ROLF 24.08.2006 13:37

Просто я всегда думал что игры пишут на невизуальных языках?

pokibor 24.08.2006 13:49

Цитата:

Сообщение от ROLF
Просто я всегда думал что игры пишут на невизуальных языках?

При написании игр не используется "визуальный" режим, т.е. конструктор формы, только и всего. Или ты думаешь, что "визуальный язык" - это такой язык, в котором тебя ЗАСТАВЛЯЮТ делать форму? Игры пишутся, как правило, с нуля либо на готовом движке, при этом окно создается функциями Windows API или движка (в котором оно создается также функциями Windows API :sml:).

L'ombre 24.08.2006 13:52

Цитата:

Сообщение от ROLF
на невизуальных языках

А что есть визуальный язык? :)
Скажем, если считать визуальной средой BCB и Delphi, то MS VC++ по "визуальности" им серьёзно проигрывает. (при установке Builder'а в списке его фич значится нечто вроде "возможности конвертирования из VC++ и других невизуальных сред")
Не помню точно, когда C++ от Microsoft приобрёл приставку Visual, но произошло это, с одной стороны, из маркетинговых соображений (теперь в MFC-приложениях в диалоговых окнах можно мышкой рисовать элементы управления), а с другой, Delphi тогда (поправьте меня, если это не так) не было, и "визуальные возможности" для того времени были действительно велики.
Далее, на VC++ (как впрочем и на BCB ) можно писать обычные Win32 программы, не используя никаких визуальных расширений (MFC там, ATL или VCL в случае с BCB ). Именно так обычно пишутся игры, а визуальные библиотеки нужны для офисных приложений.

BlaDeShot 24.08.2006 22:07

Народ пожалуйста киньте ссылку на какой-нибудь приличный C++ компилятор.Только не Visual Studio.net, он у меня не ставиться. Или если у кого стоит Visual Studio, киньте мне пожалуйста архив на мыло.BlaDeShot@yandex.ru.Заранее благодарю

pokibor 24.08.2006 22:22

Цитата:

Сообщение от BlaDeShot
Народ пожалуйста киньте ссылку на какой-нибудь приличный C++ компилятор.Только не Visual Studio.net, он у меня не ставиться. Или если у кого стоит Visual Studio, киньте мне пожалуйста архив на мыло.BlaDeShot@yandex.ru.Заранее благодарю

И зачем в двух темах задавать один и тот же вопрос? :mad:
Тем более, что здесь он оффтоп. :tema:

STOLEN 27.08.2006 21:53

Я конечно не очень разбираюсь в програмировании, но всетаки решусь спросить. Мы тут с друзьями разробатываем игру. У нас есть движок ORGE одна из последних версий, есть кое-какие модели для игры ну и прочее... Крутых програмистов у нас пока нет... И я вот решаю сам разобраться с двиглом... ЛЮДИ! ПОМОГИТЕ кто чем может по этому движку (желательно на русском языке) статьи, документация, ну и прочее... Желательно с азов...ну там как модельки загнать...с чего лучьше начать... Заранее спасибо...

pokibor 27.08.2006 23:04

Цитата:

Сообщение от STOLEN
Я конечно не очень разбираюсь в програмировании, но всетаки решусь спросить. Мы тут с друзьями разробатываем игру. У нас есть движок ORGE одна из последних версий, есть кое-какие модели для игры ну и прочее... Крутых програмистов у нас пока нет... И я вот решаю сам разобраться с двиглом... ЛЮДИ! ПОМОГИТЕ кто чем может по этому движку (желательно на русском языке) статьи, документация, ну и прочее... Желательно с азов...ну там как модельки загнать...с чего лучьше начать... Заранее спасибо...

Если никто ничего не пришлет, рекомендую перейти на Irrlicht. По нему я кое-что подсказать могу :Grin:

STOLEN 28.08.2006 03:31

Про Irrlicht я тоже кое-что слышел, у меня он тоже есть. Но кроме запуска демок ниче толком сделать не смог... Если уж есть возможность подскажи.

pokibor 28.08.2006 11:33

Цитата:

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

Так скажи, в чем у тебя проблемы. Или я угадывать должен?

razor21 28.08.2006 18:09

pokibor
В readme-файле с движклм irrlicht написано, что, мол, можно этот движок поставить на компилятор Dev-C++ - это правда? Если да, то подскажи как?

STOLEN 28.08.2006 18:10

Короче на Irrlicht мне нужны статьи на русском по загрузке моделей в движок, а так-же нужны статьи по созданию несложных примеров...

pokibor 28.08.2006 18:24

Цитата:

Сообщение от razor21
pokibor
В readme-файле с движклм irrlicht написано, что, мол, можно этот движок поставить на компилятор Dev-C++ - это правда? Если да, то подскажи как?

Видимо, скомпилив движок на этом самом Dev-C++. Я с ним дела не имел, так что ничего подробнее сказать не могу. Но ты, по-идее, при корректно установленном DirectX SDK просто взять и самостоятельно скомпилить все исходники Irrlicht.
Цитата:

Сообщение от STOLEN
Короче на Irrlicht мне нужны статьи на русском по загрузке моделей в движок, а так-же нужны статьи по созданию несложных примеров...

Статей никаких ты не найдешь (тем более, на русском), и вообще тебе рекомедуется сперва посмотреть код примеров и почитать help Irrlicht. Разумеется, уж коли ты собрался программировать, хоть чуть-чуть английский знать просто необходимо.

Начал писать тебе объяснение, но оказалось, что razor21 таки кинул какие-то статьи. Я так понял, это просто перевод примеров Irrlicht на русский язык. Что ж, тоже неплохо, вот только из примеров можно научиться далеко не всему, но какую-то базу они тебе дадут. Впрочем, знание английского тебе все равно понадобится.

Посмотрел статьи по подробней. Оказалось, что это даже не полный перевод примеров Irrlicht, а только первых 6 примеров. Значит, в них нет примеров со столкновениями, с частицами, с шейдерами и прочего. Обидно. Надеюсь, их отсуствие все же подхлеснет тебя к самостоятельной деятельности с разбором кода примеров и чтением хелпа.

razor21 28.08.2006 18:29

STOLEN
http://gamesanatomy.ru/index.php?nam...p=page&pid=115 - 1 урок
http://gamesanatomy.ru/index.php?nam...p=page&pid=122 - 2 урок
http://gamesanatomy.ru/index.php?nam...p=page&pid=116 - 3 урок
http://gamesanatomy.ru/index.php?nam...p=page&pid=117 - 4 урок
http://gamesanatomy.ru/index.php?nam...p=page&pid=118 - 5 урок
http://gamesanatomy.ru/index.php?nam...p=page&pid=121 - 6 урок
pokibor
Спасибо!

razor21 28.08.2006 18:36

pokibor
А ты когда-нибудь пробовал сам писать движок? Я вот никогда не пробовал и хочу попробовать... не знаешь с чего начать? Может ты знаешь, где можно скачать статьи по созданию движка на С++?

pokibor 28.08.2006 18:42

Цитата:

Сообщение от razor21
pokibor
А ты когда-нибудь пробовал сам писать движок? Я вот никогда не пробовал и хочу попробовать... не знаешь с чего начать? Может ты знаешь, где можно скачать статьи по созданию движка на С++?

Начни с изучения DirectX SDK. Я однажды пробовал, и даже что-то создал. Но делал я это все на C#, игры писать на котором не рекомендуется. Вообще, я не вижу особого смысла самому писать движок. Дело в том, что большинство готовых движков - те же функции DirectX, но в хорошем классовом оформлении. Если тебе вдруг понадобится, ты, изучив готовые движки, очень быстро найдешь аналогичные функции в DirectX и напишешь движок "с нуля". Но пока тебе этого не нужно, лучше не начинай, так как потратишь много времени на набор кода и на написание банальностей, которые в готовых движках собраны в одну процедуру. По себе скажу, что самостоятельное написание движка - дело достаточно скучное.
Статьи... глянь в соответсвующем разделе на www.xdev.ru - там есть уроки DirectX 8.

razor21 28.08.2006 18:47

А в сети есть учебнички по MS DirectX SDK? И еще: где его взять? Слышал, что с сайта "мелкомягких" можно скачать, да?

razor21 28.08.2006 18:55

А как ты всему этому обучался?

pokibor 28.08.2006 20:11

Цитата:

Сообщение от razor21
А в сети есть учебнички по MS DirectX SDK? И еще: где его взять? Слышал, что с сайта "мелкомягких" можно скачать, да?
А как ты всему этому обучался?

Насчет учебников не знаю. По-моему, лучший учебник - MSDN, где все нормально описано, и папочка Samples в DirectX SDK. Так и обучался.
Вообще, разбор примеров - лучшее средство обучения. Да, нужно знать английский. Я его, кстати, очень плохо знаю, но на чтение хелпов мне хватает. Ну и Lingvo порой юзаю.

Xar 29.08.2006 01:03

Цитата:

Сообщение от pokibor
По себе скажу, что самостоятельное написание движка - дело достаточно скучное.

Извини, не могу не вставить своё мнение. По-моему, самое интересное, что я пока сделал в программировании, так это написал свой движок (пусть он 2D и весьма примитивный). Чертовски весёлый процесс, imho, конечно. Чего стоит только программирование спецэффектов и частиц!

pokibor 29.08.2006 09:09

Цитата:

Сообщение от Xar
Извини, не могу не вставить своё мнение. По-моему, самое интересное, что я пока сделал в программировании, так это написал свой движок (пусть он 2D и весьма примитивный). Чертовски весёлый процесс, imho, конечно. Чего стоит только программирование спецэффектов и частиц!

Кому как. 2D, в приципе, пишется намного быстрее 3D, возможно, ты просто не успел потерять интерес. К тому же для 2D-формата есть много готовых загрузчиков для разного типа файлов, а для 3D их поди найди. Тут и спецификацию формата-то найти не так просто, не говоря уже о готовой процедуре загрузки. Вообще, если библиотека не дает нормальной классовой структуры (как DirectX), писать на ней не то чтобы сложно, а просто быстро надоедает постоянно возиться со всеми именами длиной в кучу символов и т.п. Кстати, под .NET ситуация несколько иная - там есть нормальная классовая структура. Но мое мнение о написании на .NET игр тут все уже, по-моему, поняли :sml:

CMogilko 29.08.2006 16:51

pokibor
Цитата:

Насчет учебников не знаю. По-моему, лучший учебник - MSDN, где все нормально описано, и папочка Samples в DirectX SDK.
А ты где надыбал DirectX SDK? Скачивал с оф сайта мелкомягких? Или на диске купил, кстати какой версии? Я смотрел на оф сайте - он весит около 400-500 метров. Скачаю как поставлю себе выделенку.
А там вообще что, кроме, разумеется, туториала и сэмплов? Ведь в MSVS есть все нужные заголовочные файлы для DirectX.
А там вообще нормальный туториал? А то я в MSDN cмотрел - фигня какая-то. 5 Уроков, несвязанные, во втором даже не компилируется.
И ещё. В MSVS 2003 DirectX-заголовки есть для 8 версии, как я понимаю в 2005 есть для 9го, так? А если я последний поставлю на свою 2003, то я смогу писать для 9го?
И чем отличается 8й от 9го, кроме поддержки шейдеров 2.0?

pokibor 29.08.2006 17:09

Цитата:

Сообщение от OXOTHUK
pokibor
А ты где надыбал DirectX SDK? Скачивал с оф сайта мелкомягких? Или на диске купил, кстати какой версии? Я смотрел на оф сайте - он весит около 400-500 метров. Скачаю как поставлю себе выделенку.

К счастью, у меня есть выделенка, а также друг, работающий на одном предприятии с халявным 100MBit'ным инетом и портативным носителем на 80 гигов. Так что это не проблема :heavy:
Цитата:

Сообщение от OXOTHUK
А там вообще что, кроме, разумеется, туториала и сэмплов? Ведь в MSVS есть все нужные заголовочные файлы для DirectX.
А там вообще нормальный туториал? А то я в MSDN cмотрел - фигня какая-то. 5 Уроков, несвязанные, во втором даже не компилируется.
И ещё. В MSVS 2003 DirectX-заголовки есть для 8 версии, как я понимаю в 2005 есть для 9го, так? А если я последний поставлю на свою 2003, то я смогу писать для 9го?
И чем отличается 8й от 9го, кроме поддержки шейдеров 2.0?

Насчет отличий точно сказать не могу - никогда этим не интересовался. Насчет уроков и примеров - они в DirectX SDK хороши (папочка Samples, кстати, 449 мегов занимает), а MSDN меня только как хелп по функциям и структурам данных (и очень неплохой) интерисует. Кстати, в SDK еще небольшие утилитки есть. А вот туториала я там не нашел. Возможно потому, что не искал :sml:. Имхо, и так на семплах все неплохо осваивается. Опять же, насчет того, что идет в комплекте с 2005 сказать не могу. Меня 2003 устраивает (ибо пишу под Win32, а не под .NET), и DirectX SDK итак трехмесячной давности стоит (скачивал я его три месяца назад, а какой он даты - не помню...).

Хотя признаюсь, что DirectX я уже здорово подзабыл. Писал на нем всего один проект, неокончил его, потом перешел на Irrlicht. Недавно, правда, думал сетевое приложение на DirectPlay писать, но потом плюнул на него и написал на Winsock. Имхо получилось куда умнее и лучше.

STOLEN 29.08.2006 19:50

Спасибо, большое за статьи! Будут вопросы обязательно к вам обращусь... :sml:

STOLEN 30.08.2006 19:46

Ну т.к эта тема по созданию игр, немогу не задать такой вопрос: как создаются сайты разроботчиков игр (причем интерес вызывают бесплатные сайты :sml: ) не зная языка HTML ?
P.S Если я не по теме извините...

pokibor 30.08.2006 20:00

Цитата:

Сообщение от STOLEN
Ну т.к эта тема по созданию игр, немогу не задать такой вопрос: как создаются сайты разроботчиков игр (причем интерес вызывают бесплатные сайты :sml: ) не зная языка HTML ?
P.S Если я не по теме извините...

Никак. Если человек может разработать игру, то уж HTML он знает! Нет, есть, конечно, всякие конструкторы (Micro$oft FrontPage) и пр. барахло, но оно скорее вредит и качественный сайт с ним не создашь.
Тем более, что сейчас на всех нормальных сайтах используется как минимум php, jsp или asp - в общем, любая технология, позволяющая генерировать страницы на сервере, потому как дает очень большие возможности.

STOLEN 30.08.2006 20:21

Ну, тогда еще один вопросик, как разрабатываются игровые серверы? Есть ли по этой теме статьи на русском?

STOLEN 30.08.2006 20:23

Как вообще делается онлайн в играх? И можно ли это сделать на Irrlicht?
Если есть какая то информация дайте ссылочку...

pokibor 30.08.2006 20:56

Цитата:

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

Ну для начала скажу за модеров: хватит плодить по два сообщения подряд. Используй кнопочку "Правка".
Теперь про "игровые серверы":
В Irrlicht сетевых компонент нет (как, к сожалению, и звуковых) - только графические. Это плохая новость. Теперь хорошая: звуки и сеть спокойно реализуются на DirectX. Работать с ними НАМНОГО проще, чем с Direct3D, так что я думаю, что разработчики Irrlicht просто не стали тратить время на написание классов для того, что и так предельно просто реализовано. За звук в DirectX отвечает DirectSound, за музыку - DirectMusic или DirectSound (зависит от формата), за сеть - DirectPlay. Впрочем, замечу, что я DirectPlay не пользуюсь. Не потому, что он плохой и все такое - это не так, просто мне куда проще использовать непредственно winsock. Winsock - это API для реализации сетевого взаимодействия по протоколам UDP и TCP/IP под Windows (вообще говоря, не только под Windows, но под Windows доступны более широкие возможности вроде асинхронных сокетов). Я реализовал классы сервера и клиента на winsock, так что при желании могу поделиться. Прочитать про winsock можешь здесь: http://www.gamedev.ru/articles/?sect=8.

STOLEN 02.09.2006 23:10

В продолжение темы, опять спрошу...
1)Люди, подскажите как установить GLSceene на Delphy. Просто хочу сравнить с Irrlicht...
2)Где можно качнуть его последнюю версию?
Заранее спс!
P.S :lamo:

pokibor 03.09.2006 00:19

Цитата:

Сообщение от STOLEN
В продолжение темы, опять спрошу...
1)Люди, подскажите как установить GLSceene на Delphy. Просто хочу сравнить с Irrlicht...
2)Где можно качнуть его последнюю версию?
Заранее спс!

А ты не пробовал для начала найти официальный сайт GLScene? А то вдруг на нем совершенно случайно последние версии выкладывают :Grin:
Ладно, держи: http://glscene.sourceforge.net/wikka/HomePage, ну и уж на русский можешь зайти: http://www.glscene.ru/. Я думаю, там все про установку найдешь.
Теперь про сравнение с Irrlicht:
для начала приведу высказывание одного достаточно грамотного человека (с MODного форума, разговор как раз про GLScene идет):
Цитата:

Сообщение от Rocker
Там сплошноеп нагромождение ненужных - устаревших вохможностей и качество уровня 2000 года. Если невтерпёж - то тогда уже GLScene 2.0 ( должен скоро выйти ). А если честно, то для комерческой разработки но без денег, лучше использовать:
1 - Nebula 2.0 ( Есть очень хороший SDK, так что с освоением проблем нет )www.radonlabs.de ||| http://nebuladevice.sourceforge.net/doc/tutorial ||| На первой версии был создан Project Nomads. На второй сейчас создаётся комерческая РПГ. Примечателен также для "непрограммистофф" - разработку можно вести на скриптах - исключив код на С++.

2 - Ogre3D Сам всё про него знаешь.

3 - Irrlicht. *Комментарии излишни*

Теперь к сказаному добавлю, что GLScene, по сути дела, конструктор. А значит, разница между ним и irrlicht примерно как машиной, собраной из конструктора "Лего" и настоящей - вроде сходство есть (если не смотреть на пупырышки и отсутсвие метала), и даже ездит, но исключительно на человеческой тяге и прочность оставляет желать лучшего. Так что лучше не трать время понапрасну и осваивай Irrlicht.

Grotesque 04.09.2006 10:21

Цитата:

Так что лучше не трать время понапрасну и осваивай Irrlicht.
А его разве можно поставить на Delphi?

pokibor 04.09.2006 10:57

Цитата:

Сообщение от Grotesque
А его разве можно поставить на Delphi?

Нет. А с чего ты взял, что я предлагаю поставить его на Delphi? Просто человек хотел сравнить GLScene и Irrlicht. Первое - движок (точнее, конструктор) для Delphi, второе - нормальный движок для C++ и .NET. Очевидно было бы предположить, что человек знает и Object Pascal, и C++ либо один из .NET - языков, не находишь?

STOLEN 04.09.2006 18:15

Да, ты был действительно прав, буду осваивать Irrlicht ! Спасибо за предоставленную инфу.

ROLF 05.09.2006 03:19

А есть ещё какиенибуть движки на Delphi кроме GLScene?

pokibor 05.09.2006 09:14

Цитата:

Сообщение от ROLF
А есть ещё какиенибуть движки на Delphi кроме GLScene?

GLScene самый известный. Если есть другие, то они еще хуже.

razor21 05.09.2006 18:49

ROLF
Есть еще DelphiX, но он, как уже сказал pokibor, хуже.

ROLF 06.09.2006 16:35

razor21
про DelphiX я наю он 2D.

razor21 06.09.2006 18:57

ROLF
Ты бы тогда и говорил: "кроме GLScene и DelphiX"

ROLF 07.09.2006 13:27

razor21
Извеняюсь я просто имел в виду 3D движков!

SHtоrmIT 11.09.2006 22:39

Ребят. Если хотите использовать бесплатный движок для комерческой разработки то есть несколько вариантов.

- Torque Game Engine. www.garagegames.com // сами использовали. Нам нравится, но для новичка - не вариант. Наиболее много возможностей.

- OGRE - Если готовы к труду, обороне и перелапачиванию кода на С++ вам сюда. Для комерческой игры отличный вариант. Запаситесь аспирином "у пса" он вам понадобится.

- irrlicht - соглашусь с товарищем. Очень приличный двигатель.

- nebula2 - Имеютя прецеденты создания комерческих игр. Project Nomands

Больше бесплатное не пробуйте друзья. Поверьте на слово.




http://www.gamedev.net // Читайте друзья про создание игр и движки. Гадом буду всё прочитаете к старости.

www.devmaster.net/engines - Выбирай. Не хочу.

www.ogre.ru // это если надо на русском. Про людоеда.


Хочу посоветовать irrlicht если только встали с люльки и делаете в этом мире багов первые шаги будущих великих программистов.

Не описал ничего подробно. Но если заинтересуетесь - спрашивайте. Помогу.

Цитата:

Ну т.к эта тема по созданию игр, немогу не задать такой вопрос: как создаются сайты разроботчиков игр (причем интерес вызывают бесплатные сайты ) не зная языка HTML ?
P.S Если я не по теме извините...
Знаешь в чём ошибка? Твой подход начинается с "пива и сайта". Начни с диздока. Потом смело прыгай на програмный проект ( проектируй игру. архитектуру. Или чётко обозначь изменения и дополнения в уже существующие технологии. Разберись в исходных кодах использумых технологий ). Запомни - самый верный способ не закончить программу - броситься программировать (с) Лафоре. Зачем тебе HTML? У тебя что уже игра на подходе?

pokibor 13.09.2006 21:53

Народ! Совершенно случайно наткнулся на одну большую книгу по 3D-программированию, шейдерам и прочему:
http://netlib.narod.ru/library/book0032/toc.htm
Крайне рекомендуется к прочтению всем интерисующимся.

К модераторам: специально прочитал правила форума, запрещена публикация ссылок только на кряки программ, конкурирующие журналы и пр. подобное. Книги вроде в список не включены :wnk:

Roker 16.09.2006 07:23

Цитата:

Народ! Совершенно случайно наткнулся на одну большую книгу по 3D-программированию, шейдерам и прочему:
Не для новичкофф. Для новичков - Ф. Хилл "OpenGL. Программирование компьютерной графики". Вот там - точно основопологающее. Это фундаментальная книга. Сам училсо по ней полгода в универе.

Ссылка в сибирь:

http://www.natahaus.ru/2006/02/12/Op...j_grafiki.html


Часовой пояс GMT +4, время: 10:44.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.