Приветствуем на Форум Херсона. Форум Херсонской молодежи.. На данный момент Вы находитесь на форуме как Гость и имеете очень ограниченные возможности и права. Что бы писать или отвечать в темах, загружать картинки, файлы на форуме Вам нужно зарегистрироваться, что совершенно бесплатно. Регистрация очень быстрая, не откладывайте эту процедуру! Если возникнут проблемы с регистрацией напишите нам. |
|
Программирование Все вопросы по написанию программ |
|
Опции темы |
17.02.2008, 13:57 | #31 (Ссылка на пост) | ||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Доступ я не убирал.
Возможно комп был выключен, или лаги сети... Так, теперь ответ pingwinatorу. Так как мне было нечего делать я написал примерно то что тебе нужно. Но только примерно. Код - максимально упрощен, и написан за 1,5 часа, так что искать в нем глубокие смыслы ООП и т.д. - не нужно. Код можно разделить (образно) на пару частей: - создание окна (на WinAPI) - инициализация Direct3D (создание девайса), и всего остального. - гланый цикл (в методе Run), и отрисовка. В коде стоят кое-какие жалкие коментарии. Код на С++ (я надеюсь другого не ожидали )) ) Модель шара загружается из файла, т.к. мне было впадло писать функцию генерации шара из треугольников. Это наиболее упрощенный вариант, то есть без текстур и без освещения. Кстати, можете поупрожняться в математике прикрутив сюда освещение. Это делается довольно просто (в смысле самое примитивное освещение) - в структуре TVertex - есть поля nx, ny, nz - это нормаль вершины. Берем точку источника света за 0, 0, 0 - тут как раз находится солнце, затем циклом бежим по вершинам планет и подсчитываем коэфициент освещенности: k = N * L где N - вектор нормали (nx, ny, nz) L - вектор от источника света до позиции вершины - вычисляется как нормализировать([позиция вершины] - [позици источника]) и '*' - это скалярное умножение (dot product) - это и будет коэфициент освещенности. тогда цвет вершины будет: color = M_RGB((int)255.0f*k, (int)255.0f*k, (int)255.0f*k); Код и exe лежит в архиве, чтобы скомпилить код нужен DirectX SDK (у меня на ФТП есть). Под Линукс... Вообще под Линукс - OpenGL, но для отрезка думаю не стоит его дергать. Я програмил на Kylix - там будет попроще, есть Canvas - и вперед, то есть как в винде на Делфи/Билдере. |
||||||||
|
Эти 3 пользователей сказали Спасибо Marchello за хороший пост: |
17.02.2008, 14:04 | #32 (Ссылка на пост) | ||
забанен
Мой дневник
Пол:
|
Цитата:
Цитата:
пойду почитай библиотеку ибм
__________________
|
||
|
17.02.2008, 15:10 | #33 (Ссылка на пост) |
Извините, я на тракторе!
Пол:
|
прикольно, мне понравилось
__________________
Какая разница из какого места растут руки, если они золотые. |
|
17.02.2008, 17:16 | #34 (Ссылка на пост) | ||||||||
Модератор
Пол:
Благодарил(а): 30,810
Благодарили 37,603 раз в 8,037 постах
Галерея:
0
Вес репутации: 401
|
Марчела маладца, одназначна.
|
||||||||
|
20.02.2008, 08:52 | #35 (Ссылка на пост) | ||||||||
Модератор
Пол:
Благодарил(а): 30,810
Благодарили 37,603 раз в 8,037 постах
Галерея:
0
Вес репутации: 401
|
Марчело, ты как местный гуру гэйм депелопмента скажи что за зверь этот XNA Game Studio от Microsoft, насколько распостранен девелопмент игровой с его использованием. Еще кто знает делитесь информацией интересно будет почитать.
|
||||||||
|
20.02.2008, 10:43 | #36 (Ссылка на пост) | |||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 6,493
Благодарили 7,331 раз в 2,872 постах
Галерея:
0
Вес репутации: 98
|
Цитата:
Последний раз редактировалось wouldnt_even, 20.02.2008 в 10:46. |
|||||||||
|
Эти 2 пользователей сказали Спасибо wouldnt_even за хороший пост: | Rammf (20.02.2008) |
20.02.2008, 14:34 | #37 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Цитата:
Начнем с того что XNA - это C#, а С# - управляемый язык. Следствие этого - ниже производительность чем native языков. Нет прямого доступа к памяти, и почти не управляемый (программистом) garbage collector. Например, есть у меня массив структур - и нужно его скопировать в другой массив - на С/С++ - одна комманда memcpy - один кусок памяти копирует в другой, а на С# так просто не выйдет, нужно перебирать массив и делать переприсвоение вручную. Может кто-то скажет "У Array есть метод CopyTo" - неправильно, это будет не глубокая копия. Или, например, самый распространенный тип в игре - 3D вектор - делать его как value type или как reference type ? А хрен его знает. Если value type - при передаче в функции как параметр будет происходить копирование данных (лишнее) - плохо, а если как reference type - нужно будет динамически выделять память из managed кучи - это тоже плохо. Ну и всё в этом роде. Чесно говоря, не раз приходилось убеждаться в плохой производительности managed кода вовсе не в рамках игр и т.п. Не везде конечно, но есть bottle neck-и... Если вооружиться С++ - у программера больше свободы. Он контролирует все, начиная от регистров, asm вставок заканчивая своими менеджерами памяти. Я имею практику как C# так и C++, C# удобнее, проще, многое написано уже до/для тебя - .NET Framework, на С++ все наоборот, зато полный контроль, полная свобода действий, и ощущаешь себя true програмером ;) Но не будем устраивать holy war между языками, ведь речь собственно не об этом. Оба языка, даже не языка а "native vs managed" - имеют свои преимущества и недостатки... Так вот, XNA - это, грубо говоря, managed обёртка над DirectX. То есть, юзая XNA - последний в свою очередь юзает DX. С одной стороны лучше работать без "посредников" - с другой - с посредниками проще, удобней, быстрей. Многие запускают примерно одинаковые демки на шарпе (XNA) и на С++ - говорят "смотрите, fps одинаковый!" но это ошибочно, так как в этом случае простая посылка данных на отрисовку будет работать одинаково, другое дело полноценная игра. Помню как сказал Tim Sweeney - главный прогер линейки Unreal - простые люди даже не подозревают на сколько мощны сегодняшние процессоры, и как много расчетов они могут сделать в еденицу времени. В полноценной игре - расчетов огромнейшее количество. Справиться ли C# с таким количеством ? (за минимум времени). В общем, вывод такой, если вы не собираетесь писать игру аля Unreal3 - XNA вам в помощь. И еще C# не стоит на месте, там придумывают новые технологии для JIT компилятора и т.д. так что возможно когда-то managed code сравняется в производительности c native кодом. Также многие true программеры не любят "чёрных ящиков" - коим является и XNA и .net framework в целом, весь нужный код пишут сами и под себя, поэтому они по прежнему выбирают native код. Вы не подумайте что я намерено пытаюсь "унижать" XNA и managed подход, Microsoft двигает эту технологию вперед, а вот будет ли она понастоящему востребована или нет, это другой вопрос... Managed код прекрасно находит себе применение в других приложениях, а дойдет ли дело до больших реальных игр - я не знаю. Еще играет роль количество наработок, например реальные разработчики игр имеют огромную базу своих наработок/движков, просто классов/кусков кода. Они же все не бросят и не начнут заново переписывать под XNA/C# - смысла нету, так как и их движки и тот же XNA юзают тот же DirectX/OpenGL. Если бы у нас были реальные геймдев конторы - туда бы не брали вас если у вас в резюме будет написано C#/XNA, ну разве что редакторы какие писать на C#-WinForms. В общем для себя, в удовольствие - XNA пожалуйста, а для промышленных масштабов - не покатит (пока что). Я помню, видел сравнения кода на каком-то dark/blitz3D basic-е и на С++. Пару строчек на бейсике - равнялись двум десяткам строчек на С++, это означает что в бейсике довольно много работы происходит "за кулисами" - новичков это более чем устраивало, но профи - на это смотерть не могли ;) В общем, когда я увижу Unreal4 (образно), а не гоночки-шмоночки, на XNA/C# - вот тогда будет о чем реально спорить и думать... Если решил изучать XNA - изучай, это будет не менее интересно чем другое! |
|||||||||
|
Сказали Спасибо пользователю Marchello за этот пост: | ustas (20.02.2008) |
20.02.2008, 19:43 | #38 (Ссылка на пост) | ||||||||
Модератор
Пол:
Благодарил(а): 30,810
Благодарили 37,603 раз в 8,037 постах
Галерея:
0
Вес репутации: 401
|
Спасибо за полноценную лекцию по запрошенной тематике. В том что это вариант для разработки простых решений абсолютно согласен. Еще раз спасибо )).
|
||||||||
|
20.02.2008, 23:21 | #39 (Ссылка на пост) |
Начальник колбасного цеха
Пол:
|
|
|
24.02.2008, 19:15 | #40 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 32
Благодарили 113 раз в 88 постах
Галерея:
0
Вес репутации: 20
|
Цитата:
The static methods defined on the Marshal class are essential to working with unmanaged code. Most methods defined in this class are typically used by developers who need to provide a bridge between the managed and unmanaged programming models. Последний раз редактировалось Aurum, 24.02.2008 в 19:19. |
|||||||||
|
24.02.2008, 19:49 | #41 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Цитата:
Я имею в виду, если уже писать на шарпе - то все будет на шарпе, никаких извратов с unmanaged code. Даже в многих книгах говорят: "старайтесь мол как можно меньше юзать unmanaged stuff, так как unmanaged - это зло (тем более в managed коде), бла-бла". А если уж есть потребность в unmanaged коде - я делаю так: - unmanaged код - в native DLL (например звуковая либа) - Потом на Managed C++ пишем врапер-интерфейс, и его тоже в DLL (только уже managed). - и юзаем уже в том же шарпе эту вторую DLL. Кстати, вот таким вот образом можно юзать некоторые граф. движки в managed среде (C#), то есть, ядро - native code, и через C# - сам интерфейс. А на счет отсутствия memcpy в шарпе - не имелось в виду, юзать её unmanaged вариант, а то что эта вот безопасность (работа с памятью и т.д.) в managed среде - на данный момент - в урон производительности. |
|||||||||
|
Сказали Спасибо пользователю Marchello за этот пост: | Aurum (25.02.2008) |
25.02.2008, 16:09 | #42 (Ссылка на пост) | ||||||||
Taki
Гость
Галерея:
|
Классная тема, за что отдельная благодарность Марчело, и за инфу про XNA (прсто и доходчиво.)
Ну и вопрос по игрострою. Анимацию ботов ты делал программно или анимация делалась в 3Д пакете, а потом посредством плагина экспортировалась в игру. И если можно про процесс анимации в игрострое "в двух словах". |
||||||||
|
25.02.2008, 17:54 | #43 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Цитата:
Под анимацией - я понимаю, например, скелетную анимацию - это система "костей" и их преобразований. Модели я делал в максе, а потом экспортил их через свой самописный плагин в свой формат. Анимацию мой формат (и плагин) не поддерживает. Один момент - я все абсолютно рисовал сам, а так как я не художник - меня это занятие напрягает немного... И главная причина, по которой в моей игре нет анимации - потому что в максе я даже не знаю как её заюзать. Но заюзать - это одно, а нужно ж еще и заанимировать, там понастраивать всякие параметры и т.д. - этим заниматься я не хочу и не умею (нужно много времени, умения/знания, опыта что ли), поэтому на анимацию я забил. Да и видел моих ботов )) там и анимацию некуда прикручивать, так как, опять таки - все нужно рисовать/моделить. А нарисоать (~красиво) персонажа, затекстурить его, заанимировать все нужные движения, потом это все не криво заэкспортить - это целое дело... Все что у меня движеться в игре - это запрограммированые движения, то есть, позиция/угол/скорость/траэктория - расчитываются в реал-тайме по определенным формулам. Там в одной из моих демок можно увидеть листок конопли из частичек - все расчитывается по длинющей формуле (в полярной системе координат) - взятой в инете (типа вставте в МатКад - и он вам выдаст конопляный лист )) ). Так что, ориентируясь в математике, можно частично анимацию организовать прямо в коде. А движение ботов (изменение самих координат) выполняет система ИИ |
|||||||||
|
25.02.2008, 21:09 | #44 (Ссылка на пост) | ||||||||
Taki
Гость
Галерея:
|
Спасибо за ответ.
|
||||||||
|
01.03.2008, 07:39 | #45 (Ссылка на пост) | ||||||||
АптИчески непразрачЕн.
Пол:
Адрес: Дома
Благодарил(а): 483
Благодарили 1,159 раз в 423 постах
Галерея:
0
Вес репутации: 30
|
в 2000 писали МУД очень жырный в плане фичь...
Ядро вЫписали, бизнеслогику, тексты и штук 9 локаций разного уровня зафиченности... но потом поразбредались по киевАм... потом пробовали наваять 3Д стратежку в команде. Задуманные фишки до сих пор не реализованы не в одной известной мне из обзоров игр. ... время шло, и я стал серверным программистом. воттакие вот мои 5 копеек в тему.
__________________
Меньше, чем где-либо, я претендую здесь на полноту, иначе мне пришлось бы повторить массу превосходных житейских правил, преподанных мудрецами разных времен, начиная с Феогниса и псевдо-Соломона и кончая Ларошфуко. Я буду излагать лишь то, что мне пришло на ум, показалось заслуживающим сообщения, и что, насколько мне не изменяет память, не было еще сказно, или, если и было, то не совсем так, я только подбираю колосья на необозримом, другими до меня сжатом, поле. |
||||||||
|
08.03.2008, 22:18 | #46 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 4,004
Благодарили 2,505 раз в 725 постах
Галерея:
0
Вес репутации: 43
|
Я немножко пишу в 3д
Сделал 7 скринсейверов (коммерческих) вот пара последних, самых удачных: http://7art-screensavers.com/alien-c...eensaver.shtml http://www.screensworld.com/index.ph...id=18&Itemid=1 десяток небольших игр (любительских) вот ссыла на самую первую 4-ех летней давности: http://wildboar.nm.ru Законченная еще одна - SmartBots игра для программирования ИИ. Пишешь боту (авто с пушкой и ракетами) искусственный интеллект на бейсико-подобном скрипте, и запускаешь ботов в бой. Все в 3д. Проводили чемпионаты, была компания примерно чел 30, потом как-то все заглохло. Еще есть с десяток техно-дем для самых разных игр от шутера до стратегии, но заброшено по причине отсутствия графики. Сейчас пытаюсь сделать аркадную гонку вот скрины скринсейвера, и некоторых игр: |
||||||||
|
Эти 9 пользователей сказали Спасибо lucky_DS за хороший пост: | Marchello (09.03.2008), Muxa (08.03.2008), Rammf (08.11.2009), SilverHawk (14.03.2008), TIGR (08.03.2008), ustas (05.06.2008), (13.03.2008), Робот Вертер (09.03.2008), Скифский (25.12.2009) |
07.11.2009, 15:52 | #47 (Ссылка на пост) | ||||||||
Модератор
Пол:
Благодарил(а): 30,810
Благодарили 37,603 раз в 8,037 постах
Галерея:
0
Вес репутации: 401
|
UDK is Unreal Engine 3
http://www.udk.com/index.html Experience the power and potential of Unreal Engine 3. Create amazing games, lifelike scenes and fantastic worlds... for free. Марчело что скажешь? Каков подарок от разработчиков, твоя оценка. Есть пару тем, в личку если не лень и есть спортивный интерес.
__________________
Нужно делать так, как нужно. А как не нужно, делать не нужно. |
||||||||
|
Сказали Спасибо пользователю ustas за этот пост: | Marchello (07.11.2009) |
07.11.2009, 19:55 | #48 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Цитата:
Но интересно конечно.. Если бы были исходники самого движка - было бы реально интересно! Хотя там наверное есть чуток (в основном *.h файлы ) ИМХО чтобы это все дело заюзать, нужно доки читать не один день наверное (и учить Unreal script) )) хотя я даже пока не знаю что там (в самом UDK). Я слышал Тим Свинней уже взялся за Unreal Engine 4, видать дела пошли хорошо, и они решили поделиться дев-китом. Еще интересно, что именно скрывается за надписью for free, неужто можно в коммерческих целях юзать? А, вот нашел там Licensing, правда многа букв, но общий смысл понятен, деньги в таком случае платить все равно нужно будет (но все довольно честно). Ну что сказать, наверное мое мнение (пока поверхностное) будет примерно следующим: - для самообразования нет смысла юзать, ну разве что для фана. В общем, для "поглазеть и побаловаться" - можно. - для чего-то серъезного (вплоть до реальной конечной игры) - как бы можно, но не реально. Сейчас уровень современный игр очень высокий. Я недавно прошел Borderlands (тож на UE3), и в конце глянул на тирты, ёлки-палки, игру делали наверное человек 300! (и это при готовом движке). Но тем не менее скачать интересно, так как я могу и ошибаться, посмореть на труд профессионалов всегда интересно и полезно. (правда с моим инетом качаться будет ой долго...). Кстати, на сколько я знаю UE3 юзает deferred shading (я в своей будущей игре #2 тож этот подход юзаю), интересно пойдут ли они дальше в этом направлении? |
|||||||||
|
Сказали Спасибо пользователю Marchello за этот пост: | Honer (09.11.2009) |
07.11.2009, 20:14 | #49 (Ссылка на пост) | ||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Чтобы не быть голословным, покажу пару скринов. Конечно это не сравнимо с UE3 (учитывая мои бездарные навыки в рисовании, так как этой ерундой тож самому приходится заниматься).
... |
||||||||
|
Эти 15 пользователей сказали Спасибо Marchello за хороший пост: |
09.11.2009, 10:28 | #50 (Ссылка на пост) | ||||||||
Забанен вапще
Пол:
Благодарил(а): 57
Благодарили 28 раз в 15 постах
Галерея:
0
Вес репутации: 0
|
Features
Features Productivity features
SDK условно бесплатный, есть примеры и документация вменяемая. Сам работаю с SDK. |
||||||||
|
09.11.2009, 15:59 | #51 (Ссылка на пост) | |||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Цитата:
но это будет свой! Так понять как работает видеокарта и вообще как работает 3D (и движки в общем) - намного больше шансов. Та и вообще писать самому с нуля - тут больше интересен не результат, а сам процесс (если конечно это типа хобби, а не работа). Так я могу гордо сказать что скрины вверху - это результат моей работы проделанной с нуля, а не отрисованы каким-то готовым движком. |
|||||||||
|
24.12.2009, 10:38 | #52 (Ссылка на пост) | ||||||||
Мимо проходил
Пол:
Благодарил(а): 1
Благодарили 0 раз в 0 постах
Галерея:
0
Вес репутации: 0
|
А что скажите насчёт такого движка, как Unity. Интересно узнать мнение знающих людей.Сам начал его разбирать недавно, первый раз когда посмотрел их 3D демку в браузере про тропический остров немного ошалел. Мощная технология.
Вот небольшое описание того что есть: Если кому интересно, вот несколько демок (находятся в нашей сети, инет не нужен) Unity Live Demo Для просмотра требуется вот этот плагин Unity Web Player. P.S.: Буду не оригинален , есть пара идей насчёт проектов на данном движке |
||||||||
|
24.12.2009, 13:53 | #53 (Ссылка на пост) | |||||||||
Мимо проходил
Пол:
Благодарил(а): 8
Благодарили 3 раз в 2 постах
Галерея:
0
Вес репутации: 0
|
Цитата:
Последний раз редактировалось Ecstrazzz, 24.12.2009 в 16:37. |
|||||||||
|
23.08.2010, 17:26 | #54 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 4,004
Благодарили 2,505 раз в 725 постах
Галерея:
0
Вес репутации: 43
|
я таки дописал игру и она издана
http://www.buka.ru/cgi-bin/show.pl?id=489 |
||||||||
|
23.08.2010, 18:12 | #55 (Ссылка на пост) | |
Nippon Tech
Мой дневник
Пол:
|
Цитата:
__________________
Украине дают кредит, чтобы она улучшила жизнь людям которым повышают коммуналку и т.д.для того чтобы выплачивать проценты по кредитам. которые набрали чтобы улучшить жизнь населения...🙂 |
|
|
23.08.2010, 20:09 | #56 (Ссылка на пост) | |||||||||
Свой В Доску
Пол:
Адрес: Хер... так сказать ...сон
Благодарил(а): 723
Благодарили 743 раз в 248 постах
Галерея:
0
Вес репутации: 24
|
Цитата:
В одиночку?
__________________
Wo sind die Kinder? |
|||||||||
|
23.08.2010, 23:08 | #57 (Ссылка на пост) | ||||||||
Щас сменю себе статус
Пол:
Благодарил(а): 4,004
Благодарили 2,505 раз в 725 постах
Галерея:
0
Вес репутации: 43
|
Вдвоем с моделлером
через аську |
||||||||
|
Сказали Спасибо пользователю lucky_DS за этот пост: | Rammf (24.08.2010) |
12.09.2010, 16:40 | #58 (Ссылка на пост) | ||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Вот решил показать немного скринов со своего "движка".
Все как всегда, вся программная часть (С++ & shaders) исключительно моя, бездарные модели (кроме динозавра) - тоже моих рук дело в 3ds max, текстуры - украдены откуда только можно На скринах можно видеть: Deferred Shading (как основа движка) + bump mapping & specular lighting, Shadow Maps (для точечного источника света юзаются cube maps), SSAO (еще нужно улучшать..), Bloom, Distortion. Разные материалы: Кубик слева - преломляет свет. Взгляд изнутри преломляющего кубика: |
||||||||
|
12.09.2010, 16:43 | #59 (Ссылка на пост) | ||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
Дальше:
|
||||||||
|
12.09.2010, 16:47 | #60 (Ссылка на пост) | ||||||||
Местные мы
Пол:
Благодарил(а): 457
Благодарили 620 раз в 179 постах
Галерея:
0
Вес репутации: 23
|
И еще чуть-чуть уже с игры:
Боты друг друга валят: Сам бот, нарисовал как смог |
||||||||
|
Здесь присутствуют: 1 (пользователей - 0 , гостей - 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование | otto | Программирование | 59 | 25.03.2008 23:13 |
Программирование на Delphi | Evgenii | Программирование | 9 | 15.01.2008 01:04 |
Программирование для карманных ПК | Anonymous | Программирование | 6 | 03.06.2005 18:37 |