Tag Archives: Irrlicht

Integração Newton e Irrlicht – Básico

Como eu ando vendo isso ultimamente, resolvi meio que traduzir um tutorial, na verdade fiz outro a partir daquele! hehehe

Bom, primeiramente, se não tiver, baixe a Irrlicht e a Newton.

Eu estou usando o Visual C++ 2008 Express Edition, mas nada impede de você utilizar outros compiladores…

Então, inicie um projeto, a primeira coisa a fazer, é adicionar as pastas de include adicionais da Irrlicht e da Newton, e adicionar também as bibliotecas estáticas (.LIB no VC, se for no mingw é .A). Vá em Project -> Project Properties, clique em C/C++ e na opção Additional Include Directories, coloce as pastas de Include da Irrlicht e da Newton, aqui na minha ficou assim: F:\NewtonSDK\sdk;”F:\irrlicht-1.4\include”. Depois em Linker->Input, no Additional Dependencies, coloque as bibliotecas estáticas, no meu: F:\irrlicht-1.4\lib\Win32-visualstudio\Irrlicht.lib F:\NewtonSDK\sdk\dll\Newton.lib.

Pronto, agora crie um arquivo Cpp, e coloque um esqueleto básico, mais ou menos assim:

#include <irrlicht.h>
#pragma comment(lib, "Irrlicht.lib")

using namespace irr;
using namespace video;
using namespace core;
using namespace scene;

int main()
{

	IrrlichtDevice* device = createDevice(EDT_OPENGL);

	IVideoDriver* driver = device->getVideoDriver();
	ISceneManager* smgr = device->getSceneManager();

	ISceneNode* cube = smgr->addCubeSceneNode();
        cube->setPosition(vector3df(0,0,50));

	ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS();

	while (device->run())
	{
		if (device->isWindowActive())
		{
			driver->beginScene(true, true, SColor(255,255,255,255));

			smgr->drawAll();

			driver->endScene();
		}
	}

	return 0;
}

Este exemplo vai conter uma câmera FPS e um cubo preto. Nada de interessante… hehehe

Agora vamos integrar a newton… Adicione o header da Newton:

#include <newton.h>

Na Newton nós temos o NewtonWorld, que é mais ou menos como o IrrlichtDevice para a Irrlicht. temos que inicializar:

NewtonWorld *nWorld = NewtonCreate(NULL, NULL);

E então no fim, desaloque o ponteiro, assim:

NewtonDestroy(nWorld);

Bom isso parece sem utilidade, sim está sem utilidade, porém se isso funcionou, a newton está pronta para o uso! Já está integrada, agora só falta começar a usar! hehehe

Código completo:

#include <irrlicht.h>
#include <newton.h>

#pragma comment(lib, "Irrlicht.lib")

using namespace irr;
using namespace video;
using namespace core;
using namespace scene;

int main()
{

	IrrlichtDevice* device = createDevice(EDT_OPENGL);

	NewtonWorld* nWorld = NewtonCreate(NULL, NULL);

	IVideoDriver* driver = device->getVideoDriver();
	ISceneManager* smgr = device->getSceneManager();

	ISceneNode* cube = smgr->addCubeSceneNode();

	ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS();

	cube->setPosition(vector3df(0,0,50));

	while (device->run())
	{
		if (device->isWindowActive())
		{
			driver->beginScene(true, true, SColor(255,255,255,255));

			smgr->drawAll();

			driver->endScene();
		}
	}

	device->drop();
	NewtonDestroy(nWorld);

	return 0;

} 

Pretendo postar algum tutorial de como fazer alguma coisa útil com ela, claro, quando eu aprender! hehehe

Ahh, o tutorial que eu usei foi este aqui: The Beginning Of The Integration

Google Buzz

Meu jogo para o Contest de Mobile

Eu estou pensando seriamente que tema, estilo, jogo vou criar neste contest. Como ele já começa hoje, espero também, já começar as preparações, documentação, concepts e criar o post na UniDev.

A idéia inicial, era fazer o Jokenpo mesmo, mas não sei, tenho certeza que sairão jogos muito bons lá, então queria algo mais complexo. Quem sabe um mini-rpg com apenas um objetivo, mas esse pode me dar muito mais problemas, sem contar, que as pessoas podem passar menos tempo jogando. Não que passaria muito tempo jogando um Jokenpo contra o celular, mas sei lá, um RPG acabaria logo, e dificilmente alguém jogaria novamente…

A minha proposta (a mim mesmo), é criar um jogo casual simples, simples de criar, que divirta o usuário, e que não enjoe fácil, mas nessa última, o jokenpo perde, por que realmente enjoa, a menos que eu tente criar algo novo na jogabilidade…

Não sei, vou pensar bem, pode deixar que todos os detalhes eu posto aqui!

Ah… Como ultimamente estou estudando um pouco de Física, para jogos 3D, eu andei achando uns artigos interessantes, inclusive este aqui, da Gamasutra, que estou gostando! Mas ultimamente estou pensando em fazer, também, um jogo de tiro de nave espacial 3D com a Irrlicht, seria até interessante, pois eu não precisaria usar tanta física né… hehehe

Vlw

Google Buzz

Meus estudos atuais

Atualmente eu estou estudando Irrlicht, por que eu realmente gostei dela! Estou baixando exemplos de jogos com fontes no SourceForge (aconselho todos a fazerem isso sempre que precisarem aprender), e venho gostando bastante dos jogos que encontro! Quero aprender a Engine de Física Newton também, vejo vários jogos desses aí com ela, e me parece ser muito boa!

Além da Irrlicht, estou estudando J2ME né, por causa do Contest da UniDev! Falando em Contest, ele já começa segunda e eu nem sei o que vou fazer! Tava pensando em continuar aquele Jokenpo, mas teria que ficar impecável, pois já vi que lá terá jogos de qualidade, uma vez que os competidores são bons no assunto!

Mas uma coisa, que não deixo de estudar sempre é C/C++! Eu sempre vejo alguma coisa nova e aprendo muito! Allegro também, sempre pegando coisas novas e fazendo testes!

Eu vi no blog do My Own Flash também, um contest de Flash, eu sou bem newbie em flash, mas gosto, e talvez eu participe com algum joguinho beeeeem simples, mas como eu disse, talvez, mas que eu queria, isso sim! Lá concerteza vai ser uma boa competição, quem não participar, vale a pena acompanhar!

Adoro contests, mesmo que não tenha prêmio nem nada, é mais pelo espírito de competição e pela pressão, que me faz aprender e desenvoler! Sempre saio de um contest com muitas coisas novas, e claro, com um jogo a mais! hehehe

Valeu!

Google Buzz