Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by MoJo, posted on September 06, 2001




Image Description, by MoJo



Here are some screen shots of a small game that I've pretty much completed. First off, I know: the screens are too dark, the radiosity seems rushed, and I haven't fixed the popping problems for the LOD. BUUUUT, I made it to test the functionality of the engine that I've been working on. The game itself is 2D, but it uses orthographic projection in 3D (which means hardware acceleration is needed). The engine itself uses a modular rendering design, currently supporting Direct3D v7.0 & v8.0, OpenGL, and a SLOOOOOOW SoftWare module. The game is my approach at an old game, I'm not sure the origional name of it. I know it's floated around on the TI calculators, and Yahoo Games has a version of it. (The tiles are actually taken from Yahoo because I am deeeefinitely not an artist).

The game itself is very simple. There are 5 different tile types spread out on a 10x15 board. Clicking tiles that have like tiles adjacent to them earns points. You can only click a tile if there are two or more, and the more you click at once, the more points you get. Once tiles are clicked, they disappear and the tiles above and to the left fall in to fill up the gaps. The white tiles (rotating through the 5 pics on the other tiles) are randomizers. Clicking them randomizes the tile and all the surrounding tiles. To complete a level, you have to get above a certain amount of points. The pictures just show the basic idea of the game. The top left show the basic board, the top right shows fading from clicking one set to clicking another set, the bottom left shows better the fading between the white tiles, and the bottom right shows the main menu for the game.

The game itself is pretty much done (yay). Everything seems to work smoothely, looks nice, main menu, about screen, game over/completed screens, etc. I want to test the game of different platforms, and get any constructive criticizm on how I can make it better, but don't have a web site at the moment for download. If anyone wants to test/play the game or see the source code, e-mail me at XycsoscyX@hotmail.com. I'm just on a 56k modem though, so if a lot of people want to try it, it might take a little time to send it out.


[prev]
Image of the Day Gallery
www.flipcode.com

[next]

 
Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Punchey

September 07, 2001, 10:27 AM

What if it weighs the same as a duck?

 
Kasper Fauerby

September 07, 2001, 10:39 AM

Correct, that was the whole point :)
My mistake...


- Kasper

 
Serapth

September 07, 2001, 11:42 AM

I looked into an alternative way of doing this, not for any particular reason, just because I wanted to know if it would work...

More or less, I created something like this...



template class <rend> class Renderer : public rend
{
virtual int Render() = 0;
};

class RenderDX : public Renderer
{
virtual int Render() { // DO rendery stuff }
}

class RenderGL : public Renderer
{
virtual int Render() { // DO rendery stuff }
}



//Then elsewhere, I have
main()
{
Renderer< RenderGL > theRenderer;
theRenderer.Render();
}






In the end, it would compile, and actually run. I got so focused in trying to make it work, I never took the time to realize that it was a really really stupid thing to do :)

Cheers
Ser

 
Refractor

September 07, 2001, 12:56 PM

Why not :


class Engine
{
public:
virtual int Render() = 0;
};

class Engine_DX : public Engine
{
public:
virtual int Render();
};

class Engine_GL : public Engine
{
public:
virtual int Render();
};





Then in your code the only difference has to be in which Engine object you construct and this can be done at runtime. So,



Engine *engine;

// create an DirectX Engine object
engine = new Engine_DX;

// or...create an OpenGL Engine object
engine = new Engine_GL;

// then...for either of them, you can call the same functions
// derived from the abstract base class and it will call the
// appropriate one
engine->Render();




 
[-WD40-]

September 07, 2001, 12:57 PM

Wow thanks for all your advice I'm actually in the process of making a multiple API system (GDI, DIRECTX7, DIRECTX8, OPENGL). but what about making a multiple OS, multiple API renderer (well of course DirectX would be used only in Win32)?

 
TrapZZ

September 07, 2001, 02:05 PM

...then it floats...and therefore...

 
This thread contains 36 messages.
First Previous ( To view more messages, select a page: 0 1 ... out of 1) Next Last
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.