![]() |
Модераторы: Rickert |
![]() ![]() ![]() |
|
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Доброе время суток.
В ветке "Давайте развивать раздел." участники отклонились от сути рассуждения и перешли на формирование команды для какого-нибудь проекта, а в этой ветке я предлагаю программерам делиться своими идеями и начинаниями, которые они же считают важными для новичков и других разроботчиков. Как мне кажется, чаще всего созданием игры загораются именно новички, которые либо знают о программировании очень мало либо вообще ничего, а опытные программисты либо слишком заняты либо уже работают над созданием какого-нибудь коммерческого проекта в большой команде. А новички на форуме так и не могут найти информации о том что нужно для создания игры, что такое движок и каким боком слова C++, OpenGL и 3DMax относятся к созданию игр ![]() Поэтому предлагаю поддерживать эту ветку и выкладывать идеи и важные моменты при создании игр, которые вы считаете полезными для новичков и разроботчиков, к примеру можно быть мастером по созданию игр, но не иметь представлений о сетевой передаче данных и, соответственно, не уметь создавать возможность игры по локалке или инету. А обсуждаемые идеи, может быть, будут подхватываться интузиастами и создаваться команды программистов и художников, причём первые могут быть дыльтониками, а вторые не уметь умножать - и всем будет хорошо ![]() Вобщем, уважаемые программеры, присоединяйтесь к обсуждению, а новички дерзайте спрашивать - сделаем программирование игр общественным достоянием. Я сам не мастер, но уже с опытом и в данный момент создаю игру (в одиночку), поэтому чем смогу помогу. Это сообщение отредактировал(а) KaraKum - 18.3.2008, 12:23 |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
В данный момент я занимаюсь программированием игры в жанре 3-х мерной стратегии на основе OpenGL, в которой можно вращатся по всем 3-м осям. Я уже создавал игру, которая была похожа на Героев меча и магии 3, если ты находишься в режиме сражения (2D на основе GDI). Игра представляла из себя полсе размером примерно 40 на 40 клеток, на которых размещались базы игроков, шахты, нейтральные ресурсы и воины. Целью, соответственно, было уничтожить базу соверника своими воинами, которых нужно было покупать на базе на ресурсы, которые нужно было добывать в шахтах рабочими или украденными у нейтральных воинов.
Размер кода был около 2000 строк - это примерно 2000/60 = 34 страницы книги - немного, но на базе этого механизма можно сделать игру, похожую на Герои 3, только нужны художники и в коде просто менять код рисования квадрата на загруженную картинку солдатика. Эту игру я делал около месяца примерно по 6 часов в день. 3/4 времени потратилось на составления логики игры, которую можно составлять сидя в метро или автобусе или на паре в универе и достаточно только головы или тетрадки. Для этого потребовалось знание языка С++ и прога Visual C++. Вторую подобную игру я бы написал в несколько раз быстрее - мучили некоторые моменты программирования не связанные с игрой. Вобщем, программирование игр дело нетрудное и творческое, поэтому новички - дерзайте ![]() |
|||
|
||||
Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
То что творческое то согласен, но не трудное... кто такое сказал! Конечно если делать игру в стиле то не думаю что там будут какие то трудности! Но если реально розрабатывать свой 3D движок под игру, с системой частиц, шейдерами, колизиями, физическим, мультимедийным движками,загрузкой персонажей,сетевыми протоколами и т.д да еще и в одиночку то тут 2 года будет мало, не говоря о програмировании самого сюжета игры + искуственный интелект это еще потянет на 6 - 12 месяцев, а то и больше, в зависимости от иры! Не думаю что это просто, и один человек не потянет! -------------------- Иногда переменная - это просто переменная |
|||
|
||||
Wolf1994 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: нет Всего: 29 |
Давно занимаюсь программированием различных несложных игрушек. Согласен, что это дело вполне под силу одиночке, если выбрана среда разработки, в которой чувствуешь себя как рыба в воде.
|
|||
|
||||
KaraKum |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Вот именно!
О-О Опять эти нюни! (без обид!) ![]() И конечно я говорил про игру наподобе Героев 3, а не современных стрелялок, где при выстреле в куст дырявятся листья. И я не имею в виду, что игру, которую несколько десятков человек деляют месяцами может сделать один человек за тот же срок, но 3-х мерную игру, где, например, танк - это 3 параллелепипеда: сам танк, башня и ствол (и надо поставить надпись "танк", а то вряд ли кто поймёт ![]() ![]() |
||||
|
|||||
Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
(Не в обиду сказано) Не думаю что кому то будет интересно играть такую игру... если только для себя! Современные игры требуют соответственной графики, музыки и т.д. -------------------- Иногда переменная - это просто переменная |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Вот именно. И свою игру я создаю для многих целей, но продажи в них точно нет. Это как тренажёр для создания виртуального мира вообще, ИИ, логики игры, лан-поддержки и так далее. И когда есть какая-то база можно уже набирать команду или искать работу как программера, типа мол: смотрите я могу вот это и вон то. А лично я для своей игры, хочу научиться подключать объекты сделанные в 3DMAX'e (и сразу будет виден результат - удобно), создать поддержку лан, а также сделать так, чтобы можно было выбрать юнита так, чтобы перейти в режим (этим юнитом) от первого лица - вот такие вот замашки ![]() Это сообщение отредактировал(а) KaraKum - 18.3.2008, 14:11 |
|||
|
||||
Graf_h |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 482 Регистрация: 18.10.2007 Где: г. Ровно, Украина Репутация: 3 Всего: 5 |
Удачи
![]() -------------------- Иногда переменная - это просто переменная |
|||
|
||||
Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
KaraKum, удачи.
Я с другом делаю онлайн стрелялку от первого лица. Называеться Radiation zone. Игра строиться на базе движка иррлайт. сайт движка http://irrlicht.sourceforge.net . Я программирую. Друг моделирует и анимирует. Я сам учусь в 6 классе и мне знаний 6 класса достаточно чтоб делать такую игру. При смерти игрока запускаеться заранее сделаная анимация смерти. Для просчёта обычных движений достаточна математика 5-6 класса. Чтобы кого либо убить выстрелом надо лишь просчитать вектор полёта пули и проверять, если пуля оказалось в позиции игрока то отправляю по сети убитому игроку что он убит и запускаю у него анимацию смерти, и с компа убившего игрока отправляю сообщение что один из игроков(например игрок2) убит. Сложного ничего нет. -------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
KaraKum |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 640 Регистрация: 3.12.2007 Репутация: нет Всего: 1 |
Ммда... Здорово ты.
Да и вообще, способность 3-х мерного программирования реального времени с поддержкой лан-игры - это почти предел знаний, которых нужно для программирования игр. Вообщем, удачи! ![]() P.S.: В 6-м классе пространственные векторы не изучают ![]() Это сообщение отредактировал(а) KaraKum - 19.3.2008, 14:51 |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: нет Всего: 40 |
Dronchik, реально крут, респект!
|
|||
|
||||
Dronchik |
|
|||
![]() Звукач ёмаё ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 1.5.2007 Репутация: 8 Всего: 37 |
Почему же. У нас изучают 2-мерные векторы. А 3-мерный не намного сложнее понять. Спасибо. Ладно. Оффтоп не продолжаем и говорим по теме, дабы не превратить тему в свалку. ![]() ![]() -------------------- Вместо слов делай дело, от которого ты фанатеешь. (с) |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 5 Всего: 27 |
Dronchik рулит!! Отныне я официально его фанат!
Ну а если серьезно, тема-то создавалась для того,чтобы делиться опытом? Я правильно понял? Могу поделиться некоторыми вещами, которые, наверное, все знают: 1. Для зарабатывания денег графикой не достаточно знать принцип программитования графики. Не маловажную роль играют знания оптимизации графики. Например такая ситуация: вы пишете графическое приложение, работающее при разрешении 1380х768, с 30-ю кадрами в секунду. Приходит начальник и говорит: "Я хочу разрешение 1920х1280, с частотой 50 fps". Что делать? Ответ - уметь оптимизировать, слава Богу методов множище. 2. Желательно по возможности отказаться от написанных кем-то классов и написать свои(подчеркиваю - по возможности, то есть при наличии знаний и времени). Так как чужие классы могут содержать чужие ошибки ![]() 3. Если вы делаете игру, не жалейте времени и сил на звуковое сопровождение. Если озвучка вызывает у игрока положительные эмоции (как например в игре Halo), то многие недостатки игры становятся не заметными. Ну хватит пока ![]() |
|||
|
||||
Ryoga |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 262 Регистрация: 20.9.2005 Репутация: 3 Всего: 6 |
Bitter, а какие ошибки содержатся в классе ID3DXMesh? Или просто неудобно что-то?
З.Ы.: Кстати, соглашусь по поводу звука - это очень мощный инструмент создания атмосферы в игре, не стоит им пренебрегать. |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 5 Всего: 27 |
Про ошибки в ID3DXMesh я ничего сказать не могу. Это я просто привел пример готового класса. Но мне он не нравится по ряду причин:
1. Я хочу, чтобы все объекты сцены хранились в одном файле, и подгружались по мере необходимости. При использовании ID3DXMesh, все объекты храняться в отдельных .х файлах. К тому же этот формат текстовый, он занимает больше места на диске, чем бинарный. 2. Я не уверен в его эффективной работе. Мне кажется он подобен классу ID3DXSprite, кстати еще один пример класса, который лучше написать самому. Этот класс жутко тормозит работу графического приложения. Он годится только в критических ситуациях, когда времени на написание своего класса нет. Или когда лень и fps хватает. Кстати, новичкам этот класс понравится. С его помощью можно совмещать 3D и 2D графику. Этот класс выводит на экран битмапы, и вам не надо ни о чем заботиться. Но, повторюсь, он тормозит. Да, вот еще один тонкий совет. Многие новички, в том числе и я, когда был новичком, начинают что-то делать с простых вещей. Например начинают разрабатывать главное меню, рисовать элементы интерфейса и т.д. А когда доходит до самого главного, интузиазм заканчивается и всё. Лучше всего начинать сразу с сердца игры. Например определить какие игровые объекты будут в игре и набрасать скелеты их классов, попытаться набросать класс ИИ, или хотя бы представить что он должен делать и по каким алгоритмам. А потом уже наращивать это до полноценной игры. А интерфейс и меню делать в последнюю очередь как на дисерт. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |