| PMG https://www.forum.pmg.org.ru/ |
|
| Создание и реализация 3D Экшена Колобок https://www.forum.pmg.org.ru/viewtopic.php?f=4&t=567 |
Страница 1 из 11 |
| Автор: | Tiger [ 07 июл 2006 15:05 ] |
| Заголовок сообщения: | Создание и реализация 3D Экшена Колобок |
Игра Колобок будет создаваться на C++ под Linux, Windows 98,XP,Vista с использованием DirectX 9.0, OpenGL. При создании игры Колобок будут использоваться следующие инструменты: Компилятор MS Visual C++ 2005 Express, DirectX 9.0 SDK, 3DS MAX 7.0, OpenGL. |
|
| Автор: | Tiger [ 07 июл 2006 15:07 ] |
| Заголовок сообщения: | |
Идея сюжета принадлежит NETLIB. Итак игра КОЛОБОК Нафиг всех пэкманов, у нас своих героев хватает. Сценарий: я от бабушки ушел, я от дедушки ушел, я от зайца ушел, я от волка ушел, от медведя ушел и от тебя лиса тоже уйду. Детализация: игровое поле состоит из дорожек по которым бегает колобок. В центре игрового поля стоит изба из которой выходят монстры, гоняющиеся за колобком - дед, бабка, заяц, волк, медведь. Задача колобка - пробежать по всем дорожкам и не попасться монстрам. Пройденные поля отмечаются. Когда отмечены все поля - происходит переход на новый уровень. Между уровнями происходит схватка с боссом - лисой. Колобок должен запрыгнуть ей на нос и спрыгнуть, пока его не съели. Количество запрыгиваний зависит от уровня (чем выше уровень, тем проворней лиса и тем больше раз колобок должен прыгнуть ей на нос). На уровнях есть различные дорожки с разными свойствами (например, по песку колобок бежит медленнее, чем по земле и т.д.) также на дорожках могут встречаться различные призы (как полезные, так и вредные). Технические подробности Игра делается под DirectX (если найдется человек, готовый адаптировать ее под Open GL - пожалуйста). Распространение Freeware с исходными текстами. Команды никакой нет (если хотите - присоединяйтесь). Специального графического движка тоже нет - слишком ничтожна задача, чтобы разрабатывать для нее движок. Сроки Игра будет закончена к лету 2007 года. Ход разработки будет освещаться в этой ветке форума. |
|
| Автор: | Tiger [ 07 июл 2006 15:09 ] |
| Заголовок сообщения: | |
Переодически в этой теме будут появляться новости о ходе работы над игрой. |
|
| Автор: | Tiger [ 08 июл 2006 21:42 ] |
| Заголовок сообщения: | |
Помогите срочно нужна помошь. Не удаётся скомпилировать код: Код: // INCLUDES ///////////////////////////////////////////////
#define WIN32_LEAN_AND_MEAN // just say no to MFC #pragma comment(lib,"dxguid.lib") #pragma comment(lib,"d3d9.lib") #include "windows.h" // include important windows stuff #include "windowsx.h" #include <d3d9.h> #include "xdirect3d.h" // defines for windows #define WINDOW_CLASS_NAME "WINXCLASS" // class name // setup a 640x480 16-bit windowed mode example #define WINDOW_TITLE "Kolobok" // PROTOTYPES ///////////////////////////////////////////// // game console int Init_Game(); int Main_Game(); int Shutdown_Game(); // GLOBALS //////////////////////////////////////////////// HWND main_window_handle = NULL; // save the window handle HINSTANCE main_instance = NULL; // save the instance // FUNCTIONS ////////////////////////////////////////////// LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { // this is the main message handler of the system PAINTSTRUCT ps; // used in WM_PAINT HDC hdc; // handle to a device context // what is the message switch(msg) { case WM_CREATE: { // do initialization stuff here return(0); } break; case WM_PAINT: { // start painting hdc = BeginPaint(hwnd,&ps); // end painting EndPaint(hwnd,&ps); return(0); } break; case WM_DESTROY: { // kill the application PostQuitMessage(0); return(0); } break; default:break; } // end switch // process any messages that we didn't take care of return (DefWindowProc(hwnd, msg, wparam, lparam)); } // end WinProc // WINMAIN //////////////////////////////////////////////// int WINAPI WinMain( HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow) { WNDCLASSEX winclass; // this will hold the class we create HWND hwnd; // generic window handle MSG msg; // generic message // first fill in the window class stucture winclass.cbSize = sizeof(WNDCLASSEX); winclass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW; winclass.lpfnWndProc = WindowProc; winclass.cbClsExtra = 0; winclass.cbWndExtra = 0; winclass.hInstance = hinstance; winclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); winclass.hCursor = LoadCursor(NULL, IDC_ARROW); winclass.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); winclass.lpszMenuName = NULL; winclass.lpszClassName = WINDOW_CLASS_NAME; winclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); // save hinstance in global main_instance = hinstance; // register the window class RegisterClassEx(&winclass); // create the window hwnd = CreateWindowEx(NULL, // extended style WINDOW_CLASS_NAME, // class WINDOW_TITLE, // title WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION, 0,0, // initial x,y SCREEN_WIDTH,SCREEN_HEIGHT, // initial width, height NULL, // handle to parent NULL, // handle to menu hinstance, // instance of this application NULL); // extra creation parms // save main window handle main_window_handle = hwnd; Init_Game(); // enter main event loop while(1) { if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { // test if this is a quit if (msg.message == WM_QUIT) break; // translate any accelerator keys TranslateMessage(&msg); // send the message to the window proc DispatchMessage(&msg); } // end if // main game processing goes here Main_Game(); } // end while // shutdown game and release all resources Shutdown_Game(); return 0; } ////////////////////////////////////////////////////////// int Init_Game() { Init_Direct3D(); return 0; } ////////////////////////////////////////////////////////// int Main_Game() { return 0; } ////////////////////////////////////////////////////////// int Shutdown_Game() { return 0; } ////////////////////////////////////////////////////////// Компилятор выдаёт следуюшие ошибки: Цитата: 1>.\game.cpp(108) : error C2440: '=' : cannot convert from 'const char [10]' to 'LPCWSTR'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast 1>.\game.cpp(127) : error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'const char [10]' to 'LPCWSTR' 1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast Кто-нибудь знает как исправить эти ошибки и чем они вызваны.
|
|
| Автор: | MagicWolf [ 10 июл 2006 09:08 ] |
| Заголовок сообщения: | |
Ошибка 1 - приведение типов, вторая тоже самое. |
|
| Автор: | Tiger [ 10 июл 2006 12:47 ] |
| Заголовок сообщения: | |
Цитата: Ошибка 1 - приведение типов, вторая тоже самое. Вопрос был не в том что это за ошибки ,а как их исправить и чем они вызваны. Я нерасчитавал что мне кто-то ответит и поэтому решил ответ поискать в интернете. И вот что мне удалось найти: Цитата: Visual C++ 2005 по умолчанию настроено на использование юникода.
Это всё легко исправить при создании проекта снять значение использовать юникод. Вот как нужно отвечать.Просто и ясно. Но всё равно MagicWolf спасибо за совет!!!
|
|
| Автор: | Tiger [ 10 июл 2006 12:55 ] |
| Заголовок сообщения: | |
Я вижу MagicWolf вы хотите присоединиться к проекту. Чтож милости просим.
P.S. Если я ошибся и вы нехотите присоединятся к проекту. То хотелосьбы знать причины: Почему вам ненравиться мой проект?
Что вас в нём не устраивает?
|
|
| Автор: | ypp [ 10 июл 2006 13:46 ] |
| Заголовок сообщения: | |
... Immortal писал(а): также на дорожках могут встречаться различные призы (как полезные, так и вредные).
Вопрос с точки зрения геймдизайна. Допустим на одной дорожке встечается "вредный приз". Естественно игрок не захочет его брать, но для прохождения уровня нужно пробежать по этой дорожке. Получается: 1) Заставляем игрока сделать то, чего он не хочеть - взять плохой приз. 2) Не даем игроку показать свои способности и избегать подобных "бяк". Еще несколько таких моментов и игрок может подумать, что его тут "за лоха держат" и выкинуть игру. Или може я не прав? |
|
| Автор: | Tiger [ 10 июл 2006 15:00 ] |
| Заголовок сообщения: | |
VPP писал(а): Цитата: Immortal писал(а): также на дорожках могут встречаться различные призы (как полезные, так и вредные). Если ты незаметил то идея сценария принадлежит NETLIBу. Поэтому все вопросы насчёт сценария и тех подержки к нему!!! ![]() Цитата: Вопрос с точки зрения геймдизайна. Допустим на одной дорожке встечается "вредный приз". Естественно игрок не захочет его брать, но для прохождения уровня нужно пробежать по этой дорожке. Основа сценария взята у Netliba, но это незначит что я собираюсь его слизовать как корова. ![]() Естественно сценарий который будет использоваться в игре будет значительно доработан. В доработаном сценарии игрок небудет знать хороший это приз или плохой.Он узнает об этом только тогда когда его возьмёт!!! ![]() Цитата: Еще несколько таких моментов и игрок может подумать, что его тут "за лоха держат" и выкинуть игру. Или може я не прав?
Эта игра распространяется бесплатно то есть на халяву. Нахаляву как известно и уксус сладкий!!!
Но это незначит что мы небудем прислушиваться к мнению игроков. |
|
| Автор: | MagicWolf [ 10 июл 2006 16:44 ] |
| Заголовок сообщения: | |
Immortal писал(а): Цитата: Ошибка 1 - приведение типов, вторая тоже самое. Вопрос был не в том что это за ошибки ,а как их исправить и чем они вызваны. Вызваны они приведением типов, просто LPCWSTR нельзя адресовать const char [10]. Главное в данном случае понять что за ошибка, а вот исправить ее можно по разному, в зависимости от ситуации. Immortal писал(а): Вот как нужно отвечать.Просто и ясно.
Но всё равно MagicWolf спасибо за совет!!! ![]() Большая просьба - не учи людей как жить. Это неприятно. Как ответили, так и ответили, сам понимаешь - это не работа. |
|
| Автор: | MagicWolf [ 10 июл 2006 16:46 ] |
| Заголовок сообщения: | |
Immortal писал(а): Я вижу MagicWolf вы хотите присоединиться к проекту. Нет, пока не хочу. Immortal писал(а): Чтож милости просим. Это ты забегаешь вперед. И от такой стремительности остается не приятный осадок. Immortal писал(а): P.S. Если я ошибся и вы нехотите присоединятся к проекту.
То хотелосьбы знать причины: Почему вам ненравиться мой проект? Что вас в нём не устраивает? ![]() Просто нет возможности - времени. |
|
| Автор: | Tiger [ 10 июл 2006 17:44 ] |
| Заголовок сообщения: | |
Цитата: Большая просьба - не учи людей как жить. Это неприятно. Как ответили, так и ответили, сам понимаешь - это не работа.
Извини если обидел.Я несобирался никого учить.Это была шутка.Не стоит принимать шутки всерьёз.
|
|
| Автор: | Tiger [ 10 июл 2006 17:53 ] |
| Заголовок сообщения: | |
Цитата: Нет, пока не хочу. Что нужно сделать чтобы заинтересовать вас. Цитата: Это ты забегаешь вперед. И от такой стремительности остается не приятный осадок. Это не есть забегать вперёд.Это есть планирование проекта на будушее. Цитата: Просто нет возможности - времени.
Проект не требует много времени.Всего навсего 10-30 минут в рабочий день.Выходные проект отдыхает.
Если у вас нету свободных десяти минут в рабочий день, то извените что побеспокоил.
|
|
| Автор: | MagicWolf [ 11 июл 2006 09:44 ] |
| Заголовок сообщения: | |
Immortal писал(а): Цитата: Нет, пока не хочу. Что нужно сделать чтобы заинтересовать вас. Цитата: Ну если бы мне платили деньги за сайт, а не за работу, может тогда у меня было бы достаточно мотивировки, чтобы присоедениться, или хотя бы оказать посильную помощь. НО это мое хобби, так что это вряд ли вообще реализуемо. Immortal писал(а): Цитата: Это ты забегаешь вперед. И от такой стремительности остается не приятный осадок. Это не есть забегать вперёд.Это есть планирование проекта на будушее. Не дави на людей, а то им будет неприятно. Планирование и работа с кадрами разные понятия. Я думаю, кроме меня найдуться и другие люди, которые захотят учавствовать в проекте. Immortal писал(а): Цитата: Просто нет возможности - времени. Проект не требует много времени.Всего навсего 10-30 минут в рабочий день.Выходные проект отдыхает. Если у вас нету свободных десяти минут в рабочий день, то извените что побеспокоил. ![]() За 10 минут, можно и не вспомнить, что раньше написал. Если работать, то работать по нормальному, а не спустя рукава. |
|
| Автор: | Tiger [ 11 июл 2006 10:10 ] |
| Заголовок сообщения: | |
Цитата: Ну если бы мне платили деньги за сайт, а не за работу, может тогда у меня было бы достаточно мотивировки, чтобы присоедениться, или хотя бы оказать посильную помощь. НО это мое хобби, так что это вряд ли вообще реализуемо. Вы правы этот проект не комерческий, но это незначит что он обречён на провал.К томуже мне подойдёт любая помошь.Программирование игр для меня тоже хобби и уменя всё реализуема!!! Цитата: Не дави на людей, а то им будет неприятно. Планирование и работа с кадрами разные понятия. Я думаю, кроме меня найдуться и другие люди, которые захотят учавствовать в проекте. Я не накого не довлю.Проект этот не комерческий люди могут в любое время вступить в него и также уйти. Цитата: За 10 минут, можно и не вспомнить, что раньше написал. Если работать, то работать по нормальному, а не спустя рукава.
То что написано раньше можно прочитать на форуме. Когда будем создавать комерческий проект тогда и будем работать по нормальному.Невозможно работать нормально когда утебя пустой корман. P.S. Все большие коммерческие проекты начинались с маленьких, а не наоборот. Например: Космические рейнджеры, а начиналось всё с генерала. |
|
| Страница 1 из 11 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|