Isometric Games in GE

Game Editor comments and discussion.

Isometric Games in GE

Postby jazz_e_bob » Wed Mar 17, 2004 3:24 pm

Hmmm tricky. But I think it can be done. :idea:

The problem is that you now can't collide your animation bitmaps, rather, a second bitmap that represents the "base area" of your bitmap.

Easy, make a base bitmap for each actor. When the actor is created it spawns its own base actor. The base actor "follows" the animation actor. All collisions are detected by the base actor which then, in turn, modifies the animation actor.

Is there an easier way of doing this? anyone? anyone? bueller?

How does the "parent" thing work. Can an actor refer to and modify its parent?

Should the base animation be the parent and the eyecandy animation actor is the child?

These are the questions that keep me awake at night... :cry:

Love to all. :)
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby ingsan » Wed Mar 17, 2004 6:32 pm

Should the base animation be the parent and the eyecandy animation actor is the child?


Is it not simple to first link your Actor with your BaseActor in ActorControl, ie BaseActor is the parent of MainActor ?

Then, whenever you want to change parent, you just Add an Event on which you ChangeParent (Action) to another.
User avatar
ingsan
 
Posts: 580
Joined: Mon Nov 17, 2003 4:02 pm
Location: Maurician LADY in FRANCE
Score: 6 Give a positive score

Postby jazz_e_bob » Wed Mar 17, 2004 6:37 pm

Yes. Good point. Cheers. :)
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby ingsan » Wed Mar 17, 2004 6:53 pm

:mrgreen: mr Green says cheers too !
User avatar
ingsan
 
Posts: 580
Joined: Mon Nov 17, 2003 4:02 pm
Location: Maurician LADY in FRANCE
Score: 6 Give a positive score

Postby jazz_e_bob » Wed Mar 17, 2004 10:28 pm

Hello Mr Green! :)
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby phractus » Mon Mar 22, 2004 9:30 pm

ok working with this one problem. So now collision is correct, kinda. But for walls...etc we would need to make a base also. And how would we make it so that the actor, overlaps the far wall yet is coverd by the near one. maybe use regions to change zdepth when walking in certain areas? Is there anyway to modify z-depth in scripting, like is it a variable, or just the slider. We'll figure this isometric stuff out :wink:

Edit: this would also apply to monsters...etc. so that when you fighting from the top side they cover you but then when your on the bottom you cover them.......any and all help is appriaciated.

~peace~
phractus
 
Posts: 77
Joined: Mon Mar 08, 2004 1:25 am
Location: Rochester, NY, USA
Score: 0 Give a positive score

Postby ingsan » Mon Mar 22, 2004 9:46 pm

You have a WallActor and you want your MainActor to be able to walk and ONLY stop at the far end of it :? mmmmm....easy :lol:

Just put a RegionActor on the far End od the WallActor and declare that on Collision with RegionActor, go to Anteriour Position :wink:

Same for your monsters. Just link a RegionActor where you want an Action to occur onCollision !
:mrgreen:
User avatar
ingsan
 
Posts: 580
Joined: Mon Nov 17, 2003 4:02 pm
Location: Maurician LADY in FRANCE
Score: 6 Give a positive score

Postby jazz_e_bob » Mon Mar 22, 2004 9:47 pm

Is there anyway to modify z-depth in scripting, like is it a variable, or just the slider.


Use ChangeZDepth(char *actorName, double zdepth)

At present, there is no easy way of reading zdepth of an actor. You must set up an external local variable to track it...
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby jazz_e_bob » Mon Mar 22, 2004 10:14 pm

What the Jazz knows about GE 1.1 and isometrics:

tip:
on draw actor use
zdepth = yscreen/view.height;

This automatically keeps actors that are lower on the screen to the front.

OK

The main problem with GE 1.1 is setting up groups of actors that are aware of each others properties. This is because of the local variable bug. :(

With this bug fixed we can have an actor that generates it's own base and uses collisions to the base rather than collisons to the actor. You could also fire bullets at the angle of the shooter. All neatly contained.

You CAN do this now with global variables but your code would not be easy-to-maintain, portable or modular. :(

Another feature that would facilitate this kind of coding would be a "Creator" property for actors.
ie bullet.angle = creator.angle;


( For this reason I feel it may be best to put isometrics on the back-burner until the next GE update. )
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby jazz_e_bob » Mon Mar 22, 2004 10:17 pm

In the meantime I am going to make an red zombie with AI. :)
Controlling complexity is the essence of computer programming.
User avatar
jazz_e_bob
 
Posts: 742
Joined: Tue Jul 01, 2003 9:38 pm
Location: Bloke from Cockatoo Creek Australia
Score: 14 Give a positive score

Postby phractus » Mon Mar 22, 2004 10:38 pm

word. Thanks for the help, In ganna play around with the:
zdepth = yscreen/view.height;
And getting the graphics in the game to be a tad more cooridinated.
~peace~
phractus
 
Posts: 77
Joined: Mon Mar 08, 2004 1:25 am
Location: Rochester, NY, USA
Score: 0 Give a positive score


Return to GE - General

Who is online

Users browsing this forum: No registered users and 1 guest

cron