Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: ACagliano on January 25, 2011, 01:53:30 pm
-
I am hard at work on my Zelda game. I need some help from u guys, tho. I need a routine for the calc that can convert data into RLE. And I need another routine that converts RLE back into standard data formatting. Those, while preferred in Axe, can be written in inline assembly as well. I tried to do one myself, but it failed. I'll try to post it when I can. The last request, is simply for some assistance, collaboration, on Zelda's AI routines.
In other news:
I just taped together four pieces of graph paper, to prepare to draw out the final, official version of the Legend of Zelda "Ganon's Rage" world map. There will be the main quest (the dungeons, fighting Ganon), and three side quests (the first one you kind of have to do, unless you want to go through most of the game without a sword). The second two give you, respectively, the hookshot and the longshot, which can be used to access dungeons as opposed to using magic power to cross lakes or lava.
Also in this game is the smart-save feature. When you first unpack the map file from the RLE compressed appvar into the uncompressed appvar, a 2 or 4-byte checksum (whichever would be more sensitive) of the uncompressed map is saved. As you play the game and collect pieces off the map, obviously the values of the tiles change. When you exit the game, a new checksum is calculated. If it is different than the original checksum, the map is recompressed and overwrites the original appvar. If the checksum has not changed, the current map files are deleted, leaving only the compressed file, which, theoretically, should not have changed.
-
Hey welcome back ACagliano. I was worried you ditched calculators completely. I'm glad this is still alive. Are you planning to post pictures of the map as it progresses?
As for RLE, Nemo wrote a routine for that I think. You would need to check the Axe sub-forum for it or ask there or him directly.
As for the save, is it mostly to prevent cheating?
-
Hello DJ. My activity usually goes down over breaks to some degree, so do not worry. The project is still alive, and I even made a banner, as you can see in my signature.
As for the save, no. A good hacker can find a way to cheat regardless of what I do. The checksum is there to expedite the process of quitting the game, only having the map be saved if something on the map has changed, and reverting to the original if nothing has changed. Thus, when u save, the map itself does not get saved unless it has changed since the last save in which the map was saved. Follow that?
-
Ah ok I'M glad it's just due to the break. Is it due to limited internet access or more that other hobbies have higher priorities?
And thanks for clarifying about the Checksum. I think I understand, now. :D
-
So I have a question, the parts that you change, are they usually things like chests and buttons and doors? Things that are usually one tile, or a series of unique tiles?
-
When you collect a heart piece or an item off the map, like the hook/longshot or dungeon keys, the tile changes. Only one tile at a time will ever change.
There are no buttons in this game. There are, however, two types of keys and two types of doors: regular keys, and boss keys, regular doors and boss doors. While a regular key can open any regular door, the boss door can only be opened by the boss key. There are no chests. Items to collect are hidden, but are just on the ground. Every time you collect an item from the map, the tile value is overwritten with the value that represents dry ground, an empty space. When this happens, the map's checksum changes.
-
Sorry for the double post...
Can anyone help with artificial intellegence for Zelda. There are alot of specifications, as to what enemies can cross in order to reach the player. Some tiles must be moved around, not over. And the AI must be able to account for changing of the main character's position, and must have a bounceback (after the enemy attacks once, it bounces back to the open space right before the closest impassable block) (this also happens when your sword or hook/longshot attacks the enemy).
I believe someone else was going to help, but was stumped, so if anyone else can help me out with this, it would be great.
You will be credited as the AI engine author.
-
The main map is dooonne. Oh yeah. Heck yeah. About time. Oh and the Kakariko village rooms are done too. On to dungeons.
-
Sounds great! Is it possible for you to post any screenies right now, or is it in a state of testing? Because I think this will really turn out cool, it's good to see another zelda-ish project out there besides trio and niko :D
-
It is not at a stage where i can post screenies, as a bunch of hex numbers without an engine to display them is pretty bad. lol.
-
yeah, I'd be fine seeing the hex numbers instead :D j/k :P :)
How is the engine going to be? Will it be more traditional-zelda or will it be really revolutionary and be like Zelda II?
-
what is ur definition of revolutionary?
-
Well, things normal zelda games don't/didn't have, like zelda II, the only real sidescrolling zelda. Or if it implements something new, like Magic spells, or extreme puzzles, or a non-triforce related story.
though, it doesn't have to be revolutionary to be great. It could be just like the other zelda's too; which proved to be a winning formula. I think the lowest rated zelda game ever was 8/10 which was that crappy spirit tracks one, which proves the classic style can work well :D
-
It is based on the classic story, but you dont get the triforce. You battle through dungeons, complete 3 mini-quests (if you want), then get back to the temple of time where you warp to the dark world and kick Ganon's sorry posterior section. There arent that many puzzles.
-
hmm, sounds interesting :)
I'm guessing then that the engine will be based on more of an action standpoint? I always did like the action parts of zelda, at least you can't get frustrated at those for being unable to solve a puzzle :)
Looks like you already have many specs worked out, and that this game will be amazing when finished. I wish you best of luck :D
-
Thanks. Are you good with AI? Because I'm not.
-
I can make an enemy AI system moderately well, though I'm mostly specialized in making Zelda-ish enemies' routines, such as in the screenshot for my zelda-like game below:
EDIT: also, just posted the pic to show you what I can help you with, not to show off, I realize posting a pic of my game on your thread might seem very rude :(
(http://www.omnimaga.org/index.php?action=dlattach;topic=5459.0;attach=5518;image)
I would be glad to help you with your enemy systems, though I cannot commit to anything; though then again, after monday I might be able to help you after all :)
-
If that is Zelda, urs will have better graphics than mine. And I do not take it as rude at all. I would appreciate the assistance. All the AI needs to account for is this:
moving around tiles that cannot be crossed and head toward player for collision damage.
rebound to the nearest impassable tile if attacked or if inflicted damage
-
oh, mine has nothing to do with zelda at all, minus the style I guess ;)
I think I can help you with both; the only reason TaNF doesn't have the rebounding part is due to speed and the size of that collision detection. Though I know how to do it if you need it :)
What language does this happen to be in, Axe, BASIC, or asm?
-
Axe
-
oh, all the better :D my best language :)
is this going to be monochrome or grayscale? If it's mono, then you can crank out another 10 FPS and then have more support for more advanced enemies as opposed to 4 level gray.
-
well, there are only two classes of enemies, boss enemies and regular enemies. at least that's all i accounted for. if your can include support for protecting items (some enemies attack, while others move to defend items), that would be really nice.
it is in black and white.
I'll need to send you my list of tiles.
-
GOod luck with AI :D
Note that AI doesn't have to be extremly complex, though: In DLQ some enemies just moved forward you and others alternated between moving towards you and randomly. Bosses simply followed some sort of pattern. For example, you had to hit the mantis with the hookshoot from the bottom, then stab the middle with your sword, then repeat. Ganon shot lasers in all 4 directions a few seconds after you hit him, then shot a spark at you that you had to stab to make it bounce back on Ganon.
-
interesting ideas DJ, I'll take that into consideration :)
ACagliano, I started working on this, though it's not very far yet :P
-
Take your time. No rush.
-
Progress Report
main map fully coded
3 miniquest maps fully coded
all building maps fully coded
dungeons in progress
save file format layed-out
walking engine 40% done
-
Cool! Any screenshots? I'm curious how the maps look like :D
-
Soon.
-
Soon as in tonight? :P
-
No, soon as in, a few days.
-
Aw ok D:
Good luck! I hope nothing too bad happens by then. X.x
-
Ok. The walking engine is partially done. It has two parts, the offset collision engine, which causes the routine to exit without changing your position if the object you are moving into cannot be walked onto, and the on-site collision engine, where the object can be moved on to, but doing so triggers some sort of event (like lava inflicting damage or dungeon entrances taking you to dungeons). The offset collision engine is done. Now starting the on-site collision engine.
Once that is done, then I need to do the graphics engine. Once that is done, it's screenshot time.
-
Nice to see there are more updates. Can't wait for screenshots.
-
Can anyone post some Axe code for a nice greyscale Zelda splash screen. A simple screen saying "Legend of Zelda", "Ganon's Rage", and an optional image of the triforce will suffice. I haven't quite mastered the way Axe handles greyscale, so I'd rather this come from more experienced hands.
-
The first Zelda screenshot, of the splash screen.
(http://c2prgm.webs.com/Cagliano%20programs/Zelda%20Splash.gif)
-
It doesnt really look bad, but do you use dispgraph^r or dispgraph^rr?
-
The run indicator is still on which means you have interrupts enabled. For the smooth grayscale you should always turn off interrupts with "fnOff".
-
@aeTios: DispGraph^r
@Quigibo: I'll do that then. But, they have to be reenabled if I want to use getKey, right?
-
Not bad so far, although it might be nice to see some more details. I would like to see one the original Zelda logo at least. By the way feel free to use the one in Dark Link Quest title screen.
-
Can I have a link to it, or a screenshot? I would like to use a better one.
-
I'll try to find it.
EDIT: Here is it. :D
-
Here is the new title screen. Thanks to DJ for the idea.
-
That looks decent, ACagliano! Nice job!
-
Nice, but I think the vertical part of the E and most of the A should be thicker, to be consistent with the rest.
-
Good enough for me. I suck at gfx, just look at the only non-ASCII part of ZADOTH :P
-
new image.
-
Much better on those letters. I still think the bottom of the Z's point should be moved over one pixel or at least filled in more on the left side to give it a similar look to the point at the top of the Z.
-
Nice, I like it better :D
Are you planning to add more stuff to it?
-
Aww, no sword in this one? :P
JK it looks nice, especially since anyone playing the game will only see it for ~ 2 seconds.
-
That will be it. It's only a splash screen.
@Madskillz: I'm too lazy to edit for just one pixel. At least right now. Maybe I will in the end.
-
The project sounds wonderful. I'm a huge Zelda fan and I can't wait to see how this turns out. The title screen looks awesome.