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!
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?
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!
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.
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.
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...).
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.
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.
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