1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Игры своими руками

Тема в разделе "Мастерская", создана пользователем beyl, 10 сен 2006.

  1. AllexInTheDark

    AllexInTheDark

    Регистрация:
    17 фев 2008
    Сообщения:
    45
    Если вы не против, я буду на ты.

    Какую игру хочешь для начала сделать?
    ООП знаешь?
    В некоторых вузах, в качестве курсовой делают софтыерную реализацию 3Д рендера. Делал?

    Добавлено через 3 минуты
    Приведу сюда небольшое рассуждение на тему D3D vs OGL, может кому полезно будет:

    OpenGL и D3D идеентичный по функциональности.
    Это же всего лишь надстройки над GAPI.
    Все, что умеет D3D10, умеет и OpenGL 2.0
    Они отличаются спецификой подхода к расширению.
    DX работает через новые версии.
    Тоесть имеем DX9, пишем игру. Просто тупо используем все возможности DX9. Если же нам вдруг понравилась фича из DX10... Чтож, придется переписывать ВЕСЬ движок на DX10.
    С одной стороны - это не удобно. С другой - гарантирует целостность использования технологий.
    Если твоя игра написана на DX9, то это гарантирует, что она будет работать на карточка с надписью DX9 Supported.

    OpenGL работает через расширения.
    Тоесть пишу я на OpenGL1.0, все ништяк... и тут мне понадобились шейдеры... Переписывать все под 1.5? Нет. Просто подключаю расширение, с шейдерами, весь старый код не имзеняется ни на йоту.
    На первый взгляд все ништяк? Как бы не так. Для, того, чтобы игра запустилась на максимально количестве видух приходится следить за наличием всех возможных расширений, и ставить заглушки, если расширение не поддерживается.

    Два различных подхода к новым технологиям - это вся разница между этими API.

    Я предпочитаю OGL, т.к. я точно знаю, что если через 3 года появится новая фича, то мне не придется переписывать весь двиг, а достаточно будет добавить расширение.
    ИМХО проще воткнуть заглушку на место неподдерживаемого расширения(благо проверка - 2 строчки кода) и использовать расширения появившиеся 3-4 поколения видеокарт назад(благо теже шейдеры существую уже 5 поколение), чем постоянно(раз в 2-3 года) переписывать двиг под новый DX(причем, если ты хочешь использховать фичу из 10DX, то вынужден использовать DX10, а значит расчитывать на будущее, либо отметать добрую половину пользователей, у которых нет висты, или современной карты, в OGL такой проблемы нет).

    P.S.
    Объективности ради стоит отметить еще два факт:
    1) DirectX - построен на Com-технологии. Не скажу, что это большой плюс, но многим нравится. OpenGL - это чисто процедурная API. ОДнако ничего не мешает накрутить сверху свой интерфейс, который более удобен.
    2) OpenGL просто ужасно поддерживается со стороны ATI. Можешь купить топовую карту, и обнаружить, что на ней не работает захудалое OGL приложение, просто, потому что ATIшникам было лень писать нормальный драйвер.
    3) OpenGL - Это мультиплатформа. PC/MAC/PS3 и еще куча других, вплоть до КПК.
    DirectX - это PC/X-Box
    4) Сейчас все более актуальны мультирендеры, т.к. пршел MAc и быстро отъел кусок. Т.к. пришли приставки. Однако под Винду DX более распространен, благодаря жесткой политике MS, и тому, что PR проект ссылаясь на поддержку DX10 - проще, чем ссылаясь на OGL2.0, ибо геймер знает что такое DX(эта та ерундень, которая ставится с новыми играми, добавляет новых технологий), а что такое OGL - не слышал никогда.
     
    Последнее редактирование: 26 мар 2008
    Low_Pressure, Аркос, realavt и ещё 1-му нравится это.
  2. Alex Kagansky

    Alex Kagansky

    Регистрация:
    17 дек 2007
    Сообщения:
    3.054
    Free Pascal прокатит. :) Но только если с OpenGL. Хотя теоретически можно и под директ написать обертку, только геморроя не оберешься.
     
  3. AllexInTheDark

    AllexInTheDark

    Регистрация:
    17 фев 2008
    Сообщения:
    45
    >>Free Pascal прокатит. Но только если с OpenGL. Хотя теоретически можно и под директ написать обертку, только геморроя не оберешься.

    Для дельфи есть DX юниты. Думаю их можно прикрутить к FPC. Правда никогда так не заморачивался.

    Кстати, FPC - это мультиплатформа, и если на нем правильно писать, то игра уже сразу получается кроссплатформенной.
     
  4. realavt Борец с форумным фашизмом

    realavt

    Регистрация:
    11 окт 2006
    Сообщения:
    8.035
    AllexInTheDark, я неожиданно вспомнил, почему решил использовать D3D для движка, в 2000 году у меня была какая-то супедохлая глюкавая видеокарта, какой-то левый Rendition (не помню названия, но она умудрялась зависать в чистом досе), так вот она помоему более-менее нормально только под D3D работала, а OpenGL вообще в софтварном режиме только запускался, причем на эту китайскую поделку даже драйверов в интернете не было. Вот так кусок китайского г. определил направление разработки движка на два года вперед, а потом уже движки делали другие люди, которые очень любят D3D :)

    Кстати, очень мерзкая особенность D3D - необходимость прилагать с игрой майкрософтовские затычки\заплатки под конкретную версию D3D, типа d3dx9_27.dll , если её нету в системе или не лежит рядом с экзешником то юзеры\тестеры будут в ярости и игра будет считаться неработающей. Вот за такое надо мелкомягких нужно давить.
     
    Последнее редактирование: 27 мар 2008
  5. hasslich

    hasslich

    Регистрация:
    11 янв 2008
    Сообщения:
    200
    че-нить простенькое, типа pac-man например...

    это объектно-ориентированное программирование? не незнаю (((
    нет... я учился в политехе и мы тама изучали массивы в основном, а потом ассемблер станков с ЧПУ...
     
  6. AllexInTheDark

    AllexInTheDark

    Регистрация:
    17 фев 2008
    Сообщения:
    45
    Ок. На чем хочешь писать? Какой язык? Какой графический API(GDI,D3D, OGL)?
    Я могу пошагам объяснить\проконтролировать написание того же пакмана(кстати, где то валяется такая же реализация пакмана на GDI) - здесь, в отдельной теме, в icq\gtalk'e.
    Наверно имеет смысл в отдельной теме, может еще кому полезно будет. Плюс товарищи помогут оформить в удобоваримом виде. И мне польза, давно хочу оформить пару статей по интересным технологиям, но негде опыта набраться.
     
  7. DAKSnake

    DAKSnake

    Регистрация:
    5 ноя 2006
    Сообщения:
    259
    извините, но почему ресь идет ислючительно об реализации (будущей) графики?
    есть куча игр вообще без графики (чисто текст или же шрифт)...
    не проще ли начать с такой игры? пониманию процесса написания движка (который обеспечивает взаимодействие объектов в игровом мире) это никак не помешает. а именно это и является главным.
    о графической реализации (если она вообще пригодится) можно и потом подумать.
     
    Последнее редактирование: 30 мар 2008
  8. AllexInTheDark

    AllexInTheDark

    Регистрация:
    17 фев 2008
    Сообщения:
    45
    DAKSnake,
    лично я говорю о графике, потому что это моя специализация. Не о физике же мне рассуждать. :))

    Вообще графика - это самый актуальный момент по ряду причин:
    - Графика позволяет оценить свое творение. Я люблю геймдев за то, что я всегда могу посмотреть на результат.
    - Графика - это отдельный технологический аспект. Для того, чтобы написать ИИ или физику, или еще что-то, нужно обладать минимум знаний. ТОесть это может сделать любой программер. С графикой другая ситуация - ты либо знаешь как ее писать, либо не знаешь.
    - Вся архитектура движка вертится вокруг графики. До недавнего времени 90% ресурсов игры жрала графика. Процентов 80 успеха игры определяет графика(можно с пеной у рта доказывать, что главное геймплей, а можно посмотреть на игры находящиеся в топе и понять, что половина из них держится на геймплее, а вторая - на его полном отсутствии, зато графика красявая)
    - Графика оказывает влияние практически на все аспекты игры, очень часто графика определяет геймплей(Вспомним Сплинтера... Игра взялась из просто демки теневой технологии... технологии, которую надо было кудать прикрутить.. Прикрутили... до сих пор сиквелы штампуют).
     
  9. Аркос

    Аркос

    Регистрация:
    22 июл 2007
    Сообщения:
    87
    Вероятно, Dimouse имел в виду ИИ (AI) для крестиков...
    Да, с этим я увяз (ну, нету мотива всё это расписывать)...
    А остальное - вот, пожалуйста.
    //Ну, не нашёл тогда функции отрисовки плоского текста - вот цифири и объёмные))
     
  10. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    35.165
    Аркос, хых, ну вообще-то я имел в виду нормальные крестики-нолики, бесконечные, где нужно пять в ряд выстроить и вот там-то ИИ это действительно серьезно. Я где-то в 2000-ом году, а может раньше брался за это дело - неосилил. Не факт что сейчас осилю, хотя можно в интернете поискать алгоритмы наверное. Помню меня очень порадовали какие-то крестики-нолики под дос еще (стилизованные под тетрадку в клеточку), сделанные каким-то нашим энтузиастом - ведь товарищ сам разобрался во всем и все получилось! Респект товарищу.

    Ну в общем у тебя тоже для первого раза вполне нормально - базовые основы OpenGL уже наверное получил.
     
  11. AllexInTheDark

    AllexInTheDark

    Регистрация:
    17 фев 2008
    Сообщения:
    45
    По поводу программирования ИИ рекоменду почитать
    Н.Нильсон
    Искусственный интеллект
    Методы поиска решений

    В инете есть в цифре.
    Книжка старая, но классика не стареет.

    P.S>
    Почему вспомнил.. там один из первых примеров - ИИ для крестиков ноликов на базе графа состояний.
     
    Dimouse нравится это.
  12. Alex Kagansky

    Alex Kagansky

    Регистрация:
    17 дек 2007
    Сообщения:
    3.054
  13. Аркос

    Аркос

    Регистрация:
    22 июл 2007
    Сообщения:
    87
    Есть ещё такой журнальчик... ЛКИ (http://LKI.ru/) зовётся... там всё пытаются чему-то научить в плане программирования игр...

    Потуги несеръёзные, но кое-что можно и подсмотреть. В основном - теоретический материал про "DisDoc" - "ДизДок", аналитику и пр.
    Диз.Док. - http://lki.ru/text.php?id=192
    "Панель инструментов" - http://lki.ru/topic.php?id=HandMade
    про Оружие - http://lki.ru/topic.php?id=Weapon
    Аналитика - http://lki.ru/topic.php?id=Analytics
    около-oldSchool-статья - http://lki.ru/text.php?id=671

    В последний раз там даже "кусок ИИ" на Delphi выкидывали...
    Движение в разных условиях: преследование, уклонение, избежание препятствий и пр.

    Dimouse, если подскажешь, как это понимать "бесконечные"... Если в прямом, поле всё дальше и дальше можно загаживать до победного конца... то я пас)
    Мне это ни к чему.
    А если примерно 30*30 или 50*50 - другой разгогвор... Можно и попариться... Хотя там и до "бесконечных" недалеко будет.

    По поводу OGL - нет, основы ещё не доучил.
    Но литературу скажу: Ричард С.Райт-мл. и Бенджамин Липчак "OpenGL SuperBible" - по-нашему "OpenGL - суперкнига".
    Если кому интересно, http://www.samspublishing.com/ (только что заходил - всё лежит (site_down))... цена будет порядка 600~800 деревянных, если память не подводит.

    Собственно, Райт разбирает большую часть, а Липчак - по части шейдеров.
    К книжке прилагается дисочок с exemple'ами. Т.е. исходники программ из книги.
     
  14. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    35.165
    Идеально - да, можно бесконечно загаживать, пока кто-то не выиграет. На деле обычно ограничивалось тетрадным листом в клеточку:) В той реализации про которую я говорю с целью создания антуража была тоже как бы тетрадка, то есть ограниченная. В общем-то алгоритм при этом не меняется.
     
  15. deadjoker

    deadjoker

    Регистрация:
    13 мар 2008
    Сообщения:
    44
    Раньше с командой делали аддон для Томб Райдер 3,точнее они делали а я командывал:spiteful:,но потом разработку прикрыли и в ближайшем будущем продолжения не намечаеться.Если кому надо могу выложить дряхлую бету.
    В нее входит всего один уровней,добавлена новая модель освещения текстур и всякая фигня по мелочи.Вот скрины:
    [​IMG]
    [​IMG]
    [​IMG]
     
  16. Аркос

    Аркос

    Регистрация:
    22 июл 2007
    Сообщения:
    87
    В принципе, он не меняется.
    Просто приходится учитывать, что существуют края... что несколько .. загаживает))... задачу.
     
  17. brig231.narod.ru

    brig231.narod.ru

    Регистрация:
    2 апр 2008
    Сообщения:
    2
    а я пока ничего неумею((((
     
  18. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Если кому интересно, могу кинуть ссылочку на OpenGL - суперкнигу, третье издание, на русском. DJVU, 10Мб.
     
  19. Аркос

    Аркос

    Регистрация:
    22 июл 2007
    Сообщения:
    87
    Давай, с удовольствием скачаю...
    Иногда в печатном варианте неудобно искать некоторые вещи...
     
  20. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление