Суббота, 21 Декабря 2024, 18:15

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Результаты поиска
MonolitДата: Суббота, 08 Октября 2011, 18:23 | Сообщение # 1 | Тема: проблема с HGE в VC++ 2010
был не раз
Сейчас нет на сайте
а ресурсы(звуки, png) просто в папку кинуть можно, или как то по особенному подключать?Ибо похоже проблема все таки в этом....

ЗЫ.
Quote
или ставь L перед текстом (L"My Text", TEXT(my char*)) или поменяй кодировку на MultyByte

если не секрет, а что это означает?)т.е. L эта...
MonolitДата: Суббота, 08 Октября 2011, 17:41 | Сообщение # 2 | Тема: проблема с HGE в VC++ 2010
был не раз
Сейчас нет на сайте
это довольно проблематично, потому что я специально поставил их, ибо без коментариев выдает:

Code
1>------ Построение начато: проект: proj, Конфигурация: Debug Win32 ------ 
1>Построение начато 08.10.2011 17:40:42.
1>InitializeBuildStatus:
1>  Обращение к "Debug\proj.unsuccessfulbuild".
1>ClCompile:
1>  s.cpp
1>c:\users\алексей\desktop\мои проги на c++\hge\proj\proj\s.cpp(126): error C2664: MessageBoxW: невозможно преобразовать параметр 2 из "const char [37]" в "LPCWSTR"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>c:\users\алексей\desktop\мои проги на c++\hge\proj\proj\s.cpp(158): error C2664: MessageBoxW: невозможно преобразовать параметр 2 из "char *" в "LPCWSTR"
1>          Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:02.18
MonolitДата: Суббота, 08 Октября 2011, 13:20 | Сообщение # 3 | Тема: проблема с HGE в VC++ 2010
был не раз
Сейчас нет на сайте
появляется экран с эмблемой HGE, и программа прекращает работу
должен появиться объект шарика, которые по нажатию клавиш "бегает" по экрану
MonolitДата: Суббота, 08 Октября 2011, 12:23 | Сообщение # 4 | Тема: проблема с HGE в VC++ 2010
был не раз
Сейчас нет на сайте
Собс-но, вот в чем проблема:


Код (как во втором примере в оф. туториалах):
Code
 
#include "include\hge.h"

HGE *hge=0;

// Quad is the basic primitive in HGE
// used for rendering graphics.
// Quad contains 4 vertices, numbered
// 0 to 3 clockwise.
hgeQuad quad;

// Handle for a sound effect
HEFFECT snd;

// Some "gameplay" variables and constants
float x=100.0f, y=100.0f;
float dx=0.0f, dy=0.0f;

const float speed=90;
const float friction=0.98f;

// This function plays collision sound with
// parameters based on sprite position and speed
void boom() {
   int pan=int((x-400)/4);
   float pitch=(dx*dx+dy*dy)*0.0005f+0.2f;
   hge->Effect_PlayEx(snd,100,pan,pitch);
}

bool FrameFunc()
{
   // Get the time elapsed since last call of FrameFunc().
   // This will help us to synchronize on different
   // machines and video modes.
   float dt=hge->Timer_GetDelta();

   // Process keys
   if (hge->Input_GetKeyState(HGEK_ESCAPE)) return true;
   if (hge->Input_GetKeyState(HGEK_LEFT)) dx-=speed*dt;
   if (hge->Input_GetKeyState(HGEK_RIGHT)) dx+=speed*dt;
   if (hge->Input_GetKeyState(HGEK_UP)) dy-=speed*dt;
   if (hge->Input_GetKeyState(HGEK_DOWN)) dy+=speed*dt;

   // Do some movement calculations and collision detection   
   dx*=friction; dy*=friction; x+=dx; y+=dy;
   if(x>784) {x=784-(x-784);dx=-dx;boom();}
   if(x<16) {x=16+16-x;dx=-dx;boom();}
   if(y>584) {y=584-(y-584);dy=-dy;boom();}
   if(y<16) {y=16+16-y;dy=-dy;boom();}

   // Set up quad's screen coordinates
   quad.v[0].x=x-16; quad.v[0].y=y-16;
   quad.v[1].x=x+16; quad.v[1].y=y-16;
   quad.v[2].x=x+16; quad.v[2].y=y+16;
   quad.v[3].x=x-16; quad.v[3].y=y+16;

   // Continue execution
   return false;
}

// This function will be called by HGE when
// the application window should be redrawn.
// Put your rendering code here.
bool RenderFunc()
{
   // Begin rendering quads.
   // This function must be called
   // before any actual rendering.
   hge->Gfx_BeginScene();

   // Clear screen with black color
   hge->Gfx_Clear(0);

   // Render quads here. This time just
   // one of them will serve our needs.
   hge->Gfx_RenderQuad(&quad);

   // End rendering and update the screen
   hge->Gfx_EndScene();

   // RenderFunc should always return false
   return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
   // Get HGE interface
   hge = hgeCreate(HGE_VERSION);

   // Set up log file, frame function, render function and window title
   //hge->System_SetState(HGE_LOGFILE, "hge_tut02.log");
   hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
   hge->System_SetState(HGE_RENDERFUNC, RenderFunc);
   hge->System_SetState(HGE_TITLE, "HGE Tutorial 02 - Using input, sound and rendering");

   // Set up video mode
   hge->System_SetState(HGE_WINDOWED, true);
   hge->System_SetState(HGE_SCREENWIDTH, 800);
   hge->System_SetState(HGE_SCREENHEIGHT, 600);
   hge->System_SetState(HGE_SCREENBPP, 32);

   if(hge->System_Initiate())
   {
    // Load sound and texture
    snd=hge->Effect_Load("menu.wav");
    quad.tex=hge->Texture_Load("particles.png");
    if(!snd || !quad.tex)
    {
     // If one of the data files is not found, display
     // an error message and shutdown.
     //MessageBox(NULL, "Can't load MENU.WAV or PARTICLES.PNG", "Error", MB_OK | MB_ICONERROR | MB_APPLMODAL);
     hge->System_Shutdown();
     hge->Release();
     return 0;
    }

    // Set up quad which we will use for rendering sprite
    quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE;

    for(int i=0;i<4;i++)
    {
     // Set up zoordinate of vertices
     quad.v[i].z=0.5f;
     // Set up color. The format of DWORD col is 0xAARRGGBB
     quad.v[i].col=0xFFFFA000;
    }

    // Set up quad's texture coordinates.
    // 0,0 means top left corner and 1,1 -
    // bottom right corner of the texture.
    quad.v[0].tx=96.0/128.0; quad.v[0].ty=64.0/128.0;   
    quad.v[1].tx=128.0/128.0; quad.v[1].ty=64.0/128.0;   
    quad.v[2].tx=128.0/128.0; quad.v[2].ty=96.0/128.0;   
    quad.v[3].tx=96.0/128.0; quad.v[3].ty=96.0/128.0;   

    // Let's rock now!
    hge->System_Start();

    // Free loaded texture and sound
    hge->Texture_Free(quad.tex);
    hge->Effect_Free(snd);
   }
   //else MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL);

   // Clean up and shutdown
   hge->System_Shutdown();
   hge->Release();
   return 0;
}

MonolitДата: Среда, 23 Марта 2011, 16:48 | Сообщение # 5 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
Сделал нормальную(относительно прошлых версий) миникарту, с возможностью навигации по ней...
Все, следующая демка будет нескоро))Если будет вообще-может, выложу еже готовый...
MonolitДата: Воскресенье, 20 Марта 2011, 20:29 | Сообщение # 6 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
tachidi, довольно интересно..Подтвердили некоторые мои предположения))

Добавлено (08.03.2011, 22:33)
---------------------------------------------
Qvant, все уже готово)))И неплохо работает))Дата структуры pyаю, но только для генерации карты использую, да для миникарты(которую все равно переделаю biggrin )Недавно(правда, уже после выпуска демки), полностью избавился от тормозов из-за прорисовки графики(как мне показалось), fps теперь такая,какая и должна быть))Да и игра уже если не на завершающейся стадии, то где то во второй половине точно))Осталось ИИ(часть готова) и некоторые моменты...

Добавлено (20.03.2011, 20:29)
---------------------------------------------
Появилась новая демка, подробности-в первом посте.

Сообщение отредактировал Monolit - Вторник, 08 Марта 2011, 22:44
MonolitДата: Вторник, 08 Марта 2011, 22:19 | Сообщение # 7 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
даже если декомпилировать, там сейчас кроме меня сложно будет кому разобраться))
MonolitДата: Вторник, 08 Марта 2011, 21:58 | Сообщение # 8 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
Qvant, спасибо)))Учту))Кстати, вблизи все не так сложно))Может,громоздко-но иначе не придумал как))Разве что объектами карту засорять, но зачем?)
tachidi, о таких играх к сожалению не слышал)) Насчет пошаговых-цива нравится, даже очень))Но больше нравятся масштабные битвы "толпа на толпу" в реальном времени)))Но тем не менее загорелся на гамаке сделать подобие цивы, и постараюсь выполнить свое себе обещание))
MonolitДата: Вторник, 08 Марта 2011, 17:25 | Сообщение # 9 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
графики нет-так точнее))Только для того,чтоб понять, где что....
Что делать-пока особо нечего, разве что изучать науки, строить города, юнитов....Из врагов-только крутые варвары))Которые не будут давать покоя))Просто чтоб представить,что примерно получится..
Поселенца своего немудрено найти-он вместе с воином на пустой от "тумана войны"области.....Правой кнопкой на выбранном юните(т.е. выделенном)-вылезет инфа о нем...при наведении на собственный город-вверху вылезет окошко с некоторыми его характеристиками....в правом нижнем углу информация о местности под курсором(бонусы действуют, но пока не показываются при наведении на город)...если на одной клетке много твоих юнитов-вылезет панелька слева со всеми ...нужного можно выбрать....Ну, а внизу-меню юнитов...


Сообщение отредактировал Monolit - Вторник, 08 Марта 2011, 17:27
MonolitДата: Вторник, 08 Марта 2011, 17:07 | Сообщение # 10 | Тема: Other world [глобальная стратегия]
был не раз
Сейчас нет на сайте
Название игры: Other world
Жанр: Пошаговая глобальная стратегия (аналог Civilization)
Программа: GM7(уже GM8)

Вместо описания: Напомню-игра наподобие знаменитой Civilization, ближе к 2,3 части, но не изометрия...
Графику еще не трогал, лишь ландшафт...
Готова демка! Дипломатии там еще нет, нет также вражеских адекватных государств....Но есть варвары,которые также строят города, изучают науки, строят юнитов, и пытаются тебя уничтожить!))

Изменения:
1. меню также нет,настройки есть,но выбрать их нельзя-игра еще далеко не закончена...приступаю к программированию других централизованных государств, с возможностью торговать,заключать союзы и т.п.

2. Интерфейс тоже стал более улучшенным-полностью переделал систему движения юнитов - нужно просто выбрать его и указать место правой кнопкой мыши, чтобы он начал движение к месту назначения!Также при выборе юнита появляется меню с действиями, которые возможны для этого юнита в данный момент.
при выборе пункта атака появится квадратный "курсор", и вокруг юнита высвечивается квадраты,которые он может атаковать(если там есть враги).наведя появившийся квадрат на врага,нажмите правой кнопкой-и произойдет бой(пока ничем не обозначенный, кроме нанесения урона и уничтожения в случае победы sm:)).просто нажав на любом свободном месте левой кнопкой-снимете выделение с юнита. Также если нажать правой кнопкой на выделенном юните, появится информация о нем(пока краткая).

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

4. Когда изучена очередная технология(или если можно выбрать таковую), справа появляется панель со всеми доступными технологиями. Для более подробной информации о технологиях нужно зайти в комнату Технолгия, где при наведении на технологию появится ее описание(пока только к чему ведет sm:)).Эта комната также не доработана до конца,но играбельна.

5. Нажав на городе СКМ или, нажав CTRL, нажать ЛКМ, можно войти в окно города - там выбирается производство(три иконки,каждая отвечает за свою группу заданий для производства).Пробел-выход к карте.

6. При наведении курсора на свой город появляется краткая информация о нем.

7. Есть миникарта(только показывает карту и местоположение вида).

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

еще скрины:
http://s45.radikal.ru/i110/1103/fe/954d1a875886.jpg
http://s006.radikal.ru/i214/1103/f1/100b98921267.jpg
http://i042.radikal.ru/1103/e3/7ef577cc6e0f.jpg
http://s003.radikal.ru/i203/1103/97/3c002f0fc21b.jpg
http://s60.radikal.ru/i167/1103/93/39c302dd465e.jpg

e-mail: morozov_com@mail.ru

это для связи)

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

Изменения от 30,02,2011

Новые изменения:
-Добавлены ИИ государства
-Если в государстве много недовольных, то они могут сбросить правительство, заменив его другим-т.е. в игре реализована смена династий и правителей
-Почти полностью готова боевая система-можно нормально захватывать города и уничтожать вражеские юниты
-Немного новой графики-около половины вполне нормально нарисованных юнитов
-Флажки возле юнитов с цветом их государства
-Вполне нормально отображение государственных границ
-Сообщения, которые уведомляют вас о некоторых важных событиях
-и некоторые другие мелочи...
-немного изменилась графика, в лучшую сторону-пара скринов:
-Стало можно управлять видом с помощью миникарты


Небольшое FAQ по игре:
1. Как атаковать город/юнита?
Чтобы атаковать юнита или захватить город, вы должны стоять рядом с этим юнитом/городом. Если у вас война с государством, чьи юниты около вас нажмите пункт меню АТАКА. Высветится зона вокруг юнита, в которой он может атаковать, и появится прицел.Наведя на атакуемого юнита и нажав ПРАВУЮ кнопку, произойдет атака...Анимации пока что нет...Захват города происходит аналогично. Если нажать левой кнопкой на любом свободном месте, курсор и режим атаки исчезнет..
2.Как просмотреть информацию о юните?
Выделите его левым кликом мыши и нажмите правой кнопкой на нем-высветится инфа.Только для собственных юнитов(пока).
3. Как войти в город?
Нажав на нем средней кнопкой мыши, или, зажав CTRL, нажать левой.
4.Как выбрать производство в городе?
Войдите в город, прежде всего))Затем внизу выберите тип производства(3 варианта, внизу), и нажмите на появившиеся ниже иконки...что они значат, будет написано слева.С открытием технологий будут доступны все больше строений и юнитов.
5. Как войти в режим дипломатии?
Нажмите CTRl+D, и попадете в комнату дипломатии. В ней вы можете разве что узнать отношения с конкретной страной, открыть/закрыть границы да объявить войну...для выхода нажмите ПОКА. Не заходите в эту комнату если не встретили ни одной цивилизации!Выйти будет трудновато, только через комнату исследований))
6.Почему я не могу основать город?
Возможно, слишком рядом находится другой город))Если это так, то пункт ОСНОВАТЬ ГОРОД в меню не появится....Как только вы отойдете на нужное расстояние-меню появится.
P.S.-цвет вашей державы-красный))

Новая версия, более доработанная:
новая_демо_версия2

Сообщение отредактировал Monolit - Среда, 23 Марта 2011, 16:46
  • Страница 1 из 1
  • 1
Поиск:

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