Четверг, 17 Июля 2025, 12:24

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
WXZRWДата: Четверг, 13 Августа 2009, 14:02 | Сообщение # 521 | Тема: Что учить, кто хочет программировать?
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
знать надо,но сейчас уже действительно все прозрачнее и легче. Допустим, большинство функций реализовано в дириксе.

Хмм, если API DirectX использовать, то да... Я же под OpenGL все сам пишу, т.е. там нет математических функций в АПИ.

WXZRWДата: Четверг, 13 Августа 2009, 14:00 | Сообщение # 522 | Тема: Tutorial [EN/RU]: создание окна приложения, WinAPI
Thousand faces conspiration
Сейчас нет на сайте
Quote (GC-Vic)
WXZRW, используй тэг "code".

ОК, сегодня попозже обновлю тему.

WXZRWДата: Вторник, 11 Августа 2009, 14:41 | Сообщение # 523 | Тема: Новая структура форума.
Thousand faces conspiration
Сейчас нет на сайте
Quote (Akyltist)
Хорошая идея, но опять таки я предложил всего лишь))).

Да не, к вам-то претензий нет, конечно, предлагайте. Но на данный момент в Программинге 33 темы, там вобщем-то нечего делить. К тому же новые темы там в разделе раз в неделю если не реже появляются. Будет движение в этом разделе - будем думать что с ним делать, сейчас же я рекомендую администрации этот вопрос отклонить как преждевременный.

Тем более в плане ассемблера могу сказать, тут бы хотя бы по скриптовым языкам поднять темы, ассемблер это в будущем если повезет.

WXZRWДата: Вторник, 11 Августа 2009, 14:19 | Сообщение # 524 | Тема: Новая структура форума.
Thousand faces conspiration
Сейчас нет на сайте
Quote (Akyltist)
Это скриптовые языки программирования, большинство из них используется для разработки браузерных игр, имеется ввиду профессиональная разработка. Но так как часть из них используется и для обычных игровых движков, то они объединены как скриптовые.

В принципе так и есть, но я думаю что Lua не влазит в рамки web языков, или тогда надо вообще чисто скриптовые языки обьединить.

Quote (Akyltist)
Ассемблер туда включен так как это самый лучший вариант для оптимизации вычислений))

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

Думаю, лучше делить программинг по сложности и по графическим АПИ.

WXZRWДата: Вторник, 11 Августа 2009, 14:14 | Сообщение # 525 | Тема: Новая структура форума.
Thousand faces conspiration
Сейчас нет на сайте
Предложение Akyltist не одобряю, не вижу особого смысла в данных мероприятиях, в частности, необходимость наличия раздела Информационный раздел считаю сомнительной. Также раздел Кодинг, Оптимизация, Софт выглядит слишком неоднозначно, можно было бы делить по графическим АПИ и по сложности тем, типа как (Beginner, Intermediate, Advanced), алгоритмы + ИИ + криптография это вообще сомнительная смесь, поскольку алгоритм сам по себе это набор действий в определенном порядке (любого рода и для любых целей), каким боком тут ИИ я не представляю.

Благо есть раздел вообще по программингу, популярность этого раздела видна и так, разделение по АПИ и так далее на данный момент ничего не даст, так как нет аудитории, то есть просто нет тем с вопросами и так далее, раз нет вопросов, нет и обсуждения, нет и новых тем.

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

Хотя я думаю, сделать что ли отдельный форум на английском по программингу...

WXZRWДата: Понедельник, 10 Августа 2009, 17:41 | Сообщение # 526 | Тема: Индивидуальный статус
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
Quote (nilrem)

Ввести какой-нибудь профессиональный рейтинг или тест.
А то объяснял тут мне один придурок, что Делфи лучше, чем с++, но на поверку оказалось, что он не смыслит ни в том, ни в другом.

предлагай, но мне кажется это перебор, т.к. придется разрабатывать целую систему тестов. Для каждого конструктора,движка, граф. программы и т.д.

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

Да и какая разница, кто есть кто, я лично не задумывался насколько я программер, потому что я в первую очередь бывший разраб читов.

WXZRWДата: Воскресенье, 09 Августа 2009, 16:11 | Сообщение # 527 | Тема: Небольшой заработок
Thousand faces conspiration
Сейчас нет на сайте
How many times we have to explain this over again... You culda only earn if you're owner of the surf/investment program.

Или можно случайно урвать немного денег, но обычно это дают сделать с тем чтобы убедить клиента. Реальный навар получают разве что организаторы всякой разной фигни, которой в сети валом, и в принципе все это так же старо как и начало времен.

WXZRWДата: Воскресенье, 09 Августа 2009, 15:08 | Сообщение # 528 | Тема: Небольшой заработок
Thousand faces conspiration
Сейчас нет на сайте
Вся эта фигня до поры до времени работает, короче говоря имхо это scam. С таким же успехом можно в HYIP какой-нибудь вкладывать. Если кто и зарабатывает на этой фигне, то разве что организаторы.

И то тему пока трогать не буду, поскольку вроде как это вложений не требует, а так правила не очень это все одобряют.

WXZRWДата: Суббота, 08 Августа 2009, 16:41 | Сообщение # 529 | Тема: Tutorial [EN/RU]: создание окна приложения, WinAPI
Thousand faces conspiration
Сейчас нет на сайте
Quote (nilrem)
Извини, но это пока не туториал, а просто исходный код с комментариями и ничего больше.
Что такое HDC, HWND, HINSTANCE и т.д.?

ОК, тогда надо будет дописать обьяснения по структурам. Хотя если честно, зарубежные авторы обычно не стесняются назвать туториалом 10 строк для отрисовки кубика на OpenGL =)

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

WXZRWДата: Суббота, 08 Августа 2009, 16:15 | Сообщение # 530 | Тема: Tutorial [EN/RU]: создание окна приложения, WinAPI
Thousand faces conspiration
Сейчас нет на сайте
Последнее обновление 09/08/2009

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

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

Далее код и инфа по коду :

Code
#include <windows.h>

// Declare some variables and function prototypes for further usage

* Сперва обьявим функции и переменные :

Первые три вещи это контекст устройства (device context), хендл окна (window handle), и инстанс приложения (application instance)

Code

HDC dc;

HWND w_handle;
HINSTANCE inst;

LRESULT CALLBACK w_process(HWND wnd_handle,UINT system_msg,WPARAM w_param,LPARAM l_param);

WPARAM _process(HWND w_handle);

// Below functions we need

* Главная функция, здесь устанавливаем все настройки и создаем окно, также как и класс приложения. Точнее, это точка входа в приложение.

Code
// Main function
int WINAPI WinMain(HINSTANCE inst,HINSTANCE prev_inst,LPSTR line,int show)
{
// We want window styles at first

DWORD ex_style;
DWORD style;

// We 'll need it later to set up window size and position.

* Сперва создадим структуры для класса и для окна, заполним их переменными и создадим класс.

Code
RECT rect;

// And at last we need to set a window class

WNDCLASSEX w_class;

// Allocate memory for class structure

[b]* Выделим память под структуру класса[/b]

memset(&w_class,0,sizeof(WNDCLASSEX));

// Set up class variables below

* Параметры переменных класса, лучше всего посмотреть инфу на MSDN по структуре WNDCLASSEX, поскольку тут могут быть варианты, то есть в данном случае я использовал одни параметры, но в других случаях могут быть использованы и другие параметры.

* Дополнительно : этот параметр (hbrBackground) может быть определен как NULL, в таком случае окно не будет закрашено. Многие авторы (особенно те кто пишет туториалы под OpenGL/DirectX) не утруждаются этим, но я задал черный цвет.

Code
w_class.cbClsExtra = 0; // extra bytes, we want it to be 0
w_class.cbSize = sizeof(WNDCLASSEX); // size of the whole structure
w_class.cbWndExtra = 0; // yet another extra bytes, shulda be 0 in our case
w_class.hbrBackground = (HBRUSH)(COLOR_WINDOW+2); // set up background color, it 'll be black.
//if you want it to be white, set +1 instead +2 then
w_class.hCursor = LoadCursor(NULL,IDC_ARROW); // we 'll set standard cursor, but you can set your own one
w_class.hIcon = LoadIcon(NULL,IDI_APPLICATION); // standard icon, but culda be NULL instead of it also
w_class.hIconSm = LoadIcon(NULL,IDI_WINLOGO); // same as above
w_class.hInstance = inst; // handle to instance
w_class.lpfnWndProc = w_process; // pointer to window procedure
w_class.lpszClassName = "test"; // class name
w_class.lpszMenuName = NULL; // menu name, but if set to NULL, window have no default menu then
w_class.style = CS_HREDRAW | CS_VREDRAW; // set class style(s)

// After class infromation is OK and available, it's time to register the class

* Когда все параметры класса заданы, можно его зарегистрировать в системе, но не наоборот.

Code
RegisterClassEx(&w_class);

// Window styles below

style = WS_OVERLAPPEDWINDOW;
ex_style = WS_EX_APPWINDOW;

// Window rect to set window size (width and height), and window position (left and top)
// Note that 0,0 yields a top left corner of the screen

* Теперь можем приступать к созданию окна, для начала надо задать позицию окна на экране и размеры окна.

* Дополнительно : left и top это координаты верхнего левого угла окна, у нас это точка отсчета коодинат экрана, то есть начало координат 0,0 это верхний левый угол экрана

Code
rect.bottom = 480;
rect.left = 0;
rect.right = 640;
rect.top = 0;

// Before creating the window we also need to set up window rectangle and style

* После того как структура заполнена, вызываем функцию AdjustWindowRect чтобы применить все параметры, которые были заданы.

* Дополнительно : эта функция используется перед созданием окна, если окно уже создано, то для изменения параметров RECT нужно использовать функцию SetWindowPos

Code
AdjustWindowRect(&rect,style,FALSE); // This one only valid before window is created, to change rect of existing window
// you shulda be using SetWindowPos function from WinAPI

// Ok, we're ready to create it

* Создаем само окно, опять же рекомендую смотреть в MSDN какие здесь именно параметры вообще могут быть.

Code
w_handle = CreateWindowEx(
ex_style, // window style (extended), we had to set up before
"test", // class name
"Test", // window name
style, // yet another window style
0, // horisontal window position
0, // vertical window position
rect.right - rect.left, // window width
rect.bottom - rect.top, // window height
NULL, // handle for parent window, it's NULL 'coz we have no such window
NULL, // handle for menu, it's NULL as well
inst, // handle to instance
NULL); // Additional info, but we don't want it at all, so it's NULL too

// Now let's set window position as well, but note it ain't really necessary, if we 'll skip this, window 'll
// be applied to the top left of screen


* Эту функцию можно и не вызывать, я делаю это чтобы показать, как изменить положение окна. Вообще при этом должно быть обработано соответствующее системное сообщение в нашей функции w_process, но для простоты я этого не стал делать, тем более что двигаем окно в самом
начале перед его созданием.

* Дополнительно : мы здесь не изменяем размер окна, только позицию. Поэтому последний параметр у нас SWP_NOSIZE, два предыдущих параметра также NULL. Если нужно изменить размер окна, тогда размеры нужно указать вместо NULL и также изменить последний параметр.

Code
SetWindowPos(
w_handle, // window handle
HWND_TOP, // how it shulda behave, we wanna it on the top of
240, // where the left side shulda be
320, // same for top, note both variables given in client coords
NULL, // specify new width of the window
NULL, // same for height, this one and above shulda be given in pixels, but note we don't want it that way
SWP_NOSIZE); // 'coz we want 2 items we have above to bee ignored, we set NOSIZE to remain window as it is

// We now want to set up window show state

* Теперь задаем стэйт окна, в данном случае все оставляем как есть по умолчанию, но можно и другой параметр указать, например SW_SHOWMAXIMIZED, тогда окно будет развернуто на весь экран.

Code
ShowWindow(w_handle,SW_SHOW); // window handle and yet another param to make our window active

* Показываем курсор мыши, или можно его убрать, тогда пишем false

Code
ShowCursor(true); // show mouse cursor too, if no longer required it culda be set to FALSE then

UpdateWindow(w_handle); // update window

return _process(w_handle); // return result back to, after it's handled by _process function
}


* Здесь отслеживаем системные сообщения и обрабатываем их. Опять же, советую смотреть в MSDN по поводу сообщений.

Code
// Shulda be declared within the class in WinMain function
LRESULT CALLBACK w_process(HWND w_handle,UINT _msg,WPARAM wparam,LPARAM lparam)
{
LONG lret = 0;

// Below we need to handle system messages, but we only take care about WM_CLOSE

* Обрабатываем только WM_CLOSE, остальные сообщения игнорируем и передаем дальше

Code
switch(_msg)
{

case WM_CLOSE : // Exit from application if WM_CLOSE command incoming
{

* Если поступило сообщение о закрытии окна, тогда удаляем из памяти device context и класс

Code
ReleaseDC(w_handle,dc); // Release device context from memory

UnregisterClass("Test",inst); // Remove our class too

PostQuitMessage(0); // Kill application
}
break;

default :

* Те сообщения, которые мы здесь не обработали, обрабатываются по умолчанию

Code
lret = DefWindowProc(w_handle,_msg,wparam,lparam); // Default processing for all the messages not processed by
// our application, to make sure that all the messages are processed anyway.

break;
}

return lret;
}

* Ну и здесь главный цикл приложения, беконечный

Code
// We will pass window handle to this one in WinMain function (at the end of)
WPARAM _process(HWND w_handle)
{
MSG msg;

// This one is the main application loop, it's infinite.

while(1)
{

* Обрабатываем системные сообщения

Code
if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)) // Dispatch system messages
{
if(msg.message == WM_QUIT) break; // If got WM_QUIT message then break the loop and exit from application

TranslateMessage(&msg);    // Otherwise, let's find out what the message is exactly
DispatchMessage(&msg); // And execute it

// Here we culda have an else statement and some stuff inside of it, for example, scene rendering, but we leave
// it as is, 'coz we have nothing to do at this time.

* Здесь можно было бы рендерить сцену, но так ее попросту нет, то ничего не делаем.

Code
}
}

return(msg.wParam);
}

Также прикладываю и .cpp исходник, для компиляции в Visual C++ нужно создать проект типа Win32 Application.

Ну и если нужно больше по-русски, то пишите запросы, хотя я позже планирую дописать еще инфы здесь. Следующий туториал будет о подключении OpenGL.

Прикрепления: core.cpp (6.2 Kb)
WXZRWДата: Суббота, 08 Августа 2009, 15:22 | Сообщение # 531 | Тема: Подскажите 3D движок для РПГ
Thousand faces conspiration
Сейчас нет на сайте
Опять? Ты же создавал такую же тему, здесь - http://gcup.ru/forum/47-1456-1.

Нарушение правил, причем повторное, а именно пункт III. Публикация сообщений.

Закрыто, плюс 20 баллов карточка

WXZRWДата: Пятница, 07 Августа 2009, 20:20 | Сообщение # 532 | Тема: Образование
Thousand faces conspiration
Сейчас нет на сайте
Quote (Техник)
Зато после обучения в ВУЗЕ вас могут взять на хорошую работу.И не только в России.

Ну, это да. Только я в том смысле что знания можно иметь ничего не оканчивая. Я например знаю как сделать вычисления по конструкции авто на уровне 1 или 2 курса автомобилестроительного учебного заведения. Не в том смысле, что я выделяюсь здесь, а в том, что есть у меня эти знания, хотя я никогда не учился по автомобильным специальностям. То есть, мне не нужны обьяснения, я могу прочитать книгу/статью/документ и все понять. Кому-то надо обьяснять даже ПДД... То есть, я так думаю, что если есть желание, можно самому научиться чему-либо, читая соответсвующие книги.

Если чисто для работы где-то, то да, тут нужна бумага. Хотя там где я живу, можно и без бумаг пролезть, как повезет.

WXZRWДата: Пятница, 07 Августа 2009, 20:06 | Сообщение # 533 | Тема: Вопрос-Ответ - мини вопросы по созданию игр
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
Quote (WXZRW)
Если лицензия правообладателя запрещает такие действия, то могут подать в суд. Все зависит от правообладателя, точнее, от его действий.

ну, еще нужно доказать, что он юзал этот скрипт. Изменить можно до неузнаваемости...

Можно то можно, ну а где профит тогда? Ведь если капитально переделывать, иногда ведь проще плюнуть и свое сделать... Что там доказывать, наложат арест на сервер и ку-ку. У нас в стране как-то у одной из газет больше 70 серверов изъяли, и ничего. Да и плюс еще все носители данных.

Ну а если и не докажут, все равно крови попортят изрядно. Суды это обычно очень долго и очень дорого.

WXZRWДата: Пятница, 07 Августа 2009, 20:04 | Сообщение # 534 | Тема: Предложения по улучшению
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
статьи можно найти ТЛТ, не проблема. Можно туда выкладывать учебники .мануалы, и просто отвечать на вопросы

Хмм, ну фиг знает... Ведь статьи чьи-то, значит надо с автором договариваться, по идее. Книги тем более.

WXZRWДата: Пятница, 07 Августа 2009, 16:12 | Сообщение # 535 | Тема: Вопрос-Ответ - мини вопросы по созданию игр
Thousand faces conspiration
Сейчас нет на сайте
Quote (The13th)
Если я скачал исходник Antibk,изменил(изменю) картинки, названия ,и прочее, не посадят ли меня за то, что найдут сходства в скрипте моей игры и Antibk???

Если лицензия правообладателя запрещает такие действия, то могут подать в суд. Все зависит от правообладателя, точнее, от его действий.

WXZRWДата: Пятница, 07 Августа 2009, 16:06 | Сообщение # 536 | Тема: Предложения по улучшению
Thousand faces conspiration
Сейчас нет на сайте
Quote (nilrem)
Quote (WXZRW)
И тоже вопрос, код тоже вывешивать (в смысле сами исходники), или же
только сам текст...

Желательно весь проект, иначе чревато вопросами типа "А что с ним делать?" или "Почему не компилится?")

В том то и дело.

Quote (nilrem)
Quote (WXZRW)
тогда надо бы и на английском

Кому?
Тут и русский не все знают)

Ну я когда на модератора заявку подавал, я так и сказал, буду английский проталкивать. Вобщем я тогда на обоих языках напишу. Да и много писать не буду, так, комменты к коду, все ведь в MSDN есть, не будем же мы здесь это переписывать. Да и может в будущем будем расширяться и привлекать сюда англоязычных пользователей, может отдельный форум на инглише сделаем, ну, видно будет. Я вот уже предлагал администрации, насчет этого, во всяком случае, они от этого не отказывались. Короче говоря, на всякий случай, вдруг нужно будет.

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

WXZRWДата: Пятница, 07 Августа 2009, 14:32 | Сообщение # 537 | Тема: Предложения по улучшению
Thousand faces conspiration
Сейчас нет на сайте
Quote (TLT)
В статьи или файлы? А кто и чем заполнят будет эти разделы?

Разделы появляются только тогда, когда для их появления есть реальный резон. Т.е. они не должны пустовать.

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

Только тут тоже вопрос, надо ведь будет комменты к коду писать, что да как. Вообще есть у меня отдельный код (туториал делал), по созданию окна приложения, т.е. без инициализации GL/DirectX , только WinAPI, вот думаю выложить, но надо тогда саму статью писать, ну, может и не так чтобы уж и статью, но пару абзацев обьяснений что к чему, не помешало бы.

Но тут уже такое дело, если выкладывать туториал, тогда надо бы и на английском тоже написать (мне не сложно).

И тоже вопрос, код тоже вывешивать (в смысле сами исходники), или же только сам текст...

WXZRWДата: Пятница, 07 Августа 2009, 00:19 | Сообщение # 538 | Тема: Наш мини-чат
Thousand faces conspiration
Сейчас нет на сайте
Quote (Ternox)
Мне кажется чат нужно только на главной странице форума оставить. В темах он ни к чему.

Поддерживаю.

WXZRWДата: Четверг, 06 Августа 2009, 17:35 | Сообщение # 539 | Тема: Образование
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
не знаю как в Европе, в России самоучку никто не возьмет на работу. Чисто для себя- согласен, можно и учиться по книгам. Если же хочешь работать, скажем программистом, то нужно иметь диплом о высшем образовании

Вообще-то моя фраза, не Руслана. Ну, я не в том смысле что образование не надо. Документ то есть. Документ, это вещь нужная. Я в том смысле, что учился я сам. А программером я в компаниях не работал, и не планирую. Поскольку у меня свой подход к программингу, и подчиняться главному программеру я не хочу. Хотя, в принципе, мог бы и на фирме работать, высшее образование у меня есть.

Вообще, если буду боссом и придется набирать персонал, буду оценивать наработки кандидатов. Бумажки можно и купить, это не показатель.

Если знания есть, а бумаг нет - для меня это не будет препятствием при найме сотрудника.

WXZRWДата: Четверг, 06 Августа 2009, 17:30 | Сообщение # 540 | Тема: Battle for Liberty
Thousand faces conspiration
Сейчас нет на сайте
Quote (Vinchensoo)
сделано примерно 50% сюжета(я сюда включаю легенды, которые будут разбросаны по всему миру и т.д.)
с выбором движка определились. Буду все-таки писать на с++ с использованием дирикс.

Ну, ты лучше уже начинай код писать. Сюжет - это не главное сейчас. Потому что без движка тебе не то что сюжет, а даже модели не нужны. Медиа ты потом наверстаешь. Я лично в своем проекте ничего кроме кода и не делаю. То есть сюжет мне для шутера не очень нужен, а сценарии миссий - это уже потом. Я вообще только по первой миссии сценарий сделал, и все. Про модели даже и не говорю - ни одной своей нет. Да и не надо. А все почему? А потому что модели это потом, если финансирование будет. Найму персонал да и все, намоделлят. Демо можно и с бесплатными моделями показать.

Ну, это имхо.

Поиск:

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