Учимся делать игры
Вот решил создать такую темку. Сподвигла меня на это дело покупка книги "Проектирование и архитектура игр" (Эндрю Роллингз, Дейв Моррис, изд. дом "Вильямс", Москва-СПб-Киев, 2006г., второе издание). Сам не раз пробовал создать что-нибудь, учатствовал в одном проекте (умер еще на стадии рождения) - толку ноль. Так вот: предлагаю в этой теме обсуждать проблемы, стоящие на пути начинающего гейм-мейкера (начинающего).
Сразу осмелюсь остудить горячие головы, считающие, что они придумали генеальный сюжет и сейчас вот создадут по нему суперигру (сам таким был...) - ничего не выйдет, сюжет сам по себе для игры ничего не стоит. |
у меня такой вопрос может кто обяснить вот как делать город это надо каждое сдание и улици делать а потом кодом соединять или в максе целый город сделать а потом в двиг закинуть?
|
Можно и так, и так. Только лучше все же здания делать отдельными объектами.
|
А как по проще сделать препятствия??
|
Проще всего окружить их и игрока сферами, потому что пересечение сфер просчитывать проще всего. Ну или параллелепипедами, их пересечение тоже более-менее прросто посчитать. Также работает смешанный вариант. Ну и самый тормознутый вариант - просчитывать пересечение каждого полигона с каждым, но это будет очень медленно... То же верно и для 2D, только там сферы соответственно на круги заменяются, параллелепипеды - на прямоугольники, а полигоны- на прямые.
|
а какие бесплатые движки для делфи есть кроме glscene и delphix?
|
pokibor
А можно по подробнее про 2D. ROLF Есть какие-нить игры под GLScene? |
Цитата:
Если (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. |
SkyLine
не кроме стондартых демок нет |
Цитата:
Покрайне мере я не слышал такого гдеб так колизии проверялись. Хотя могет через несколько лет процы наверное такую фишку осилят. Да и глупо это каждый полигон проверять на коллизии - смысла нет - когда можно обойтись сферами... Блин тож хотел книжку эту прикупить да воть чет пока обламывает... Так что читаю пока другие... Что тему такую создаль - МОЛОДЦА... Постараюсь тут почаще постить по теме!!! |
Разработчики выбирают такую структуру карт которая больше подходит к их требованиям.
В превую очередь это скорость рендера, быстрота работы с картой, возможность модификаций и т.п. Варианты структур карты: 1. Ландшафт - меши (строятся из кусков) - отдельные готовые здания. 2. Вся статика катры в одной модели. 1. Для ландшафта изпользуются Квадродеревья(QuadTree) или подобные ей структуры. Это дает большой плюс к скорости работы с ландшафтом. Остальные же здания хранятся в отдельных структурах, например D3DXMESHCONTAINER, или же собственые разработаные структуры. Примеров таких игр полно: FarCry, HalfLife, Doom3... 2. Всю стантику(ландшафт, здания и т.п.) хранят в ондной структуре (могут разбиватся на сектора). Есно что тут много плюсов по скорости, правда структура получается слишком большая, поэтому карту разбивают по секторам или же используют BSP деревья или другие подоюные технологии... Игры: PainKiller, Quake Arena(используется BSP)... Конечно описал слишком плохо всю идею, но думаю кто хочет разобраеться поймет... Если гдет ошибся не серчайте а просто поправте... |
Интересно... вообще то первая идея называется "тайлы", только трехмерные :sml: Очевидно, она больше подходит для стратегий, и, возможно, RPG, где соответствует сути карты. Вторая - для Action'ов, где каждый элемент уровня должен быть неповторимым, т.к. на него смотрят с куда большего приближения. И на сектора разумеется надо разбивать, и использовать незаметную подгрузку уровней. Представьте, чтобы во второй халве СРАЗУ грузился в память весь уровень...
Кстати, еще можно попробовать сделать нечто вроде автоматической генерации ландшафта и даже зданий по фрактальным алгоритмам... Достаточно интересный вариант кстати. В реальном мире практически все можно свести к фракталам. |
Цитата:
К тому же можно тут и слои использовать для накладывания текстур... Т.е. одна текстура на весь ландшафт а слои покрывают те участки на которых должна быть другая текстура... |
Цитата:
Воть только меш можно понять как модель так как Mesh переводится как сетка... В экшенах тож используют такую фигню при построении архитектуры карт. Посмотри в сторону Unreal Tournament точнее полазь в редакторе и поймешь... Пол, стены делается кусками (тайлами) ну а более сложные уже храняться как модели. |
Цитата:
Цитата:
|
Цитата:
Про фракталы я как то мало что знаю... Воть слил шас инфу по ним почитаю немнго... Кстать вопрос немного не в тему... ну даладно... Знает кто нить как в MVSC++ 6.0 Использовать инструкцию CPUID??? Или хотя бы ее обьектный код - db 0Fh, 0A2h; Если использовать объектный код то вылезает такая лажа: inline assembler syntax error in 'opcode'; found 'constant' |
Цитата:
|
Чет тема выдохлась чтоль???
Поэтому предлагаю обсудить организацию хранения объектов в игровом мире... PS: Pokibor почитал тут инфу о фракталах. ТАк воть заинтересовали мя Стохастические фракталы... Весчь то удобная для генерации ландшафта. Такая штука мне могет потом пригодится... Я воть тут пишу движок игровой. Ну потомь думаю ченить простое на нем замутить. Если заинтересован в этомь то могет присоединишься. Раз разбираешься в фракталах то могет и тулзу поможешь написать... |
Цитата:
Цитата:
|
pokibor
Ну могешь и позже присоединиться. Как раз движок мясом обрастет. А то он пока что мало что умеет. Я счас пишу конфиг и логер. Одновремено добавляя необходимые по необходимости классы. Когда закончу начну ландшафт добавлять или же чет есчо добавлять... |
Тут возникло два вопроса, которые хотелось бы обсудить:
1) Какой движок (на Visual C++ 6.0, желательно не .NET, т.к. основа проекта пишется на чистом C++, т.е. с очисткой памяти и т.п.) лучше подходит для пошаговой стратегии? Также хорошо бы, чтобы он был достаточно прост в освоении. Принимаются, кстати, как 3D, так и 2D варианты. 2) Вытекает из первого, и, честно говоря, самый проблемный: как можно добыть модели/рисунки (в зависимости от 3D/2D движка) юнитов? Варианты вроде "сделать руками в 3DMAX/Maya и т.п." не подходят, т.к. над проектом работают 2 человека и 1 лентяй, и достаточного опыта в таких пакетах нет ни у кого из них. Мы думали из GTA/UT 2004/ets. выдрать и вставить в игру (в случае 3D движка), но может у кого-нибудь есть другие идеи... Возможно, есть какие-нибудь пакеты, позволяющие создавать модели с анимацией на основе шаблонов вроде "человек" или "автомобиль"? |
pokibor
Цитата:
1)Свой собственный. Зуб даю, что для написания 2D движка для игры типа 'Герои 3' требуется лишь около недели свободного времени. Тем более, наверняка нет специализированных движков для игр подобного жанра. Кроме того, при написании своего движка хорошо знаешь все его аспекты и можешь делать исправления/добавления. Я это все говорю, потому что сам этим занимался (написанием движка). Правда на VB и даже, в целом, небезуспешно. 2)Черт, я сам с этим не раз сталкивался. Боюсь, что кроме выдирания игровых ресурсов, мне посоветовать нечего. |
Цитата:
|
А почему Visual C++ 6? те же 7 или 8 вполне пригодны для написания win32 applications (не .NET), и кроме того, удобнее (подсветка лучше, intellisense раньше срабатывает и т.д. - мелочи, но приятно)
|
Цитата:
|
pokibor
Цитата:
Вопрос второй: на счет 3D. Для меня пошаговые стратегии и 3D - несовместимые вещи. Классический пример - Герои или Disciples. Так о чем это я? Ах, да: как ты собираешься выдирать 3D модели из игр, ковертировать их в один формат, а, главное, как присобачить им анимацию? По-моему, проблем с 3D гораздо больше, чем с 2D (по крайней мере в технологическом плане). |
Цитата:
Цитата:
|
У меня вопрос. Возможно ли создать игру (неплохую) чтобы там было 3D (не миллион полигонов конечно но все таки). Например какую нибудь RPG? Возможно или нет? На Vusial Basic?
P.S. Есть ли бесплатные 3D и 2D движки для Vusial Basic? |
Цитата:
P.S. Если писать под .NET даже на VB, то можно использовать любой .NET-движок, не обязательно, чтобы он сам был написан на VB. Напр., irrlicht. Там даже пример на VB есть (irrlicht-0.12.0\examples.net\01.HelloWorld_vb). |
Почему же VB не гибкий? Интерфейс мне в нем нравится больше чем в C++ да и программы итам писать поудобнее. C++ я знаю чуть чуть поэтому учить не надо. :sml: . но ведь на С++ пишутся офисные программы а не на VB не так ли?
|
Цитата:
Кстати, мне очень интересно узнать, какие проекты ты УЖЕ написал на VB? P.S. Кстати, в VB есть ссылки? А то я что-то уже забыл, и кажется мне, что нет. Язык без ссылок (если не специально под это подстроен, как JAVA и C#) - смешно. |
pokibor прав. К тому же посмотри на проблему с другой стороны - практически все современные игры написаны на C++. Можно сказать, у него ниже уровень выразительности, но это только добавляет гибкости. Да и вообще, basic изначально есть язык для обучения программированию.
|
Цитата:
|
pokibor
Цитата:
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++ можно...) |
pokibor
Я не собираюсь начинать войну C++ versus VB. Просто не хочется, чтобы ты дискредитировал Basic на форуме (дабы не сбить начинающих программистов, которые пишут на VB ). Большинство твоих аргументов не соответствуют истине. 1) Тут ты прав. У меня на компе есть некий C++, но проект пишешь не нем с чистого листа. 2) Вообще-то делать интерфейс програмным путем дело не одной недели (особенно, если интерфейс слишком навороченый). По чесноку, я ни разу серьезно за это не брался. Хотя, чтобы сделать игровой редактор, интерфейс Windows еще как понадобится. 3) Ну здесь я вообще ничего не понимаю. Какие еще требования? Понимаешь, моя самая серьезная программа ела 4МБ оперативки (только из-за своего интерфейса). Сейчас я делаю, как уже писал, проект с использованием DirectDraw (проект этот - игровой движок). Он ест те же 4МБ. 4) Ну а что ты скажешь на счет точки с запятой в конце каждой строки? Я за это убить готов. Или приравнивание двумя знаками равно? Мог бы еще привести примеры да вот только язык я этот почти не знаю. 5) Я переходить пока не собираюсь. Да и вообще люблю идти простыми путями. :) |
Закрываю тему - слишком много флуда! Ламеры позорные... Жаль что в бане все места заняты, так бы я вас посадил!Ух!
|
Так. Давыай сразу определимся - собираешься ли ты заниматься серьезными проектами и считаешь ли программирование своей будущей профессией. Если нет, и считаешь программирование лишь хобби - дискуссию закрываем, я забираю все свои аргументы назад. Если же ты все же видишь себя в будущем программистом серьезных проектов, то тебе и всем начинающим программистам придется смириться с правдой. А она в том, что на VB написать качественный серьезный проект с серьезными функциями достаточно сложно, а оптимизировать его еще сложнее. И лучше тебе учиться писать проекты качественно СЕЙЧАС, потому что потом будет переучиваться куда сложнее...
Цитата:
Цитата:
Цитата:
А вообще, профессональный программист должен знать как можно больше языков, от VB до C++ и даже Prolog'а. Никогда не знаешь, на чем тебя заставят писать завтра... Цитата:
|
По моему дискусия началась практически с ничего. Один говорит то что C ++ это самый крутой язык. Другой говорит что VB. Я в эту дискусию не вступал из за видимых причин. Может все зависить от возрастной категории. Вы с какого класса знали VB? Или C++? Я с 5 класса хорошо разбирался в VB и кое что знал про С++. А если там человек лет 25 говорит что он знает три языка и хвалится этим - безумие. За школьное время можно изучить 5 языков! 5! Делаем выводы и заканчиваем дискуссию.
|
Цитата:
Кстати, еще в защиту C++ могу напомнить про потрясающие возможности настройки самого языка (одна перегрузка операторов чего стоит! Я уже не говорю о "мелочах" вроде макросов и других директив препроцессора) |
Давайте перестанем дискуссировать на счет VB и C++ а начнем писать посты в тему. Тема кто помнит: учимся делать игры. И VB хороший язык и C++ хороший. Для каждого свое. Все согласны?
|
Предлагаю обсудить такую тему как AI в играх. Насколько я знаю, сейчас в играх редко используют AI сложнее конечного автомата (т.е. скрипты). Считается, что нейронные сети и т.п. будут неоправдано тормозить игру. Хотя в том же HL (первом, скорее всего и во втором) использовалась нечеткая логика. Кто как считает, какой AI лучше для:
3D Action Стратегий RPG Симуляторов |
Мне кажется что востребованнее AI в стратегиях и экшенах. F.E.A.R. нам это доказал. В RPG персонажи могут просто стоять а враги иметь несложный AI. А в симуляторах уже все сделано. Там особого ума не надо. Хотя нет. Все таки надо...
P.S. В экшенах, узнал это благодаря F.E.A.R. |
Насчет RPG:
Как кто считает, имеет ли смысл в них AI, работающий НА КВЕСТЫ, т.е. делающий поведение NPC более живым, а прохождение меньше похоржим на книгу и больше - на жизнь? |
pokibor
Слушай, может ты хотел сказать НЕ на квесты? Ведь именно квесты делают прохождение похожим на книгу, ибо они, как правило, неизменны от игре к игре. Вообще, живые NPC в RPG это редкость. На ум приходит лишь Готика, да и в ней поведение NPC было слишком заскриптованным. Я думаю, стоит посмотреть на NPC в TES4: Oblivion. По крайней мере, если у создателей получится нечто неплохое, то это только улучшит игру, причем сильно. Pokibor, я не уверен, что правильно понял твою мысль, но, по-моему, NPC не должны полностью быть завязаными на квестах. |
Цитата:
|
на мой взгляд реализуемо. Но коммерчески не выгодно для современных издателей.
|
Я вижу что вы хотите сделать Ai схожий с человеческим? Ответ прост - никогда. Может конечно через много много 100 летий но мы уж точно до этого не доживем верно? :wnk: . Fi это понятие растяжимое. Кто когда нибудь пытался делать игры поймет меня. Все ОЧЕНЬ и ОЧЕНЬ сложно. Создать код который бы сделал на компьютере (в игре) хоть какое то разветвление, создание нового, случайность очень трудно. Это будет очень большой процесс с кучей всяких условий, не всем он под силу. Даже электроники и французы за это дело не берутся. Может оно и к лучшему...
|
Цитата:
нечеткая логика абдукция (фактически, комьютер может примерно как человек создавать новые правила) нейронные сети ("черный ящик", но тормозит, да и обучать замучаешься...) генетические алгоритмы цепочки Маркова (поможет сделать речь связной) и др. методы. Я так считаю, что сделать их комбинацию, реализующую вышеописанное, вполне реально. Кто думает иначе - поправьте меня... |
pokibor
Цитата:
|
Цитата:
|
pokibor
В рамках стандартной RPG собрать квесты в цепочку возможно. Ничего не стоит увязать предмет с NPC, а NPC, допустим, с локацией и т.д. Другое дело, ты затронул вопрос гораздо глубже. Цитата:
И еще один вопрос это текстовая начинка квестов. Моральная подоплека. Чтобы геймер был захвачен квестом. Ее то уж точно сейчас нельзя создать програмно. Вообще, заставить компьютер выводить на экран связный текст (автоматически, конечно) почти не реально. А еще увязать это с квестом. И здесь я тоже скептик. P.S.: Пора уже рассказать темному народу (это я о себе), что такое 'цепочки Маркова'. |
Цитата:
Цепочки Маркова в своей основе не имеют к 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:! В комплекте идут базы данных первому тому по "Властелина Колец" в русском и оригинальном английском варианте. |
Небольшой оффтоп.
pokibor 6,02 MB!!! Откуда такая цифра! Не, я столько качать не буду (хотя и хочется). У меня скорость GPRS-инета 115.2 кбит/с. Это же сто лет будет качаться. Желаю сделать облегченную версию. |
Цитата:
Итак: Минимальная комплектация (сама программа + пустая база данных), чтобы заработало - БД нужно сначала наполнить, для чего нажать на кнопочку "добавить файл" и указать достаточно большой 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 нужен в любом случае... |
pokibor, MASC рекламируешь? А ведь MICS генерил из рук вон плохо не из-за плохого разбора midi-файла, а из-за несовершенности исходных данных (файлы были разные, с разными инструментами, разных авторов и т.д.).
Кроме того, если бы ты самостоятельно заново создал пустую базу данных в Borland Database Desktop, она бы весила не более сотни килобайт. И ещё: чтобы посмотреть библиотеки, используемые процессом, проще всего взять far, F11 - process list, выбрать нужный процесс и F3 (желательно чтобы этот процесс к этому моменту выполнил какое-нибудь обращение к базе данных). |
Цитата:
:shot: :rocket: :puls: Я предпочитаю filemon/regmon. Они дают полную инфу в хорошей форме. OFFTOP Так... Ты меня знаешь, а я тебя нет... В общем, тогда ты должен знать также и то, что MICS писал не я, а Connor. Я писал только работу с цепочками Маркова, а потом мне за один вечер пришлось быстро сделать что-то действительно работающее, чтобы вам всем показать, что цепочки Маркова - это не абы что. Потому и программа вышла несколько кривой. А сейчас у меня с БД возиться времени нет, даже новую создать пары минут жалко... P.S. Use the Darkness that you have inside - I'll kill you myself, Connor... |
Под несовершенством понимаю неупорядоченный набор разнородных файлов. А времени для поиска упорядоченных файлов не было из-за разбора MIDI.
Цитата:
Цитата:
Цитата:
Цитата:
|
Народ, помогите оптимизировать адвенчуру в духе Broken Sword. У меня уже есть один играбельный уровень, где реализован нелинейный диалог, и использование предмета с последующими изменениями в сюжете.
Проблемы: 1) Не могу заставить программу воспроизводить анимацию формата divX 2) Игруха плоская (в смысле, не трёхмерная) и разрабатывается для разрешения 1024*768. Как сделать так, чтобы перед запуском программа меняла разрешение экрана (если у пользователя, к примеру, 1280*1024) и задавала параметр Fullscreen? P.S. И всё это на Delphi 7. Заранее спасибо. |
Цитата:
Цитата:
Можешь кое-что глянуть по этой ссылке: http://forum.vingrad.ru/index.php?sh...=16946&unread= P.S. И лучше учи C++. А то большинство примеров для WindowsAPI на нем пишут. |
А у меня вопрос как правильн делать аниамцию бега вот я в максе сделал человека вот как он стаит и как он бижит в течение 500 кадров
дальше как вот у меня есть поверхность на ней я помешаю допустим человека и загружаю текстуру стояшего человека потом при нажатие кнопки бег начинаем двигать персонажа и зиаодно загружаем анимацию бега( катарую я в максе сделал 500 кадров)? Я правильно предположил? |
ROLF
Цитата:
|
Xar
Спасибо. |
Я всегда хотел создать игру, ты не знаеш какие нибудь бесплатные движки, где их найти, и как ими пользоваться?
|
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 - задавайте. Не могу сказать, что полностью его освоил, но вот игру с его использованием делаю, и вроде пока неплохо получается... |
Цитата:
А че за игрушку пишешь?? |
Цитата:
Игра - стратегия по типу Heroes of M&M. |
Дайте пожалуйста линк или сами распишите как устанавливать UnDelphiX на Borland Delphi 7.
|
У меня довольно сложный вопрос, и я не уверен, что точно смогу его сформулировать. Есть некий проект (с использованием DirectDraw), в котором объекты движутся с определенной скоростью. Движение объектов (изменение их координат) и их отрисовка осуществляется в бесконечном цикле (Do-Loop). Дело в том, что в зависимости от загруженности видео памяти (FPS) этот цикл выполняется быстрее или медленнее и, следовательно, сами объекты движутся быстрее или медленнее. Как сделать скорость объектов постоянной, независимой от FPS? Без использования Timer.
|
Использовать таймер. Тебе же нужно, чтобы объекты двигались с учетом реального времени. в любом языке должна быть функция, возвращающая время в миллисекундах, прошедшее с определенного момента в прошлом. обычно это время имеет тип 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. |
У меня имеется следующий вопрос по поводу создания игры.
Хотя тут нужно хорошее знание физики. Я собираюсь сделать некое подобие реальной физической модели в простой 2D аркаде. То есть у меня имеются, скажем, два объекта с разными массами (m и M) и начальными скоростями V1 и V2 (то есть, не скоростями, а их проекциями на оси). Эти объекты движутся и сталкиваются друг с другом. Непосредственно вопрос: по каким формулам можно вычислить скорости (то есть проекции скоростей) объектов после соударения. Заранее благодарен. |
ох, если правильно помню:
m*v1+M*V2=m*V1'+M*V2', где V1' и V2' - скорости после соударения. ИМХО, так. |
Приведеное выше - закон сохранения импульса (вообще он звучит как "импульс замкнутой системы материальных точек постоянен, т.е. СУММА(Mi*Vi) = const в любой момент времени (равенство - векторное!)"), в нем (в данном случае) 2 неизвестных - собственно V1' и V2', так что одним им не обойдешься. Обычно его дополняют законом сохранения кинетической энергии: (СУММА)MiVi^2 / 2 = const (считаю, что тут момент времени непосредственно перед соударением, а значит изменения потенциальной энергии не происходит). Но учти, что это идеальный случай абсолютно упругого соударения. При абсолютно неупругом (частицы слиплись) закон сохранения импульса будет СУММА(Mi*Vi)=((СУММА)Mi)*V (V - одна, нового тела), а при реальных будут потери энергии, переход ее в тепло и прочие малоприятные вещи.
P.S. Кстати, можно пользоваться также законом "угол падения = углу отражения (по отношению к нормали)" - он действует для материальных частиц также, как для лучей света :sml:. А еще не забывай про влияние притяжения, если у тебя оно есть. Впрочем, непосредственно на удар притяжение практически не влияет. |
pokibor
Светлый Геймер Всем спасибо, конечно. Но законы сохранения импульса и энергии я знаю. Дело в том, что если решать систему с этими законами, то... Короче мне такую систему не решить. Я хотел узнать лишь готовую формулу. Ладно... Скажите мне тогда следующее. В законе сохранения энергии можно отдельно использовать проекции скоростей на координатные оси или обязательно надо использовать именно модуль вектора скорости. Ну я надеюсь, вы меня поняли. pokibor Ну ты уж слишком идеализировал. Конечно, выделение тепла и влияние притяжения это чересчур. Да и идея с углами не самая лучшая, так как я в своём проекте их вообще нигде не использую. P.S.: Всем заранее спасибо. Да, в физике я не очень-то силён... :) |
Энергия есть величина скалярная, так что разумеется нужно использовать только модуль вектора. Для решения сложных систем уравнений есть куча численных методов, например я вот выложил наши лекции по ЧМ (1.79 MB ): www.webfile.ru/939574
|
Всем доброго времени суток!
В процессе создания игры у меня возник следующий глобальный вопрос. Как реализовать перемещение бота по игровому полю, основанному не на "клеточном" типе (не на матрице), а на ... как бы это сказать ... ... Короче, есть поле и на нём объекты (прямоугольные), заданные координатами x1, y1, x2, y2. Как сделать так, чтобы бот смог добраться из начальной точки в конечную, не натыкаясь на стены и т.п? Первый жизненный пример, пришедший в голову: как боты в Counter Strike ищут пути? Насколько я знаю, там генерируются некие waypoint'ы, и боты ходят по ним. Может вы знаете, в чём сущность этого алгоритма. Я думал и о другом варианте. Разбить поле на большое количество квадратных секторов и тем самым свести вопрос к прохождению бота по матрице. По крайней мере, тут я лучше смогу ориентироваться (наверное). Ладно, надеюсь вы разобрались в моих каракулях и сможете дать дельный ответ. Хотелось бы узнать самый простой и удобный алгоритм. Заранее спасибо. P.S: pokibor Цитата:
|
Дайте ссылку (в ЛС) на учебник по созданию игр на С++ и движок от cs 2d очень нада!
|
Цитата:
1) В играх типа Action, где от бота требуется мгновенная реакция на ситуацию и грамотное поведение, действительно по карте расставляются waypoint'ы и прописывается вероятность, что от текущего waypoint'а бот пойдет к конкретному близлежащему. Waypoint'ы обычно расставлены так, что путь от одного к другому можно найти, просто обходя препятсвия по простейшим алгоритмам, вроде алгоритма левой/правой руки и т.п. Про эти алгоритмы и рассказывать-то неудобно - бот просто идет по прямой к препятсвию, и, если натыкается на стенку, поворачивает направо/налево и идет вдоль стенки. 2) В стратегиях обычно используются более продвинутые алгоритмы вроде поиска в ширину/глубину (в чистом виде используются редко) и их производных. Самым популярным считается алгоритм A*. Про эти алгоритмы в сети очень много информации, ищи по таким ключевым словам: поиск в глубину поиск в ширину лучевой алгоритм посика двунаправленный поиск алгоритм A и A* алгоритм Дейкстры Цитата:
Ну а если есть проблемы, то забей на вывод - смотри результат! Там куча примеров! А без знания, что такое "Матрица" (поклонникам всяческих Избранных не сюда) тебе сложно будет толковую игру сделать... Про трехмерную графику я вообще не заикаюсь - там матрица на матрице сидит и матрицей погоняет. P.S. Лично я в своей игре использовал алгоритм поиска в ширину - он неплохо работает на прямоугольных и даже гексовых полях, если нет типов местности разной проходимости, а есть только препятсвия. |
Народ помогите.
Дайте толковую ссылку (желательно в ЛС), на хорошие сайты по Borland Delphi, или написание своего движка на Delphi C НУЛЯ. Заранее всем спасибо. |
Цитата:
|
Я с одними ребятами пробовал игру делать, мне поручили сюжет писать, но я так ничего дельного и не написал, так всё и прошло :)
С какого языка лучше начинать ? Я вот хочу простенькую прогу сделать,или хотя бы текстовую игру. Или прогу, где картинка с кнопкой внизу, нажимаешь, происходит действие и т.п. Подскажите где можно или Дельфи, или Визуал Бейсик скачать. |
Если выбирать из "Дельфи" или "Визуал Бейсик", то выбирай "Дельфи"!
|
Ну скачать вряд ли где можно, разве что из пиринговых сетей. А вот у пиратов купить - вполне. Вообще говоря, лучше сразу учить C++ по толковой книжке, но из Delphi и VB разумеется лучше учить Delphi!
|
Всем
Кто-нибудь знает, как можно быстро высчитывать FPS при работе с DirectX. Я имею в виду, чтобы значение FPS обновлялось постоянно (чтобы понять о чём речь, откройте Winamp. Далее следуйте Help > About Winamp > Credits. В появившемся окне FPS обновляется постоянно). |
Ну, то, что оно обнвляется постоянно, понятно. А высчитать его просто - ведь FPS, по сути, то, сколько раз в секунду выполняется рендеринг в цикле, поэтому просто учитывай реальное время с точность до миллисекунды (можно и до секунды, тогда первая секунда сбрасываетя...). Например, использую функцию Windows API GetTickCount().
На примере вряд ли скажу, т.к. под чистым DirectX уже давно не писал, но примерно так: Код:
Old = число миллисекунд |
Цитата:
|
Вообще-то FPS = Frames Per Second, т.е. они должны обновляться каждую секунду. Но если уж тебе не терпиться обновлять их чаще, просто вместо 1000 миллисеунд используй, например, 100, и умножай результат в 10 раз.
Вообще говоря, вопрос достаточно странный. FPS есть показатель быстродействия игры, и интерисует он, по большей части, только свои средним (какая скорость будет "обычной") и минимальным (как игра будет тормозить в особо сложных случаях) значениями. Секунда является неплохим промежутком времени, и смысла делать его меньше или больше я не вижу. Кстати, для игровой механики FPS не играют никакой роли. Практически всегда нужно знать лишь время, за которое рендерился предыдущий шаг цикла. |
Мля, поручили знакомы найти бесплатный 2D-движок, а что именно выбрать - не знаю! Подскажите, плиз!
|
1) У меня такой вопрос: какой компилятор С++ наиболее идеально подходит для гейм-кодинга? Предугадывая ответ сразу спрошу, MSVC какой версии лучше всего брать для этих целей?
2) Вопрос к pokibor'y: для какого компилятора(или компилятор не имеет значения?) предназначен упомянутый тобой выше бесплатный движок? 3) Какие ещё есть бесплатные движки(3D) на С++(а также для Delphi кроме DelphiX и GLScene)? От себя добавлю, что неплохим стартом для понимания игрового программирования будет изучение ActionScript - языка идущего в комплекте с Macromedi Flash. По форме он похож на С++, однако игтеграция его в графическую систему позволяет намного быстрее получать результат. AC идеально подходит для написания аркад, а в этом жанре, как известно, можно воплотить практически любые идеи. //Это была не реклама, :) а чистая правда... И напоследок ещё вопрос: кто-нибудь пытался писать моды для HL2? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Код:
void CFPSCounter::registerFrame(u32 now) Функция вызывается каждый раз после рендера. Для тех кто не копался в движке: f32 - обьявлено как typedef float s32 - как typedef signed int FPS возврашается другим методом класса... который просто возвращает значение framesCounted Pokibor +1 - тут и добавлять то не че к ответу вроде как... |
Всем
Я хотел бы выложить в ближайшее время демо-версию своей собственной аркады на обозрение форуму Игромании. Подскажите какие-нибудь хостинги, где файл сможет храниться постоянно (а не как на Webfil'e неделю). Заранее благодарен. |
Xar
http://www.slil.ru - файл храниться 30 дней с момента последнего скачивания! Т.е. если твою игру будут постоянно качать, то есть возможность, что он ваще не удалиться! И еще к тебе вопрос: На чем игру пишешь? С кем? |
razor21
Благодарю. Демо выложу в ближайшие дни (надо довести ещё кое-что до ума). Цитата:
На Visual Basic. Один, на собственном движке и с собственной графикой. Правда немного с графикой помог друган, но и только. |
Xar
да нет смеяться я не буду! А почему ты не выбрал язык более высокого уровня и более мощный? А какой жанр? |
Цитата:
Цитата:
|
Можно вопросик?
КАК ДЕЛАТЬ ИГРЫ??? какие для этого проги,как создавать прог. файлики? Помогите,пожалуйста! |
Skiminog
Для этого нужно знать хотябы один язык програмирования и движок на катором писать игру! Но можно пойти проще для новичка предложу программу RPGMaker для создание RPG игр, там всё просто весит 20 мег в инете леко найти если запустиш разобраться будет несложно никакого знания языка програмирования по началу ненадо, вобщем если скачаеш непожелееш, сам на ней сейчас игру делаю( и ресурсов инете полно). |
Skiminog
А ты вообще знаешь какой-нибудь язык программирования? В принципе зря я это спросил, т.к. ты даже не знаешь, как делать игры! ROLF Через такие программы не интересно делать игры!!! Тебя не мучает такое чувство, что эту игру сделал не ты? |
Что больше ни у кого нет вопросов? Есть, задавайте!
|
razor21
Цитата:
|
ROLF
разве нет выхода из этой ситуации? Обратись к людям понимающим... можешь например у меня что-нибудь попросить, если будет время я помогу. |
Цитата:
|
razor21
Цитата:
Xar Цитата:
у меня с моделированием и рисованием плохо! |
Цитата:
|
Цитата:
|
razor21
Напрасно ты смеешься. На таких простых проектах легче всего набить руку в создании AI. Крестики-Нолики особой сложности не вызовут, и будешь ты играть в постоянную ничью. А вот попробуй сделать аналогичную игру - "Го-Моки": поле неограничено, и необходимо выстроить пять в ряд своих элементов. Хороший тренинг. |
Айдес
Это хороший тренинг для начинающих! Для тех, кто только собирается работать с AI. Цитата:
|
Люди расскажите про Bump маппинг. Я делаю движок под OpenGL и не очень представляю вообще что это такое (((
Заю только что так красивее) |
Как же это так? Ты пишешь движку OpenGL и не знаешь что такое Bump-mapping!!! Скажу тебе так: с ним действительно все красивее, красивее всё! Я с OpenGL работал мало и не тесно, и поэтому много об этом незнаю! Так сказать, *помог чем мог!*
|
:mad: мне бы узнать как енто реализовать
|
Моя игра:
Крестики-нолики на 5 клеток ("Го-Моки") Цитата:
AI, как мне кажется, весьма неплох. Интерфейс тоже. Правда игру эту я сделал около полугода назад. За отсутствие глюков не ручаюсь. Цитата:
|
АИ вот только вроде ни чем не отличается)))
а так молодца))) |
Xar
прикольно сделал на чём писал я так думая по весу игры скорее всего на си? Блин а я на делфи у простых крестиков ноликов AI написать то немогу только проги пишу вот сейчас проигроваиель доделываю если надо могу скинуть! Может кто подсказать где почитать или исходы посмотреть про AI на delphi 7? |
Цитата:
Что касается AI, то, на самом деле, чтобы сделать нормальный интеллект нужно много поразмышлять о его логике. Лучше всего представить, что в той или иной ситуации сделал бы человек, а затем это действие прописать компу. Вообще - это очень сложный вопрос, а я здесь далеко не специалист... |
ROLF
Ха! По размеру файлов взялся определять язык! Определять надо по другому! Цитата:
|
razor21
не просто делфи визуальный язык и просто пустой проет весить 300 кб а бейсик тоже визуальный вот просто и предположил что скорее всего на Cи обычно проекты на си мало весят! Xar Цитата:
|
ROLF
Проекты на С++ обычно весят больше, чем на VB. Цитата:
|
А у меня вопрос - Где книжку в Питере можно приобрести по "Игроделанию"?
Может замутим что-нибудь вместе... |
Alesandro
Есть много всяких книг, но ты обратился не в ту тему, тебе надо в Поиск документации. А что ты решил книгу купить и сразу делать совместный проект? ха |
Ну вообще-то я не нуб, просто хочу книжки почитать, чтобы избежать глупых вопросов... А совместный проект... Рисовать я умею, концепцию составить могу, и сюжет придумать тоже...
|
Alesandro
Тебе не сюда! |
Вот спасибо! А то я не догадался...
|
Alesandro
Чувак, что умеешь, пиши мне в личку, мы щас кое-что мутим, таланты нужны =) |
Так. Ребят, мне очень нужен 2d движок (бесплатный) для C++ Builder 6. Подскажите, пожалуйста!
|
ЛЮДИ!!!
вот я делаю адон но он больше получится как полноценаая игра на движке всем известного блицкрига2 там все будет другое. . так вот если я почти все закончу тоесть игра когда подойдет к уже выпуску можно ли будет её куда нибудь отдать тоесть чтобы её издавали??? извините за делитантский вопрос =)) |
PLA.Tramp
Ниваловцам отпиши, может согласятся |
спасибо
|
PLA.Tramp
Можно в Акеллу. |
мона вот тока я незнаю лучше ли сразу сделат ьигру или сначала найти распрастронителя?
|
Цитата:
|
хмм
просто там довольно орегинальный сюжет и подход =) ну я так сделаю версию на 60% и потом дему =) спасибо! есть еще советы |
Цитата:
|
Чтоб найти издателя тебе нужно сначала:
Написать офигительный диздок. Сделать офигителбную демку где будут реализовано как можно больше фич которые будут присутствувать в оригинальной игре. Заверить издателя любыми способами что етот проэкт не загнется ещо до выпуска. Слушаться издателя если получишь всетаки контракт Например те могут сказать упростить офигительную файтинговую систему самый простой пример етому - "Хроники Ридика" где файтинговая система была настолько сложной что ее решили вырезать в самом конце перед релизом игры. конецно про файт систем сказано просто в пример Ну а если получишь издателя то он тебя обеспечит финансами нужными для разработки проэкта в той степени чтобы его можно было смело показать миру Ну и если что то не ладиться с проЭктом то он тебе может предоставить специалиста в той сфере которую тебе надо т.е. там где трабла возникла. так как если издатель вбухал в тя деньги то ему будет не выгодно терять проЭкт ещо на стадии разработки. Так же могут и отобрать у тя етот самый проэкт - так как ето как раз есть в условии контракта ... то есть если не успеваешь в срок не выполняешь то что необходимо издателю или чото не нравиться ему ))) Короче говоря с издателем ещо дел похлеше ! Есть конечно вариант организовать продажу своей игры как ето реализовано в стиме... но ето тебе придеться поднапрячся с разработкой такой системы ))) А с адоном тебе лучше всего соваться к издателю который реализовывал локализацию оригинальной игры Так как наврядли за ето дело возьмуться издатели которые не указаны в авторских правах Поетому пробывать лучше всего к оригинальному локализатору/издателю - будет намного больше шансов обрести себе КРЫШУ))) Конечно много левого написал не относящегося к твоему вопросу но думаю кому нить другому приголиться |
не это все мне надо а вот если я сначала всю игру сделаю а потом тока буду искать распростронителей то получается и денег будет меньше(хотя делаю не из за них) и просто
хотя кажется так проще |
Цитата:
|
Цитата:
(всем кто отвечал на выше посты + ставил) |
Придумываешь защиту игры, требующую ввода некого пароля, желательно зависящего от нескольких параметров, сообщенных пользователем (например, от его имени и e-mail'а). Без ввода этого пароля пользователю доступен только демонстрационный уровень. Для получения пароля требуется тебе заплатить (в способах интернет-оплаты я не специалист...). Потом выкладываешь игру на серверах для freeware/sharware программ, благо их полно в интернете.
|
хмм неплохая мысль =)
а вот сколько средние кол-во уровней должно быть? |
Цитата:
Вообще говоря, главное, чтобы уровни были разнообразными и интересными, а то когда в сотый раз строишь одну и ту же базу, мочить одним и тем же оружием одних и тех же монстров и т.п. - это кошмар. В общем, тут ограничение накладывает скорее твой талант левелмейкера, чем что-либо еще. |
=) там небольшая альтернатива великой отечественной и сам геимплей будет менятся тоесть по моим идеям там будут интересные задумки
тока вот я еще незнаю какую сложность задавать =) так и охото чтоб по сложней но ведь так нельзя? |
Ну так сделай несколько сложностей. Например, на низкой у игрока будет бонус во всем (T-34 будет "Тигру" за полкарты башню сносить :sml:), а на сложной - наоборот, у компа будет фора. А AI везде одинаковый. Так и проблем меньше, и сложности есть. Хотя AI тоже можно урезать, но это зависит от того, как он будет реализован.
Или вот например: миссия - спасти, например, командира на танке. На низкой сложности он будет бессмертным, а на высокой - вполне смертным, и нужно будет поторапливаться, пока враг до него не добрался |
ха впринципи верно =)
спасибо мож есть еще какие то хитрости? |
Цитата:
|
Помогите! Я хочу заняться разработкой игр!
Подскажите где мне взять какую-нить инфу. (для очень начинающих:lamo: ) |
Сперва выучи язык программирования вроде C++! Без знания языка в геймдеве делать нечего :sml:.
А инфу смотри здесь: http://www.gamedev.ru/ и здесь: http://www.gamasutra.com/. Ну и еще здесь по Visual Studio-языкам: http://msdn2.microsoft.com/en-us/default.aspx. Тебе, думаю, хватит. |
Спасиба!
А чем отличается C++ от C++ Express Edition? |
Цитата:
|
http://www.uraldev.ru/news/detail.php?ID=341
http://www.gamedev.ru/community/xna/ Довольно интересный ход от майкрософт - выпускает свою среду для разработки игр XNA Game Studio Express Думаю покибору понравиться - так как будет на C# |
Цитата:
А Майкрософт - молодец! Деньги знает откуда получить. Пожалуй, первые лет 5 это ему очень неплохие пачки зеленых купюр обеспечит, ну а дальше придумает еще источники :sml: |
Цитата:
Цитата:
|
=) Ну да они ето очень хорошо знают...
Так как сто пудову под XBox 360 игры пишуться на етом самом пресловутом языке... Да и кстати по уборке муссора в играх написаных на С++ тож надо мозги напрягать и писать очистку всего что уже не нужно в лучшем случае Етого конечно могно не делать но уж лучше постараться чтоб все чисто было))) |
Цитата:
И, несколько отходя от темы, но про память: как не странно, не все знают, что объект в C++ вполне может уничтожить сам себя, достаточно в его методах там, где это нужно, delete this; прописать. Главное - не делать этого в деструкторе, т.к. тогда это бесконечный вызов этого самого деструктора вызовет :sml:. Данным трюком я пользовался при создании взрывов и пр. во все еще делаемой игре: взрыв сам следил за тем, сколько времени ему еще осталось жить, и по истечении этого времени сам удалял себя из списка взрывов и из памяти. |
Цитата:
К тому же знаю чела который пишет свой движок на С#... Ни каких проблем у него етот язык у него не вызывает... Да и картинка выдаваемая движком уже даже счас смотриться очень хорошо... Могно даже сказать у него в скором времени получиться next-gen движок))) И пишет он для того чтобы потом етот движок использовать на XBox Вот сами посмотрите скрины и видео из его двигла... http://forum.uraldev.ru/index.php?showtopic=144&st=20 Ближе к концу темы там лучше скрины ))) |
у меня вопрос на каком имено C++ пишут игры есть же несколько версий
майкрасофт визуал C++, borland C++, на каком имено пишут игры? |
Цитата:
|
pokibor
Тоесть мне сейчас надо учить Visual C++? можеш ссылку дать где её можно скачать? |
Цитата:
|
Просто я всегда думал что игры пишут на невизуальных языках?
|
Цитата:
|
Цитата:
Скажем, если считать визуальной средой BCB и Delphi, то MS VC++ по "визуальности" им серьёзно проигрывает. (при установке Builder'а в списке его фич значится нечто вроде "возможности конвертирования из VC++ и других невизуальных сред") Не помню точно, когда C++ от Microsoft приобрёл приставку Visual, но произошло это, с одной стороны, из маркетинговых соображений (теперь в MFC-приложениях в диалоговых окнах можно мышкой рисовать элементы управления), а с другой, Delphi тогда (поправьте меня, если это не так) не было, и "визуальные возможности" для того времени были действительно велики. Далее, на VC++ (как впрочем и на BCB ) можно писать обычные Win32 программы, не используя никаких визуальных расширений (MFC там, ATL или VCL в случае с BCB ). Именно так обычно пишутся игры, а визуальные библиотеки нужны для офисных приложений. |
Народ пожалуйста киньте ссылку на какой-нибудь приличный C++ компилятор.Только не Visual Studio.net, он у меня не ставиться. Или если у кого стоит Visual Studio, киньте мне пожалуйста архив на мыло.BlaDeShot@yandex.ru.Заранее благодарю
|
Цитата:
Тем более, что здесь он оффтоп. :tema: |
Я конечно не очень разбираюсь в програмировании, но всетаки решусь спросить. Мы тут с друзьями разробатываем игру. У нас есть движок ORGE одна из последних версий, есть кое-какие модели для игры ну и прочее... Крутых програмистов у нас пока нет... И я вот решаю сам разобраться с двиглом... ЛЮДИ! ПОМОГИТЕ кто чем может по этому движку (желательно на русском языке) статьи, документация, ну и прочее... Желательно с азов...ну там как модельки загнать...с чего лучьше начать... Заранее спасибо...
|
Цитата:
|
Про Irrlicht я тоже кое-что слышел, у меня он тоже есть. Но кроме запуска демок ниче толком сделать не смог... Если уж есть возможность подскажи.
|
Цитата:
|
pokibor
В readme-файле с движклм irrlicht написано, что, мол, можно этот движок поставить на компилятор Dev-C++ - это правда? Если да, то подскажи как? |
Короче на Irrlicht мне нужны статьи на русском по загрузке моделей в движок, а так-же нужны статьи по созданию несложных примеров...
|
Цитата:
Цитата:
Начал писать тебе объяснение, но оказалось, что razor21 таки кинул какие-то статьи. Я так понял, это просто перевод примеров Irrlicht на русский язык. Что ж, тоже неплохо, вот только из примеров можно научиться далеко не всему, но какую-то базу они тебе дадут. Впрочем, знание английского тебе все равно понадобится. Посмотрел статьи по подробней. Оказалось, что это даже не полный перевод примеров Irrlicht, а только первых 6 примеров. Значит, в них нет примеров со столкновениями, с частицами, с шейдерами и прочего. Обидно. Надеюсь, их отсуствие все же подхлеснет тебя к самостоятельной деятельности с разбором кода примеров и чтением хелпа. |
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 Спасибо! |
pokibor
А ты когда-нибудь пробовал сам писать движок? Я вот никогда не пробовал и хочу попробовать... не знаешь с чего начать? Может ты знаешь, где можно скачать статьи по созданию движка на С++? |
Цитата:
Статьи... глянь в соответсвующем разделе на www.xdev.ru - там есть уроки DirectX 8. |
А в сети есть учебнички по MS DirectX SDK? И еще: где его взять? Слышал, что с сайта "мелкомягких" можно скачать, да?
|
А как ты всему этому обучался?
|
Цитата:
Вообще, разбор примеров - лучшее средство обучения. Да, нужно знать английский. Я его, кстати, очень плохо знаю, но на чтение хелпов мне хватает. Ну и Lingvo порой юзаю. |
Цитата:
|
Цитата:
|
pokibor
Цитата:
А там вообще что, кроме, разумеется, туториала и сэмплов? Ведь в MSVS есть все нужные заголовочные файлы для DirectX. А там вообще нормальный туториал? А то я в MSDN cмотрел - фигня какая-то. 5 Уроков, несвязанные, во втором даже не компилируется. И ещё. В MSVS 2003 DirectX-заголовки есть для 8 версии, как я понимаю в 2005 есть для 9го, так? А если я последний поставлю на свою 2003, то я смогу писать для 9го? И чем отличается 8й от 9го, кроме поддержки шейдеров 2.0? |
Цитата:
Цитата:
Хотя признаюсь, что DirectX я уже здорово подзабыл. Писал на нем всего один проект, неокончил его, потом перешел на Irrlicht. Недавно, правда, думал сетевое приложение на DirectPlay писать, но потом плюнул на него и написал на Winsock. Имхо получилось куда умнее и лучше. |
Спасибо, большое за статьи! Будут вопросы обязательно к вам обращусь... :sml:
|
Ну т.к эта тема по созданию игр, немогу не задать такой вопрос: как создаются сайты разроботчиков игр (причем интерес вызывают бесплатные сайты :sml: ) не зная языка HTML ?
P.S Если я не по теме извините... |
Цитата:
Тем более, что сейчас на всех нормальных сайтах используется как минимум php, jsp или asp - в общем, любая технология, позволяющая генерировать страницы на сервере, потому как дает очень большие возможности. |
Ну, тогда еще один вопросик, как разрабатываются игровые серверы? Есть ли по этой теме статьи на русском?
|
Как вообще делается онлайн в играх? И можно ли это сделать на 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. |
В продолжение темы, опять спрошу...
1)Люди, подскажите как установить GLSceene на Delphy. Просто хочу сравнить с Irrlicht... 2)Где можно качнуть его последнюю версию? Заранее спс! P.S :lamo: |
Цитата:
Ладно, держи: http://glscene.sourceforge.net/wikka/HomePage, ну и уж на русский можешь зайти: http://www.glscene.ru/. Я думаю, там все про установку найдешь. Теперь про сравнение с Irrlicht: для начала приведу высказывание одного достаточно грамотного человека (с MODного форума, разговор как раз про GLScene идет): Цитата:
|
Цитата:
|
Цитата:
|
Да, ты был действительно прав, буду осваивать Irrlicht ! Спасибо за предоставленную инфу.
|
А есть ещё какиенибуть движки на Delphi кроме GLScene?
|
Цитата:
|
ROLF
Есть еще DelphiX, но он, как уже сказал pokibor, хуже. |
razor21
про DelphiX я наю он 2D. |
ROLF
Ты бы тогда и говорил: "кроме GLScene и DelphiX" |
razor21
Извеняюсь я просто имел в виду 3D движков! |
Ребят. Если хотите использовать бесплатный движок для комерческой разработки то есть несколько вариантов.
- Torque Game Engine. www.garagegames.com // сами использовали. Нам нравится, но для новичка - не вариант. Наиболее много возможностей. - OGRE - Если готовы к труду, обороне и перелапачиванию кода на С++ вам сюда. Для комерческой игры отличный вариант. Запаситесь аспирином "у пса" он вам понадобится. - irrlicht - соглашусь с товарищем. Очень приличный двигатель. - nebula2 - Имеютя прецеденты создания комерческих игр. Project Nomands Больше бесплатное не пробуйте друзья. Поверьте на слово. http://www.gamedev.net // Читайте друзья про создание игр и движки. Гадом буду всё прочитаете к старости. www.devmaster.net/engines - Выбирай. Не хочу. www.ogre.ru // это если надо на русском. Про людоеда. Хочу посоветовать irrlicht если только встали с люльки и делаете в этом мире багов первые шаги будущих великих программистов. Не описал ничего подробно. Но если заинтересуетесь - спрашивайте. Помогу. Цитата:
|
Народ! Совершенно случайно наткнулся на одну большую книгу по 3D-программированию, шейдерам и прочему:
http://netlib.narod.ru/library/book0032/toc.htm Крайне рекомендуется к прочтению всем интерисующимся. К модераторам: специально прочитал правила форума, запрещена публикация ссылок только на кряки программ, конкурирующие журналы и пр. подобное. Книги вроде в список не включены :wnk: |
Цитата:
Ссылка в сибирь: 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.