The Daily Click ::. Forums ::. Klik Coding Help ::. Alundra-esque Engine?
 

Post Reply  Post Oekaki 
 

Posted By Message

Spiriax



Registered
  25/05/2005
Points
  277
23rd February, 2011 at 23:35:43 -

Hi guys.

I've been really wanting to make a game similar to Alundra. If you don't know what game Alundra is, here's a video: http://www.youtube.com/watch?v=maXNgDHZnT4

So it's like Zelda A Link To The Past, except you can jump and there's different height levels.

How would I make such an engine? I have tried a little making it, but after a while I get drenched in my own mess of objects and detectors.
Even the cliffs and objects that you jump on need to be active objects since when you walk north and jump down from them they need to cover you since you'll be behind them.

I ain't expecting anyone to make an engine for me (although that would be sweet!), but some tips or tricks would be great. Thanks!

 
n/a

Alonso Martin



Registered
  29/12/2010
Points
  294
24th February, 2011 at 00:48:21 -

Use a 3d array to represent the height of platforms. You can also just use a 2d array, but you won't be able to easily add the feature of walking below higher ground. I do remember a couple of isometric examples that were made a few years ago. Search the clickteam fora, maybe?

 
www.hfalicia.com
www.alonsomartin.mx

Del Duio

Born in a Bowling Alley

Registered
  29/07/2005
Points
  1078

GOTW WINNER CUP 1!GOTW WINNER CUP 2!GOTW WINNER CUP 3!GOTW WINNER CUP 4!Evil klikerHasslevania 2!The OutlawSanta Boot
24th February, 2011 at 15:53:15 -

Ah... I had Alundra back in the mid 90's. A pretty good game although I hated how hard some of the puzzles in the dreams were. The overworld was awesome though and yeah VERY Zelda Link to the Past.

 
--

"Del Duio has received 0 trophies. Click here to see them all."

"To be a true ninja you must first pick the most stealthy of our assorted combat suits. Might I suggest the bright neon orange?"

DXF Games, coming next: Hasslevania 2- This Space for Rent!

Del Duio

Born in a Bowling Alley

Registered
  29/07/2005
Points
  1078

GOTW WINNER CUP 1!GOTW WINNER CUP 2!GOTW WINNER CUP 3!GOTW WINNER CUP 4!Evil klikerHasslevania 2!The OutlawSanta Boot
24th February, 2011 at 15:53:17 -

* Edited for suprise double post ? *

Edited by Del Duio

 
--

"Del Duio has received 0 trophies. Click here to see them all."

"To be a true ninja you must first pick the most stealthy of our assorted combat suits. Might I suggest the bright neon orange?"

DXF Games, coming next: Hasslevania 2- This Space for Rent!

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1971

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
24th February, 2011 at 17:01:02 -

Looks more like Illusion of Gaia / Terranigma to me - still fun though

Anyhow, Alonso has the right idea - store level data in an array, and compare positions to array values rather than using detectors. Personally, I'd use a 2D array, and just design levels without any floating platforms (they're not worth the effort).
btw: It's probably a good idea to avoid slopes, if you can - they're kind of awkward to code.

 
n/a

Alonso Martin



Registered
  29/12/2010
Points
  294
24th February, 2011 at 18:05:59 -

Coding a slope is not at all that difficult, but I never managed to do it (my engines were too sloppy). You just have to do a rule of three (to get a percentage) comparing the current cell to the adjacent cells, and position the "height" to the average that corresponds to the x/y pos of the player in the current cell.

Say you have a cell with 0 height and beside it a cell with height 1. If you were to add an extra cell in between, it would work as a transition between both heights. Sounds and looks easy, but I never tried it. I might be entirely wrong.

Edited by Alonso Martin

 
www.hfalicia.com
www.alonsomartin.mx

Fifth

Quadruped

Registered
  07/05/2003
Points
  5818

VIP MemberGOTW JULY 2010 WINNER!Kliktober Special Award TagGOTW HALLOWEEN 2011 WINNERPicture Me This Round 51 Winner!
24th February, 2011 at 20:06:24 -

BAM!
http://www.l-ames.com/logan/alun-test.zip

It's possible, but it's not easy.
Having the player (and all other enemies/objects) detect the ground using an external file is key. An array would probably work, but I prefer the Binary object.

And then rendering the level so that you can walk on and behind tiles is tricky, too. As always, I recommend using the Text Blitter object, which can display sheets of tiles as easily as sheets of characters. But in this case you'd have to learn to use its "callback" function to in order to overlap the tiles.
Alternately, you can design the game so that you never have to walk behind any tiles, but that's a pretty big restriction to make.

There are a whole lot more considerations to take into account, including moving and scrolling in a pseudo-3D environment, conveying the sense of depth to the player (shadows help for this one), and making/storing the level data in the first place (you should see the editor...).

So... just know what you're getting into.

 
Go Moon!

Sketchy

Cornwall UK

Registered
  06/11/2004
Points
  1971

VIP MemberWeekly Picture Me This Round 43 Winner!Weekly Picture Me This Round 47 WinnerPicture Me This Round 49 Winner!
24th February, 2011 at 20:46:39 -

@ Alonso -

That's pretty much what I meant by "awkward". It's very doable, but you always have to weigh up how much a feature will add to the game, versus the difficulty of adding it, and the number of extra bugs/glitches it will introduce. If in doubt, keep it simple.

 
n/a

Spiriax



Registered
  25/05/2005
Points
  277
25th February, 2011 at 01:44:29 -

Alonso: Nice, I know you had that game Continent One, so I was kind of expecting you to post. I was about to write to you about it too but I figured this thread
might be enough.

Del Duio: Alundra is awesome. In my opinion it's good when you need to stop for a while to solve a puzzle. When you finally solve it it's great!

Sketchy: Yeah, probably a lot more in the Illusion of Gaia territory, although I never really played it except for a quick emulator play once.

Fifth: That is just brilliant. Did you make that engine recently? I don't think slopes is necessary, although moving platforms would be great to have.

So thanks for all the help guys, but I think I'll just go with the traditional Zelda A Link To The Past type of engine.
This stuff is just too hard and I suck at coding, programming and using different extensions.
It's not that I am new with clicking, I have been using it for like 10 years but I always made like 30 events for something that could be done using 2 events with an extension/better way around it.

Having only one height layer but making it so you could still jump over enemies, pits, boss attacks etcetera shouldn't be so hard though. In worst case I'll just skip being able to jump and if there is a narrow passage with a pit in the middle, I could just code it so if you have the right item when you get near it you automatically jump over like a animated sequence rather than a controllable jump.

Oh, and the kind of game I want to make is more like Zelda Oracle of Seasons/Ages, rather than A Link To The Past.

Edited by Spiriax

 
n/a

Klikmaster

Master of all things Klik

Registered
  08/07/2002
Points
  2599

Has Donated, Thank You!You've Been Circy'd!VIP MemberPS3 Owner
26th February, 2011 at 15:19:00 -

Here is how I dealt with this problem:

I made a heightmap. So it's a hidden image of the level where black is the lowest level and white is the heighest. I used the overlay object because it can be hidden and you can still find out the colour values on the heightmap without making it visible in the game. If you split the R G and B colour values to mean different things you could use the Red colour values for floor height, Green for floating platforms and Blue for something else. Also as you can update the overlay object at runtime you could have moving platforms too

Video of it working:


I should probably finish the engine and post it here

Edited by Klikmaster

 
n/a
   

Post Reply



 



Advertisement

Worth A Click