The Daily Click ::. Downloads ::. Engine ::. Isometric Engine C++ (Updated Version 6)
 

Isometric Engine C++ (Updated Version 6)
Author: The Cecilizer Submitted: 25th January, 2008 Favourites:0
Genre: Engine Downloads: 484
Rated:


Edited By cec¿l on 2/1/2008

Edited By cec¿l on 2/1/2008

IMPORTANT! - for those in which it won't initialize for and get an error message that says something like
"this application has failed to initialize properly"
try going into "alleg42.dll"s properties and setting it to have full system control. if this works please tell me as i need to understand what the problem is.
if not please give me your exact error message.
and what kind of system you are using.

description -

ok so i posted a topic awhile ago asking how to project a coordinate system onto an isometric like one. http://create-games.com/forum_post.asp?id=209604
i got a lot of feedback but not much help. i accomplished this successfully though and am working out a very nice engine. once it is stable enough and is as bug free as i can get it, i will most likely release it along with its source. its written in C++ with allegro but it is very capable of being worked into mmf.

controls -

press N and M to zoom out and zoom in.
Press K and L to resize the draw area of landscape.
Press O or P to switch from windowed and fullscreen modes.
Arrow Keys move the character character on (x, y), z plane.
Press Shift to make the character jump.
click on the screen to move the play area.

edit - fixed "lag" by making movement delay independent from the whole app. and made it so it runs the same speed on different processor speeds by making the delay dependent on clock ticks and frames per second.

edit - scaling is a lot better but still not perfect. anti-aliasing will be looked into to smooth scaled sprites.

edit - added even more functionality to the loading of data from the .txt file. you can define the movements delay, the characters beginning x y and z coordinatesand, and the height and width of the data map.

example: where _'s are spaces (its the delimeter. ill change it to something more user friendly in a later version)

delayspeed_20_
maxobjects_200_
insertionpointxyz_1_1_1_
playfieldwidth_5_
playfieldheight_5_
01_01_02_01_01_
01_01_02_01_01_
01_01_03_01_01_
01_01_01_01_01_
01_01_01_01_01

edit - added collisions with the edge of the playable area and landscape that is greater than 1 z of your current location. so you would be able to go up on the area that is defined as 02_ in the above example but not the area defined as 03_ unless you were already on the area defined as 02_

edit - added an objects class to handle objects (only one object class so far, a box. it can handle up to 20,000 boxes. the data file only defines 200 for obvious reasons . each box has its own x y z and gravity).

edit - added gravity and jumping for the character.

currently implementing - collision handling for the box objects class and the character so boxes will be able to be moved or stood upon or picked up.

currently implementing - multiple boxes of the box object class to be on the same x, y coordinate. as of now only one box can be handled on a single x, y coordinate of the projected isometric grid.

currently implementing - different types of objects using either the same object class or different classes. whichever runs and works better.

currently implementing - optimizing code for better performance and easier additions.

currently implementing - sprite animations.

looking into - 3D arrays for better object height mapping and for allowing multiple objects on same x,y grid coordinate at diff heights (for land bridges etc.). not sure how this will effect the frame rate.

looking into - hardware acceleration.

looking into - network programming for possible online playability.

looking into - anti-aliasing.

Review This Download



   


http://legendkpr.startlogic.com/files/iso.zip (428kb )



Posted by alastair john jack 25th January, 2008

Could not initialize properly for me.
 
Posted by Seripa Vos 25th January, 2008
Rated :

You got some scaling issues at high distances with the y scale, maybe your putting in more code than you need to? My 2 core cpu is lagging this app, you should use direct draw (in directx) to speed things up. I wish someone would make a contemporary version of Snake Rattle 'n' Roll.
 
Posted by The Cecilizer 26th January, 2008

for those it wouldn't initialize for what kind of systems are you using? and what does the error exactly say.

Scaling at far distances shouldn't be a problem. at close distances it does. I know its the math. Will fix. I've got the directx sdk. Haven't bothered using it yet. But I'm gonna switch over cause apps are having problems. Also it isn't lagging. Its a time delay that effects the mouse . I can fix thAt.

Anything else? I appreciate the feedback so far.
Comment edited by cec¿l on 1/27/2008
 
Posted by Retired Kliker Lazarus 27th January, 2008
Rated :

C++?! What are you, gay?!

(I kid; I couldn't do C++ if my life depended on it ) Very nice.
 
Posted by The Cecilizer 27th January, 2008

ooo, that was so hateful. i like it

haha i use tgf too and will be buying mmf2 soon. i still love em, i can just do so much more with c++.

c++ really isnt that complicated. it looks like gibberish but once you take a class and understands the basics that is all programming languages, it all seems simple =P. or maybe its just me lol.
 
Posted by DaVince 27th January, 2008

"you should use direct draw (in directx) to speed things up"

What? Using DX at the expense of making the game difficult to port to any other system? Allegro is plenty fast, so it must be a bottleneck in his his coding, not in the language used.
 
Posted by The Cecilizer 27th January, 2008

yeah I might switch unless I figure out the initialization problem. And I got rid of the lag. It was a delay I had that effected the mouse. I updated it so it doesn't. Its in the edits in my description. Anyone having problems? I would really love the feedback, positive or negative.
 
Posted by Bibin 27th January, 2008

As for that comment about Snake Rattle N' Roll, that game would be great if the controls weren't messed up. If they could be like Marble Madness', it would be great.
 
Posted by Seripa Vos 28th January, 2008
Rated :

Your engine works well in a doman of contexts, which can be extended. You may wish to include a clipping algorithim if you haven't already. That way the icometric engine can draw a play area without hindrance from a certain size of map. Also, textures don't fill themselves. How will the graphics be filled? Are there short cuts available for the user? Can you implement changes in the map in real-time? In simcity2000 there are icometric inclines. How many objects can it handle? Can you supply level design tools? What sort of games can you make with this?

The more the better!
 
Posted by The Cecilizer 28th January, 2008

wow thats a lot of info and questions.

im not sure what you mean about the clipping. right now it can draw any play area of any size as long as it is defined in the data file, given that large areas with a lot of height in landscape to draw, dramatically slows down the framerate. im going to fix this by only allowing it to draw necessary landscape, only anything you will be able to see, so all unseen stuff wont draw.

i'm also not sure what you mean by textures. if you mean how will different tiles n such like say grass or stone be drawn, itll most like be another data file. i may reduce all the data into one file as i enhance, optimize, and improve it.

real-time changes is most definitely doable at this moment, it will be stored in memory and not directly to the data file but thats what a save feature is for. also i dont have a level design tool made but this is just an engine mind you.

inclines will be a toughy. i know how to make it so there are inclines to make transitioning height better but placeing objects on them is another story. that'll take some time.

objects that it can handle is hard to say. if i make a class for objects, it can handle quite a bit, but that also depends on the size of the sprites. a particle system i made was able to handle round abouts 10,000+ particles without any slowdown. after that the slowdown is noticeable. around 20,000 its unbearably slow. but there are always ways around things like that. to make things faster.

and finally, "what sort of games can you make with this" at the moment you can't "make" games with it. it isnt really defined at the moment. what you see is what you get. im not even sure what kind of game i'll use it for.

that was very productive if i do say so myself. thanks for that feedback Skinny.

 
Posted by The Cecilizer 29th January, 2008

just a quick update. ive added a bunch of stuff that i will be uploading/updating within the next few days. i'll probably make a projects page for this.



@skinny - i added 2 particle classes which handles 15,000 objects each and its running at a 50 frames per second cap on my amd turion64 x2. before running 30,000 particles it was running at around 100 frames per second average depending on how much was being drawn on screen. so there is definitely no lag anymore. 270 fps max at zoom 0, being nothing on the screen Image.gif" border=0 alt="">.
Comment edited by cec¿l on 1/29/2008
 
Posted by Slowbro 29th January, 2008
Rated :

n/a
 
Posted by The Cecilizer 29th January, 2008

that was immature, fish.
 
Posted by Jason Orme 29th January, 2008
Rated :

Counter rate.

Very nice, although it moves alittle fast so I can't actually go on the square I want.
Comment edited by Jason Orme on 1/29/2008
 
Posted by The Cecilizer 29th January, 2008

In the newest one you will be able to define how fast it runs in the data file. Its also based on your processor so it won run faster on faster computers. Just higher frame rate.

just updated to the newest build. new screenies.
Comment edited by cec¿l on 1/29/2008
 
Posted by maVado 30th January, 2008
Rated :

good one
 
Posted by The Cecilizer 30th January, 2008

thanks. making more progress. update 5.

working on a project page.

i'm thinking maybe either using this for a puzzle game or an rpg like super mario rpg: legend of the seven stars. one of my fav rpgs.
 
Posted by Seripa Vos 31st January, 2008
Rated :

Can you make the source sprites higher resolution?
 
Posted by The Cecilizer 1st February, 2008

i can make them any size i want as long as they are square. it scales them appropriately. smaller size means smaller filesize.
im going to update to loading pictures and maps from a .dat file soon though.
how big would you recommend? 68x68...132x132 sprites? unless i am able to read the height and width of a bitmap so i can scale any proportioned bitmap i'd have to make a different height and width for every non square sprite so it scales properly. like, so a long house, or tall tree isnt squashed into a square.

new build up also. new character sprite "culex" from super mario rpg and some tight battle music . redid the land tile. and turned boxes into crystals. added a sound effect for when you jump. (tgf samples ftw )
-new screenies
 
Posted by Slowbro 14th April, 2008
Rated :

well now that i can actually make iso graphics and im not mad at cecil i like this engine.
Comment edited by fish20 on 4/14/2008
 
Posted by The Cecilizer 16th April, 2008

give this man a second chance

thanks fish.
 
Posted by 3kliksphilip 21st August, 2008
Rated :

n/a
 
Posted by The Cecilizer 25th August, 2008

ummmmm. wtf? lol
why would you post a blank comment?
 
Posted by Ricky 17th November, 2008

n/a
 
Posted by The Cecilizer 17th November, 2008

curse you ricky, CURSE YOUUU!!!
 
Posted by -J- 12th April, 2009

Wow I'd forgotten about this. Just found out you can change the level by editing the numbers in the Data file. I used a system like that in a level loader once but mine wasn't isometric

This is goood
 
Posted by The Cecilizer 14th April, 2009

yar matey.

i should really be working on this. but i got bored of it lol. as most things i start doing.

my C programming is much more sophisticated now so i have no idea what the source for this means any more lol.
 
Posted by 3kliksphilip 3rd June, 2009
Rated :

I haven't played this game before, I really wanted to but I can't remember what happened. Any way, I've played it now and I've got to say that it's very impressive. Shame you didn't make a small game out of it.
 
Posted by The Cecilizer 6th June, 2009

thanks

oh ill make a game using this technology sometime. just not soon. and probably not in C++ (maybe though). ive found many ways of implementing the same technology in mmf.
 

 



Author

Favourite



Advertisement

Worth A Click