Воскресенье, 24 Ноября 2024, 14:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
ArchidoДата: Вторник, 30 Октября 2012, 13:59 | Сообщение # 381 | Тема: WinApi нужна помощь
Сэнсэй
Сейчас нет на сайте
Quote (Нохчи)
Archido, опередил, молоток!

tongue


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Вторник, 30 Октября 2012, 13:47 | Сообщение # 382 | Тема: WinApi нужна помощь
Сэнсэй
Сейчас нет на сайте
Quote (kikas86)
Всем привет, меня интересует такой вопрос, как в WinApi c++, включить альфа канал?

Использовать ф-цию AlphaBlend?

P.S. Ты зря отредактировал первый пост, т.к. теперь непонятно о чем писали все остальные smile


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Понедельник, 29 Октября 2012, 15:28 | Сообщение # 383 | Тема: Мобильный телефон. Кокой у вас?
Сэнсэй
Сейчас нет на сайте
Nokia n900, всегда n-ки нравились smile

Quote (TimKruz)
потому что играть, программировать и т.п. лучше на нетбуке

На нетбуке программировать можно только лабы для инста smile , мощностей для нормальных проектов там не хватает (для геймдева - сразу крест), да и просто не хватает рабочей области, слишком уж они мелкие. Мое имхо. Для нормальной работы - нужен нормальный аппарат (мощный ноут или ПК), звонить - простая звонилка, а промежуток между ними хорошо заполняет планшет cool


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Суббота, 27 Октября 2012, 16:09 | Сообщение # 384 | Тема: Логика RTS (Стратегий) игр
Сэнсэй
Сейчас нет на сайте
Quote (Slamer)
Если я создам вектор, хранящий класс unit, я смогу помещать в него экземпляр tank и trooper?

Да, это так и делается. Думаю, стоит немного почитать про ООП и полиморфизм, ибо это оно и есть.
Основной смысл в том, что нужно определить для класса unit некоторые универсальные методы, вызывая которые можно получить необходимую информацию о любом юните. Например, в классе unit мы определяем два метода GetUnitType() и GetUnitPosition() для определения типа юнита и его точной позиции, далее в наследниках tank и trooper мы переопределяем (или реализуем) эти два метода для каждого из этих классов (хотя для позиции не обязательно для каждого класса, достаточно лишь один раз определить). Теперь созданные объекты классов tank и trooper можно хранить как объекты класса unit и, "позвав" у последних два вышеописанных метода, получаем нужную информацию о типе юнита и его позиции. Как-то так вообщем.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Суббота, 27 Октября 2012, 14:39 | Сообщение # 385 | Тема: Язык программирования под Voxel-Based игры.
Сэнсэй
Сейчас нет на сайте
Да, для реализации вокселей - нужно и можно использовать абсолютно тоже самое, что и используется при создании обычных "полигональных" игр, потому что аппаратной поддержки вокселей нет и их реализуют через эти самые полигоны (треугольники, если точнее). Как выше правильно заметили, язык и GAPI (движки) не важны, а математику нужно знать очень неплохо.

C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Четверг, 25 Октября 2012, 18:20 | Сообщение # 386 | Тема: Мануал по созданию игры
Сэнсэй
Сейчас нет на сайте
Quote (warzes)
Назови хоть одного инди разработчика начавшего с готовых сторонних движков...

Т.е. все без исключения инди разработчики пишут на своих движках (или на чистом GAPI, если тебе так будет удобнее) и под разные платформы? Ты здоров?

Quote (warzes)
Чего? Ссыль пожалуйста

Твое, хорошо тебя характеризует.

Quote (warzes)
А ты докажи...

Тебе? Зачем? Мне и так все понятно.

Quote (warzes)
Работодателю, или он будет ждать когда ты там освоишься? Не выдирай фразу из контекста, я писал про то что использование готовых движков не дает полезных навыков

Еще раз - мы хотим писать игру и идем на вакансию программирования игровой логики, на кой мне твое портирование? То что ты во всем видишь один лишь движок - это только твои проблемы. И навыки готовые движки не дают только в твоем мире, т.к. в нем ты бесконечно пишешь свой "движок", а игры никто ессно не пишет.

Quote (warzes)
И? А ты уверен что мне интересно делать игры? Я и не собираюсь никуда сдвигаться, я религиозный фанатик программирования, и все что смещается от программирования - ересь

Это твоя попытка иронии? Самое забавное, что все сейчас именно так и выглядит, как ты и написал smile . Поэтому если тебе не итересно делать игры, то нефиг лезть в эту тему и сбивать человека с толку, делая из него разработчика движков... это только твоя реальность.
К тебе я отношусь предвзято еще начиная с этой темы. Точно также, толком не разбираясь в вопросе, лезешь с умным видом и считаешь себя умнее всех. Забавно выглядит.

Quote (warzes)
ну будет еще один unity программист, ну и бог с ним

В любом случае - это лучше, чем еще один warzes biggrin

P.S. Можешь писать тут чего угодно и считать что прав только ты один, я тебя комментировать больше не собираюсь. И надеюсь, что автор темы не даст сбить себя с толку smile


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Четверг, 25 Октября 2012, 16:55 | Сообщение # 387 | Тема: Мануал по созданию игры
Сэнсэй
Сейчас нет на сайте
Оо, боже ж ты мой, сколько "умных" слов то понаписано... Даже и не сосчитать smile

Quote (warzes)
Потом не будет, человек привыкнет к легкому и сразу умрет на первом же треугольнике

Ты снова включаешь свою больную фантазию? Если ты сам таков и умрешь на первом треугольнике - я не удивлюсь, только не стоит судить всех по себе.
Все нормальные люди начинают с разработки игр на сторонних движках, а после уже делают выбор - в какую сторону им двигаться дальше (движки писать или игры делать). Эсли ты бесконечно и на ровном месте пишешь свои "движки", не сделав вообщем-то не одной игры, то флаг тебе в руки... но не нужно с умным видом советовать тут всякие глупости и размышлять о вещах в которых сам ни разу не смыслишь.
При чем, как правильно было замечено, ты абсолютно не заинтересован в том на какую дорогу встанет автор данном темы - тебе лишь бы из себя умнега состроить.

Quote (warzes)
Меня звали, к сожалению не смог переехать.

Ахахах, звали его, ага tongue . Это того кто недавно узнал, что такое арктангенс? biggrin Или того кто копипастит код из DX SDK, вставляет его в свои "уроки" и даже не может написать элементарную теорию? Это точно он? Сходи напиши на gamedev.ru, что тебя звали в Saber - поднимешь людям настроение, наверняка еще и в перлы попадешь happy

Quote (warzes)
Я этого не говорил, я сказал - просто пусть садится и делает игру не заморачиваясь движками

Чушь. Человек хочет делать игру - он берет движок и делает игру, а ты несколько лет копипастишь код из DX SDK и не заморачиваешься движками. В этом вся разница.

Quote (warzes)
Какие навыки? Я уже писал про портирование - это работа для джуниора, но откуда человек юзающий готовые движки получит эти навыки?

Кому нужно это твое портирование? Это все относится к разработчикам движков, а автор движки писать пока не очень то торопится.
Движок - это каркас, на его основе собирают игру и никак иначе. Если нужно портировать игру - портируют движок и игра почти автоматически портируется следом (на железо похожего уровня). То, что в какие-то бородатые годы было по-другому ни о чем не говорит (Doom 3 твой), тогда небыло многопоточности и кучи разных платформ, да и опыта написания таких движков почти не у кого небыло... поэтому все можно было лепить в одну кучу.
Сейчас движки делают модульными, модули разбиты на подсистемы, у каждой подсистемы несколько уровней абстракций, а каждый уровень состоит из подзадач, которые умеют выполняться параллельно. И теперь достаточно лишь заменить нижние уровени каких-то подсистем на другие(GAPI и платформо-зависимые части), что не повлияет на уровни выше и на игровой код (самый вверх), но мы уже работаем на другом GAPI и на другой платформе и об этом никто не знает, кроме разработчиков движков этих низших уровней. В этом-то и вся суть - остальным об этом не нужно знать вообще.
А пока тебя допустят проектировать и разрабатывать самые выжные части движка - пройдет N-ное кол-во лет, в лучшем случае. Так что мечтай.

Quote (warzes)
Или вот шейдеры об которых так расписывает Modelkin, знаешь какой есть прикол? А то что на одну модель может быть только один пиксельный и один вершинный шейдер

Опять таки, уровни абстракции. Это нужно знать тому, кто проектирует низшие ступени рендера (выше GAPI), все кто работают выше - используют ROP, меши и материалы. И им начихать, сколько там можно шейдеров ставить перед отрисовкой.

Quote (warzes)
То есть ты НИКАК не подключишь десяток шейдеров (освещение, материал, тени, бамп, паралакс) к модели

Ты пишешь о том, сам не понимая шо це это.
Тени, бамп, паралакс - это все части освещения. Материал - это набор шейдеров (от 2 до бесконечности), текстуры, различные параметры, стейты, информация о кол-ве проходов и так далее. Вот это материал. А ты как всегда намешал все в одну кучу, лишь бы красивых словцов написать.

Quote (warzes)
Вот именно, чтобы делать эпичные РПГ и MMORPG, нужно как раз уметь писать движок а не в редакторе набросать десяток моделей, и отписать скрипты.

Не нужно. Достаточно хорошо разбираться в стороннем движке

Quote (warzes)
И че? Без разницы на чем ты пишешь, хоть на С++ (как в CryEngine), это именно что скрипты а не код, потому что ты ограничен возможностями движка.

И правда, без разницы. Скрипт - это тоже код. Как ты разграничиваешь, что есть скрипт, а что есть код?
Unity например написан на С++, но "скрипт" язык у него С#. С# скрипты являются кодом или нет? При этом он (С#) вполне полноценный в плане функционала и работает очень шустро, благодаря JIT компилятору. Даже быстрее интерпретируемых языков типа Lua, которые компилируются в промежуточный байткод.

IgnisFatuus
Не ты его начал smile , слушай что говорит Modelkin, он ближе всех находится к реальности. warzes живет в своем собственном мире и себе такой же мирок лучше не строить.

В любом случае для начала, тебе нужно взять движок и опробовать эту кухню игростроя. Сначала делать что-то простое, а дальше уже наращивать сложность и разбираться в премудростях выбранного движка. Конечно на первый раз можно взять тот же Unity и попробовать что-нить сваять, частенько налегая на C# код. Чуть позже (и раз есть С++ опыт) я бы взял какой-нить NeoAxis (или сразу его взять, но будет сложнее), там уже есть где развернуться. Так или иначе - это будет не легкий путь.

Если цель - попасть в какую-нить контору, то я бы мониторил эти конторы и вакансии которые они предлагают в своем или близжайшем городе (или куда есть возможность переехать в перспективе), основываясь на этом - изучал бы именно то, что нужно. Ну а дальше дело техники.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Четверг, 25 Октября 2012, 17:01
ArchidoДата: Вторник, 23 Октября 2012, 20:17 | Сообщение # 388 | Тема: Логика RTS (Стратегий) игр
Сэнсэй
Сейчас нет на сайте
Quote
На форуме HGE мне советовали разбить карту на квадраты, в эти квадраты помещать объекты и делать проверку только внутри квадрата. Идея не плохая, но при попытки реализовать её, пришёл к тому, что если, например я разделю карту на 100 квадратов, то для проверки лишь одного вида юнита (например танка) мне придётся создать 100 хранилищ для союзных танков, 100 хранилищ для вражеских танков, и ещё по 300 хранилищ для спрайтов танка

Идея в общем-то очень правильная и в нее очень хорошо вписывается принцип ООП. Есть некий базовый объект для юнитов от которых они все наследуются, он определяет базовый интерфейс для взаимодействия между наследуемыми объектами. В итоге для каждой клетки карты хранится единственный дин. массив подобных объектов ("базовых" юнитов) у которых можно спросить "сторону", "тип юнита", коондиранты или что-то еще и делать необходимые действия... Хранить кучу массивов для каждого типа юнитов смысла не имеет.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Среда, 17 Октября 2012, 14:37 | Сообщение # 389 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Quote (redinard)
у меня есть код с их реализацией,но хочется самому сделать,мне нужна подсказка как это делается

Так поразбирал бы код и возможно разобрался бы smile

Про "тайловые карты" как-то смутно описано и не ясно как из 16х16 можно сделать 100х100 happy
Делается вертексный буфер, в него складываются эти самые 16х16 тайлов - получаеттся сетка 16х16 квадратов, потом можно рисовать этот блок нужное кол-во раз, меняя только матрицу трансформаций, чтобы рисовать сие в необходимом тебе месте.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Среда, 17 Октября 2012, 14:37
ArchidoДата: Среда, 17 Октября 2012, 14:06 | Сообщение # 390 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Quote (redinard)
можеш подсказать как строить тайловые карты на примере моего кода

Что конкретно подразумевается под тайловыми картами? Подсказать то могу, но код писать за тебя я не буду wink


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Среда, 17 Октября 2012, 12:36 | Сообщение # 391 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Я на прошлой странице писал, что более ли менее современный DX SDK несколько отличается от того, который использовался при написании книги. Но отличается он, в принципе, незначительно - исправить не особо сложно. Если париться лень - то просто используй то, с чем компилится нормально, и нет проблем...

C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Среда, 17 Октября 2012, 12:36
ArchidoДата: Четверг, 11 Октября 2012, 12:03 | Сообщение # 392 | Тема: Матрица(С++)
Сэнсэй
Сейчас нет на сайте
Так почти тоже самое же:

Code

int Matrix[5][5];

for (int i = 0; i < 25; i++)  //это вместо ввода с клавиатуры
    *((int*)Matrix + i) = i;

for (int Idx = 0; Idx < 5; Idx++)
    std::cout << Matrix[Idx][Idx] << ", ";

  system("pause");


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Среда, 10 Октября 2012, 13:41 | Сообщение # 393 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Quote (redinard)
я хочу понять архитектуру движка,и начать его строить

Чтобы понять архитектуру движков и как они устроены, нужно для начала с одним из них поработать - тогда отпадет очень много вопросов и сие не будет похоже на "делаю то - незнаю что". Чтобы начать "строить" - нужно знать язык на очень уверенном уровне, иначе это будет кривая поделка, большая половина которой представляет собой копипаст кода из различных мест.

Могу порекомендовать следующее: попробовать взять несложный 2D движок и наваять на нем небольшую игрушку, параллельно с разработкой игрушки неплохо бы взять в руки Страуструпа и повышать свой уровень владения языком, тут же применяя изученное на практике (при разработке игры). Как итог - узнаешь что вообще из себя представляет движок, как с ним осуществляется работа, ну и язык подтянешь. Дальше можно усиленно DX9 изучать (а не просто копипастить), а после уже и до своего двигла недалеко.

Программированию никто ни в каком институте не научит - только самостоятельно, иначе будет очень грустно.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Среда, 10 Октября 2012, 13:44
ArchidoДата: Вторник, 09 Октября 2012, 18:09 | Сообщение # 394 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
В предыдущем посте ответ smile

C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Вторник, 09 Октября 2012, 18:03 | Сообщение # 395 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Ну, стоит таки язык подучить, чтобы на таких простых вещах не спотыкаться.
Копипастили наверное все в начале своего обучения smile , но в любом случае нужно пытаться разбираться в этом коде, а не просто делать лишь бы оно "заработало", ибо знаний такое не прибавит (но я думаю, вы это прекрасно понимаете). Неплохо бы взять книжечку и по языку параллельно с Горнаковым, ну и разбираться по ходу дела smile

Добавлено (09.10.2012, 18:03)
---------------------------------------------
Чтобы этой ошибки небыло, нужно заменить вот это:

Code
void DrawMyText();

на вот это:
Code
VOID DrawMyText(LPDIRECT3DDEVICE9 pDirect3DDevice,HFONT hFont,  
  char* StrokaTexta,int x,int y,int x1,  
  int y1,D3DCOLOR MyColor);


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Вторник, 09 Октября 2012, 17:12 | Сообщение # 396 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Эм, почему ф-ция DrawMyText() объявляется без параметров, а ее реализация уже с параметрами? Должно быть одинаково и там и там.
С++ вообще на каком уровне знаете?


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Вторник, 09 Октября 2012, 16:27 | Сообщение # 397 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Понятия не имею smile
В том коде, который выше был приведен, с этим проблем нет... зато есть другие. Если пишет, что не принимает столько-то аргументов, значит неверное их-кол во указывается при вызове ф-ции. Точно такой же год?


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Вторник, 09 Октября 2012, 15:38 | Сообщение # 398 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Какой именно? Давайте конкретнее.
В двух словах я написал, что неплохо бы сделать. Первом делом можно закоментировать все, что касается работы с текстом и исправить проблему с определением функции DrawMyText (сделать Render.h и Render.cpp, основной код писать в последнем), далее уже можно погуглить про текст и ID3DXFont и сделать необходимые правки в коде, т.к. копипастом из книги оно работать не будет (в данном случае).


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Вторник, 09 Октября 2012, 15:38
ArchidoДата: Вторник, 09 Октября 2012, 14:39 | Сообщение # 399 | Тема: помощь в разработке движка
Сэнсэй
Сейчас нет на сайте
Копипаст из книжек? Нужно самому разбираться. В первую очередь нужно вынести бОльшую часть кода из заголовочника (.h) в .cpp, в .h файле оставить только объявления ф-ций, глобальные переменные, классы (описание вершин, например), все остальное писать в .cpp.

Другие проблемы связаны с тем, что в старых книгах по DX9 использовался и старый SDK, сейчас там кое-что поменялось... Конкретно в этом коде проблемы с шрифтами, нужно чутка переделать на новый лад, гугл знает на какой happy


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ArchidoДата: Воскресенье, 07 Октября 2012, 14:36 | Сообщение # 400 | Тема: Wiki по OpenGL :)
Сэнсэй
Сейчас нет на сайте
Эти ф-ции специально придумали, чтобы скрыть детали реализации математической составляющей - для простоты обучения. При использовании OpenGL версий 1-2 эти ф-ции никогда не использовали в нормальных проектах, когда придет понимание, что в этих ф-циях плохо и почему, то можно двигаться дальше. Поэтому никто в здравом уме не будет использовать их вместе с возможностями OpenGL 4 - это все твои выдумки happy

Quote (warzes)
Матрицы это же самое главное что нужно знать

Не спорю smile , но не самое первое wink . Я за поэтапное обучение - пока смысла в использовании "чистой" математики нет - то и не нужно этим в самом начале грузить. Когда придут шейдеры - тогда можно уже и рассказать.

P.S. Давай не будем оффтопить в чужой теме, все равно каждый по-своему продолжит считать wink


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)

Сообщение отредактировал Archido - Воскресенье, 07 Октября 2012, 14:41
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг