Большой Воронежский Форум
Страница 12 из 13
« Первая < 26789101112 13 >
» Программирование>Создание игры!!!(кто хочет помочь все сюда!!!)
Kerish 09:11 13.04.2009

Сообщение от DeniSS1:
Похоже, и правда на DirectDraw переходить придётся.

DirectDraw прошлый век.

Хочешь без геммороя масштабировать, поворачивать, накладывать освещение забудь про DirectDraw. [Ответ]
dn2k4 22:06 14.04.2009

Сообщение от DeniSS1:
теперь это 2d-аркада, дуэль двух летающих тарелок

Сори, навеяло =)

Сообщение от :
Каморка папы Карло - на стене висит кусок холста, на котором пляшет нарисованный огонь. Старый плотник неспешно строгает полено:
- Воооот какой мальчишка будет, смышлёный, красивый...
- Ы-ых! Девчонка...
- Ы-ых! Безногая, но работящая...
- Ы-ых! Собачка...
- Ы-ых! Лягушка...
- Ы-ых! Ладно, черт с ним - брелок...

[Ответ]
Gillbert 19:47 17.04.2009
Ну, я так понимаю, чтобы была прозрачность, надо её для начала включить (аналогично делаю в директХ в дельфях)...
Как выяснилось из гугла, делается это (так же аналогично) парой простых команд, но есть одно НО: данный пример немного усложняет (скорее, запутывает) тем, что здесь используется Depth Testing, из-за этого прозрачность текстуры всё равно в некоторых случаях выглядить некорректно (во всяком случае, я хз как сделать правильно). Т.е. сам пример выбран немного хреновый, нам ведь 3D нафиг не надо по идее (там уж лучше моделями делать). Щас немного переделаю и выложу. Хоть С++ чуток вспомню

P.S. Как в С++ написать вспомогательную процедуру внутри другой процедуры аналогично Delphi?.. Чот не получается... Ато неудобно ппц.
[Ответ]
Gillbert 19:59 17.04.2009
Ну вот что-то типа того. Правил на CodeBlocks, ну надеюсь не будет из-за этого нестыковок... Пример с той самой злополучной шашкой ) Только одного не пойму - как в этом примере могли быть картинки с альфой, если она вообще нигде не была включена? Что-то вы путаете... В этом примере всегда выводились непрозрачные квадратные картинки... Или я всё еще не понимаю чего-то?

Ну и сразу по старой проблеме: чтоб размер окна нельзя было менять, вместо dwStyle=WS_OVERLAPPEDWINDOW; ставим dwStyle=WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX;
Изображения
[Ответ]
DeniSS1 20:11 18.04.2009
Всем спасибо, я разобрался сам. Просто сделал фон вокруг летающей тарелки абсолютно чёрным в Paint-е, а затем сделал так, что чёрные байты не выводятся. :-D Да здравствует Microsoft и DirectX!
P.S. по старой проблеме - режим теперь полноэкранный.
P.P.S. Почему я не могу выложить архив чуть меньше 1 mb?! Соединение с сервером обрывается.
[Ответ]
Gillbert 20:37 18.04.2009
Пора бы уж как-то определяться между DirectX и OpenGL, писать то и на том и на этом удобно, только всё же надо остановиться на чём-то [Ответ]
C71Me 21:38 18.04.2009
Ребят, а можете хотя бы примерное описание игры написать+на чем пишете ? [Ответ]
DeniSS1 09:05 19.04.2009
C71Me, пишу на С++ и DirectDraw, ввод через WinAPI. Пока задача - сделать две летающие тарелки, одна из который летает по рандомайзу, другая управляется с клавиатуры. При движении должна наблюдаться физика, т.е. будет ускорение и замедление при удерживании клавиши, при попытке поворота из разогнанного состояния тарелка будет описывать дугу, при столкновении они будут отталкиваться друг от друга.
Есть, конечно, и продуманная задумка игры на этой основе, но пока я не сделаю эту основу, ничего не скажу [Ответ]
C71Me 10:24 19.04.2009
Имхо у FastGraph возможностей больше, чем у DirectDraw..
Насчет игры. Нужно уничтожить тарелку противника, управляемой ИИ ? [Ответ]
DeniSS1 18:09 19.04.2009
C71Me, в идеале - да! [Ответ]
C71Me 06:34 20.04.2009
Что пока готово? [Ответ]
максим2007 20:14 20.04.2009
Ну вот опять все играделы собрались))
DeniSS1, Если что надо запрограммировать по части ИИ обращайся. [Ответ]
P@VEl_ 15:35 21.04.2009
Когда можно увидеть вашу поделку [Ответ]
DeniSS1 22:22 21.04.2009
Наверное, в конце недели будет что-нибудь. Сейчас завал по всем предметам [Ответ]
P@VEl_ 20:01 22.04.2009
Круто, проекту уже 2 года [Ответ]
DeniSS1 21:40 07.05.2009
Какая-то хрень с управлением. Вот код основного цикла отрисовки, это на случай если кто-то захочет разобраться. Желающим могу выслать весь

Сообщение от :
while (true)
{
if (PeekMessage(&msg, NULL, NULL, NULL, PM_NOREMOVE))
{
if (!GetMessage(&msg, NULL, NULL, NULL)) break;
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
if (GetActiveWindow()!=hWnd)
continue;
if (GetKeyState(VK_UP)==1){
ufo1y++;
}
if (GetKeyState(VK_DOWN)==1){
ufo1y--;
}
if (GetKeyState(VK_RIGHT)==1){
ufo1x++;
}
if (GetKeyState(VK_LEFT)==1){
ufo1x--;
}
if ((imagesurf!=NULL) && (!bWindowed))
{
// Область копирования
RECT dst;
dst.left=dst.top=0;
dst.right=iWidth;
dst.bottom=iHeight;
// Копируем картинку 1
backsurf->Blt(&dst, imagesurf, 0, DDBLT_WAIT, 0);
// Копируем картинку 2
backsurf->BltFast(ufo1x, ufo1y, imagesurf2, 0, DDBLTFAST_SRCCOLORKEY | DDBLTFAST_WAIT);
primsurf->Flip(NULL, DDFLIP_WAIT);
}
}


Изображения
[Ответ]
][irurg 22:16 07.05.2009

Сообщение от pavel.trb:
Круто, проекту уже 2 года

это только начало. 4 пост будет пророческим

Сообщение от ErV:
Совет(ИМХО): Забей. Париться будешь лет пять.

[Ответ]
Yandex 23:00 07.05.2009
DeniSS1, че за хрень? Хоть сделай как в уроках у NeHe, хоть и говорят, что не очень кошерно, но лучше чем у тебя. [Ответ]
DeniSS1 20:05 08.05.2009
Yandex, 0_о Nehe делает на DirectX? Просто я не уверен, что проблема в получении сигналов с клавиатуры. М.б. что-то я не то нахимичил с выводом на экран. [Ответ]
xxx-men 20:22 08.05.2009
а хде инопланетяне???



Сообщение от :
backsurf->BltFast(ufo1x, ufo1y, imagesurf2, 0, DDBLTFAST_SRCCOLORKEY | DDBLTFAST_WAIT);
primsurf->Flip(NULL, DDFLIP_WAIT);

ты уверен что первую поверхность флипать надо? [Ответ]
Yandex 20:56 08.05.2009
DeniSS1, NeHe на OpenGL разумеется, но там здравые мысли по опросу клавы можно усмотреть. Каркас для Dx я бы у SDK-шных приложений посмотрел. [Ответ]
DeniSS1 21:48 08.05.2009
xxx-men, да, незачем, только лишнее время тратится - фон и так один и тот же
backsurf->Blt(&dst, imagesurf, 0, DDBLT_WAIT, 0); - это фон
Yandex, посмотрю и попробую сделать ввод на DirectInput наверное. [Ответ]
DeniSS1 14:37 09.05.2009
Исправил 2 бага, и всё заработало. Ввод всё тот же (онли клавиатура на WinAPI), следующая демка будет с поддержкой инерции (зачатки физики) и решением проблемы мгновенного исчезновения при подходе к краю. [Ответ]
DeniSS1 14:48 10.05.2009
максим2007, чувствую, до ИИ ещё как раком до Пекина...
Вот то, что есть на данный момент. До введения энергии для корабля и её распределения по системам (т.е. геймплея) осталось немного - но перед этим нужно решить проблему исчезновения НЛО при подлёте к краям. Она должна уходить за них постепенно - на практике если зашёл за край небольшой участок, исчезает всё.
Если кто может предложить решение - буду очень рад. Знаю, что нужно что-то делать с областями источника копирования и приёмника копирования, но что именно - хз.
P.S. Кстати, в процессе экспериментирования получил интересный эффект - тарелкой можно рисовать змей! (или червей). Выходит очень реалистично.
Изображения
Нажмите на изображение для увеличения
Название: червь.JPG
Просмотров: 22
Размер:	104.2 Кб
ID:	449253  
[Ответ]
xxx-men 16:33 10.05.2009
Код:
RECT inRect;
RECT outRect;

		if(outRect.right>=0 && outRect.left<800 && outRect.top<600 && outRect.bottom>=0)
		{
			if (outRect.right>800)
			{
				inRect.right+=800-outRect.right;
				outRect.right=800;
			};
			if (outRect.left<0)
			{
				inRect.left-=outRect.left;
				outRect.left=0;
			};
			if (outRect.bottom>600)
			{
				inRect.bottom+=600-outRect.bottom;
				outRect.bottom=600;
			};
			if (outRect.top<0)
			{
				inRect.top-=outRect.top;
				outRect.top=0;
			};

			SecondarySurf->Blt(&(outRect),ObjOffScreen,&(inRect),DDBLT_WAIT | DDBLT_KEYSRCOVERRIDE  ,&ddb);
		};

RECT inRect; //источник
RECT outRect; //координаты на экране [Ответ]
The_God 16:45 10.05.2009
есть кто с опытом работы от 4лет в геймдеве ? а то есть вакансия программиста с++ с зп 50++ тр, работа удалённая постоянная, если кому интересно пишите в аську 150504044 или приват http://dtf.ru/vacancy/info.php?id=9438 [Ответ]
xxx-men 16:55 10.05.2009

Сообщение от The_God:
если кому интересно

интересно

Сообщение от The_God:
работа удалённая

еще интереснее

Сообщение от The_God:
с опытом работы от 3лет в геймдеве

нету нифига [Ответ]
DeniSS1 16:58 10.05.2009
У меня опыт 3 года. Возьмёте?
P.S. Хотя бы опишите в общих чертах, что за проект.
P.P.S. xxx-men, спасибо, попробую.
[Ответ]
DeniSS1 22:12 14.05.2009
Вплотную подошёл к физике. Сейчас имеется 2 тарелки, нужно сделать так, чтобы их столкновения выглядели реалистично. Имеются: координаты тарелок, значения вертикальной и горизонтальной скоростей (т.е. на сколько пикселей будет смещаться изображение). Пробовал много вариантов, но в большинстве случаев наблюдается залипание. Помогите, кто чем может.
В физике не силён, но думаю, это нужно сделать как-то через импульсы...
[Ответ]
Yandex 23:13 14.05.2009
DeniSS1, помогаю - физика седьмой класс Закон сохранения импульсов. [Ответ]
Страница 12 из 13
« Первая < 26789101112 13 >
Вверх