|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.10.2012, 20:40 | #1 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
Программирование игр на С++
Здравствуйте. Имею опыт написания простых игр на Blitz 3D, в своё время наштамповал около 6 игр. Но заметил, что Blitz-у далеко до современного движка. Даже очень. Вот загорелся написать игру в очень смешанном жанре. Со средней (в принципе даже ниже среднего) графикой, но довольно содержательной. Столкнулся с проблемой: на каком языке стоит писать? 2 часа гугла дали единогласный ответ: на С++. Облазил немало форумов, статей и прочего по созданию игр на С++. Кучу понакачал, но нигде так толково и не нашел, на какой версии, в чем их отличие, на какой приоритетно и т.д. Более того, информация по подобному уж очень короткая и, видимо, не для новичков C. Хотелось бы узнать:
I. В чем различие Borland, Visual и Visual Studio, их разных версий и наконец - на какой прогать? II. Какие IDE использовать? Какие наиболее удобны? III. DirectX или OpenGL, на каких версиях? IV. Какие библиотеки подключать - физики, GUI и т.д.? Прошу давать ссылки на дистрибутивы, если можно. Программировал на Blitz, Delphi, Pascal, с математикой и физикой у меня нормально, с алгоритмами тоже более менее, так что думаю (и надеюсь), освою довольно быстро С++, т.к. в основном различие в синтаксисах. Да и будьте добры - разжуйте, ибо я с работой на С не сталкивался пока вообще. Заранее - большое спасибо! |
01.10.2012, 21:34 | #2 |
Форумчанин
Регистрация: 17.12.2011
Сообщений: 111
|
Если ни разу не сталкивались с С++, то рано ещё думать про OpenGL и DirectX.
Думаю, вам стоит начать с этой литературы. Учите всё по порядочку, не лезьте сразу в дебри |
01.10.2012, 21:42 | #3 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
Спасибо, Axrik, обязательно учту. Но хочу всё же развёрнутый ответ увидеть.
Да и кстати, неплохо учиться и по видео-урокам, т.к. текст я не очень эффективно воспринимаю. Последний раз редактировалось Juggernout; 01.10.2012 в 22:01. |
02.10.2012, 00:02 | #4 | ||||
Форумчанин
Регистрация: 17.12.2011
Сообщений: 111
|
Цитата:
Коротко говоря Visual Studio содержит в себе все предыдущие версии Цитата:
Цитата:
Лично мне было легче изучать DirectX (возможностей немало), но сильно ли он отличается от OpenGL сказать не могу ибо не знаю. Попробуйте оба варианта и определитесь сами (ну и литературку почитать конечно надо бы ) Цитата:
Выбор библиотеки, конечно же, зависит от того, что вы собираетесь делать. Обычно с этим трудностей нет. Если собираетесь работать на С++, то обязательно разберитесь с аббревиатурой ООП (это метод разработки программ, при котором основным инструментом являются объекты (классы), а не алгоритмы) Ссылки, к сожалению, дать не могу, т.к. сам всё на бумажном носителе читаю Удачи. |
||||
02.10.2012, 00:27 | #5 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
Спасибо большое, помогли, Axrik!
P.S. Уважаемая администрация, не закрывайте пока тему, могут появиться вопросы, спасибо. |
02.10.2012, 00:44 | #6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Juggernout
I. В чем различие Borland, Visual и Visual Studio, их разных версий и наконец - на какой прогать? Borland - теперь это то ли китайцы, то ли какие-то индусы , которым досталось тяжелое наследие борланда. Идеальный инструмент для мышкошлеперов, и хелловорлдов, для программирования подходит мало Visual, оно же Visual Studio - джедайская среда разработки от Microsoft. Выбор профессионалов и суръезных челябинских программистов, да и просто чОтких патСанов если говорить кратко - Borland и Visual Studio - это как Экслер и Гоблин. первое - для эстетствующих п****л, второе - для настоящих мужиков. (((Ж II. Какие IDE использовать? Какие наиболее удобны? Использовать Visual Studio 2012 III. DirectX или OpenGL, на каких версиях? OpenGL, похоже, в игрострое никому кооме Кармака не нужен. использовать DirectX9 с поддержкой 11 IV. Какие библиотеки подключать - физики, GUI и т.д.? GUI - свой. Физика - Havok или Physix первое - универсальное для любой видеокарты, второе NVidia only, но аппаратное. Использовалось слабо, но Бэтмен доказал что потенциал у движка есть.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
02.10.2012, 02:06 | #7 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
Rififi, тоже большое спасибо за ответ! Хороший форум, сразу несколько качественных отзывов! Буду всё иметь ввиду. Благодарствую.
|
02.10.2012, 13:50 | #8 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
С синтаксисом С++ более-менее уже разобрался, всего то за 6 часов. С ООП оказывается я сталкивался в Blitz 3D, только в более примитивной форме. Так что, особых трудностей не было при изучении на С, хотя я в С насчет ООП сильно не углублялся.. Появились вопросы:
V. Использование указателей обязательно при создании довольно объёмной программы? (Как я понимаю, можно тут и без них в принципе) Можете привести словесные примеры, где указатели ну просто необходимы? VI. Можно ли сделать так, чтобы работать с объектами класса в виде списка, в том смысле, что например сделать функцию добавления нового объекта, затем ф-ю обработки всех объектов и при необходимости в обработке их удалять, а не делать объекты-массивы и возиться с индексами? (В Blitz 3D с этим гораздо проще, или я чего-то не знаю..) VII. Стоит ли качать полностью Visual Studio 2012 или только его часть С++, и возможно ли это? VIII. Где качать библиотеки DirectX 9 именно для С++ и как их "пристраивать" к нему? IX. Как DirectX работает с моделями? Может ли он использовать 3D модели 3D-Max, или Autodesc Inventor, к примеру? Заранее спасибо за ответы! |
02.10.2012, 15:16 | #9 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
V. Там, где нужна возможность указывать "неправильный" адрес (типа 0, нет адреса). В принципе с подходящими wrapper классами можно никогда не использовать *
VI. Сделать можно все что угодно, вопрос не слишком понятен. Если вы спрашиваете есть ли готовый объект list, то да, есть IX. Насколько я знаю, ни OpenGL, ни DirectX напрямую с моделями не работают - там нет таких концепций вообще. Есть треугольники с текстурами (ну, грубо говоря). Вот почему есть разные движки, которые дополняют функционал. |
02.10.2012, 22:55 | #10 |
Пользователь
Регистрация: 01.10.2012
Сообщений: 23
|
Спасибо, Waleri.
Насчет VI: #include <list> using namespace std; class spisokclass { public: string name; int age; }; int main() { list<spisokclass> spisok; spisok d; d.name="Evgenii"; d.age=26; d.push_back(data); d.name="Anton"; d.age=21; spisok.push_back(data); cout << getsize(spisok) << endl; for (int i(1);i<=getsize<spisok>;i++) { cout << spisoc.age << endl; spisoc.erase; } return 0; } Понимаю, здесь полно ошибок, но конечно в Blitz 3D я бы написал то, что хотел здесь в 5 раз быстрее и безошибчно. Хочу реализовать список объектов определенного класса и с ними работать. Можно и через массивы - но если представить, как придется помучиться с обработкой большого кол-ва данных и оптимизацией - то уж лучше мне с этим помучиться. Подскажите правильный синтаксис, пожалуйста. Простите конечно за мою наглую просьбу исправить мой код, но я пересмотрел 5 книг и несколько исходников на похожую тему, но так ничего и не нашел, вот сижу в печали Последний раз редактировалось Juggernout; 02.10.2012 в 22:57. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование игр и головоломок | Jill73 | Помощь студентам | 0 | 17.05.2012 19:11 |
Программирование игр и головоломок | Олеся Ю | Паскаль, Turbo Pascal, PascalABC.NET | 33 | 10.05.2012 20:26 |
XNA программирование игр на C# | sergeybr | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 30.06.2010 13:52 |