Há muito tempo eu queria aprender a usar algum programa de desenho 3D. Foi assim que descobri uma ferramenta gratuita muito boa para isto: o Blender 3D. Desde então, venho me aventurando por estas áreas, e certamente será muito interessante explorar o desenho 3D, para a elaboração de jogos.
Meu objetivo com este post, portanto, é apresentar o programa e dar algumas direções aos que desejam também aprender mais sobre este tipo de ferramenta. Não irei me dedicar a fazer tutoriais, por que estes já existem em quantidade e qualidade suficiente pela internet. Entre eles, o tutorial que acho mais interessante para iniciantes como eu, é o livro online, Blender 3D: Noob to Pro.
O download do programa pode ser feito nesta página. Pode-se observar que há várias opções para download.
O programa conta ainda com vários sites de comunidades dedicadas ao Blender. Aqui no Brasil, por exemplo, temos o Blender Brasil.
Como já tinha mencionado, o tutorial Blender 3D: Noob to Pro é um ótimo tutorial para o iniciante. A figura Lone House mostrada no início do tutorial, no tópico O que o Blender pode fazer, dá um pequeno "gostinho" para os ávidos desenhistas da capacidade da ferramenta:
Obviamente, desenhar algo assim, com tanta riqueza de detalhes, não é para qualquer um... O trabalho tem que começar do zero, e o tutorial faz isto: te ensina o básico do básico. Há inclusive o tutorial te ensinando a modelar uma casa (sem no entanto aplicar texturas e materiais):
Além do desenho, o Blender 3D possui ferramentas para fazer animação além de uma Game Engine. Definitivamente, para uma ferramenta gratuita, ela ajuda bastante os desenvolvedores de jogos. Acredito que a pessoa que queira investir nesta área, estará fazendo uma boa escolha, ao escolher este programa. Com as comunidades existentes em vários países, você terá um bom suporte na hora das dúvidas.
Este é meu blog sobre eletrônica e duas paixões minhas que estão ligadas à eletrônica: jogos eletrônicos e ferreomodelismo. Não sou um expert em nenhum dos três, por isto o que tenho aqui é o que estou aprendendo.
Mostrando postagens com marcador Software. Mostrar todas as postagens
Mostrando postagens com marcador Software. Mostrar todas as postagens
quinta-feira, 10 de novembro de 2011
sexta-feira, 7 de outubro de 2011
Conhecendo o Dev C++
Há muito tempo desejava iniciar uma série sobre emulação e criação de jogos. Obviamente irei tratar de várias ferramentas para isto, e pretendo começar com as ferramentas mais simples (nada de apresentar Engines de jogos por enquanto), caminhando para as mais complexas.
Portanto, a escolha mais lógica para se iniciar esta série é a apresentação de compiladores. Com eles, poderemos desenvolver todo o programa para nossos jogos. É claro que também poderemos usá-los para desenvolver aplicativos para as placas que desenvolvermos, então o interesse nos compiladores é grande.
Começo portanto apresentando um compilador gratuito de linguagem C/C++ que pretendo usar em meus posts: o Dev C++. Este compilador foi desenvolvido pela Bloodshed Software em Delphi 6 (seu código fonte pode ser obtido no site). O software pode ser baixado aqui. O processo de instalação do programa não é complicado.
O programa vem com alguns exemplos. O arquivo abaixo é o arquivo principal do projeto WinMenu, que pode ser encontrado na pasta de exemplos do Dev C++:
Aqui temos um programa básico para o Windows. Se você instalou o Dev C++, tente compilar este programa (aperte F9). Caso algum erro tenha acontecido, é por que você precisará fazer algumas configurações no Dev C++. Para isto, vá ao menu Ferramentas >> Opções do compilador, depois procure a aba Diretórios. Você terá que adicionar o caminho do MingW32, que é o compilador Windows. Este diretório deve ficar em algum caminho do tipo C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2, onde o C: você deverá substituir pelo drive onde você instalou o Dev C++, e o 3.4.2 é a versão do MingW32. Compile novamente e uma janela aparecerá.
O Dev C++ pode ser usado com livrarias gráficas, para a programação de jogos e de emuladores. Talvez a primeira livraria que você deva tentar instalar para usar é a livraria Allegro. Para a instalação dela no Dev C++, há um bom tutorial disponível no site Biblioteca dos Desenvolvedores de Jogos. Instale esta biblioteca, e você estará pronto para desenvolver seus jogos e emuladores.
Em posts futuros, estarei tratando mais desta questão. Na medida do possível, estarei falando mais sobre a programação em C++ de um modo geral, para que tais programas possam ser usados em automação também.
Portanto, a escolha mais lógica para se iniciar esta série é a apresentação de compiladores. Com eles, poderemos desenvolver todo o programa para nossos jogos. É claro que também poderemos usá-los para desenvolver aplicativos para as placas que desenvolvermos, então o interesse nos compiladores é grande.
Começo portanto apresentando um compilador gratuito de linguagem C/C++ que pretendo usar em meus posts: o Dev C++. Este compilador foi desenvolvido pela Bloodshed Software em Delphi 6 (seu código fonte pode ser obtido no site). O software pode ser baixado aqui. O processo de instalação do programa não é complicado.
O programa vem com alguns exemplos. O arquivo abaixo é o arquivo principal do projeto WinMenu, que pode ser encontrado na pasta de exemplos do Dev C++:
#include <windows.h>
#include "main.h"
/* Declare WindowsProcedure */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
/* Make the classname into a global variable */
char szClassName[] = "Windows Example";
HINSTANCE hThisInstance;
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
HWND hwnd; /* This is the handle for our window */
MSG messages; /* Here messages to the application is saved */
WNDCLASSEX wincl; /* Datastructure for the windowclass */
HMENU menu; /* Handle of the menu */
/* The Window structure */
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */
wincl.style = CS_DBLCLKS; /* Ctach double-clicks */
wincl.cbSize = sizeof(WNDCLASSEX);
/* Use default icon and mousepointer */
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
wincl.lpszMenuName = NULL; /* No menu */
wincl.cbClsExtra = 0; /* No extra bytes after the window class */
wincl.cbWndExtra = 0; /* structure or the window instance */
/* Use lightgray as the background of the window */
wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);
/* Register the window class, if fail quit the program */
if(!RegisterClassEx(&wincl)) return 0;
/* The class is registered, lets create the program*/
hwnd = CreateWindowEx(
0, /* Extended possibilites for variation */
szClassName, /* Classname */
"Windows Example", /* Title Text */
WS_OVERLAPPEDWINDOW, /* defaultwindow */
CW_USEDEFAULT, /* Windows decides the position */
CW_USEDEFAULT, /* where the window end up on the screen */
544, /* The programs width */
375, /* and height in pixels */
HWND_DESKTOP, /* The window is a childwindow to desktop */
NULL, /* No menu */
hThisInstance, /* Program Instance handler */
NULL /* No Window Creation data */
);
/* Make the window visible on the screen */
ShowWindow(hwnd, nFunsterStil);
menu = LoadMenu(hThisInstance, MAKEINTRESOURCE(ID_MENU));
SetMenu(hwnd, menu);
/* Run the nessageloop. It will run until GetMessage( ) returns 0 */
while(GetMessage(&messages, NULL, 0, 0))
{
/* Send message to WindowProcedure */
DispatchMessage(&messages);
}
/* The program returvalue is 0 - The value that PostQuitMessage( ) gave */
return messages.wParam;
}
/* This function is called by the Windowsfunction DispatchMessage( ) */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message) /* handle the messages */
{
case WM_COMMAND:
switch( wParam )
{
case IDM_FILENEW:
case IDM_FILEOPEN:
case IDM_FILESAVE:
case IDM_FILESAVEAS:
case IDM_FILEPRINT:
case IDM_FILEPAGESETUP:
case IDM_FILEPRINTSETUP:
case IDM_EDITUNDO:
case IDM_EDITCUT:
case IDM_EDITCOPY:
case IDM_EDITPASTE:
case IDM_EDITDELETE:
MessageBox( hwnd, (LPSTR) "Function Not Yet Implemented.",
(LPSTR) szClassName,
MB_ICONINFORMATION | MB_OK );
return 0;
case IDM_HELPCONTENTS:
WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
HELP_CONTENTS, 0L );
return 0;
case IDM_HELPSEARCH:
WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
HELP_PARTIALKEY, 0L );
return 0;
case IDM_HELPHELP:
WinHelp( hwnd, (LPSTR) "HELPFILE.HLP",
HELP_HELPONHELP, 0L );
return 0;
case IDM_FILEEXIT:
SendMessage( hwnd, WM_CLOSE, 0, 0L );
return 0;
case IDM_HELPABOUT:
MessageBox (NULL, "About..." , "Windows example version 0.01", 1);
return 0;
}
break;
case WM_CLOSE:
DestroyWindow( hwnd );
return 0;
case WM_DESTROY:
PostQuitMessage (0);
return 0;
break;
default: /* for messages that we don't deal with */
return DefWindowProc(hwnd, message, wParam, lParam);
}
return 0;
}
Aqui temos um programa básico para o Windows. Se você instalou o Dev C++, tente compilar este programa (aperte F9). Caso algum erro tenha acontecido, é por que você precisará fazer algumas configurações no Dev C++. Para isto, vá ao menu Ferramentas >> Opções do compilador, depois procure a aba Diretórios. Você terá que adicionar o caminho do MingW32, que é o compilador Windows. Este diretório deve ficar em algum caminho do tipo C:\Dev-Cpp\libexec\gcc\mingw32\3.4.2, onde o C: você deverá substituir pelo drive onde você instalou o Dev C++, e o 3.4.2 é a versão do MingW32. Compile novamente e uma janela aparecerá.
O Dev C++ pode ser usado com livrarias gráficas, para a programação de jogos e de emuladores. Talvez a primeira livraria que você deva tentar instalar para usar é a livraria Allegro. Para a instalação dela no Dev C++, há um bom tutorial disponível no site Biblioteca dos Desenvolvedores de Jogos. Instale esta biblioteca, e você estará pronto para desenvolver seus jogos e emuladores.
Em posts futuros, estarei tratando mais desta questão. Na medida do possível, estarei falando mais sobre a programação em C++ de um modo geral, para que tais programas possam ser usados em automação também.
Categorias:
C/C++,
Ferramentas gratuitas,
Software
Assinar:
Postagens (Atom)



