Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: willrandship on December 01, 2010, 11:49:47 pm

Title: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 01, 2010, 11:49:47 pm
For those among us who have played Chrono Trigger, I think you'll know what I'm referring to.

The Chrono Trigger battle engine was a very interesting piece of work. You had time-based turns, and menus similar to FF games, but you also had the battles in the areas you walked around in. Attacks would hit different enemies based on position, enemies would move around. Unfortunately, It didn't have your movement (you only moved if a monster moved you)

There are other things you could change as well.

What do you think? I think it would make a nice Framework for an original Rpg.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 02, 2010, 12:10:48 am
It was an awesome game. I thought about doing one of my RPG like this before, but I got worried about collision detection on certain maps and enemies getting stuck in locations and out of your reach. There would need to be something making sure enemies won't appear in the middle of nowhere. If they're on the map before battles, I guess that could solve that issue, though.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: Scipi on December 02, 2010, 12:21:35 am
It would be interesting to see this. I can't wait.
*Homer hopes that some Chrono Cross concepts are also included  ;D
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 02, 2010, 10:14:22 am
I was thinking of having XY coordinates for where Monsters move to, and where the camera focuses. You also turn off collision for movement to starting positions.

I've never played Chrono Cross :P what would you like?
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: Scipi on December 02, 2010, 04:46:52 pm
I liked the way the magic worked where you had to hit the enemy with enough attacks to unlock certain spells in a battle. Though mostly I liked how you chose weather or not to heal using magic/items automatically after each battle
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: ztrumpet on December 02, 2010, 04:56:14 pm
This would be really neat.  I hope someday something like this is made. :)
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 02, 2010, 06:11:38 pm
The reason I used the word "engine" is because I really suck at making good games, but I tend to do well at the technical design, the inner function. What would be ideal would be for this to support someone writing up a story, draw all the sprites, maps, etc. then drop them into a second axe file as a data set. Sort of like Game Maker. But, the source would be uncompiled, allowing for ultimate flexibility.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 03, 2010, 01:00:20 am
Now that you mention Game Maker, a TI-83+ port of RPG Maker would be awesome. ;D
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 08, 2010, 06:26:47 pm
RPG Maker Yes. Game maker, not so much :P I've seen way too much worthlessness made by that. RPG maker is harder to mess up.

Also, I'm doing a halfhearted attempt at this engine now :P If I decide to bomb it after any significant coding, I'll just put it on here. People can feel free to help. So far I've got a little bit of the timing system, and I plan on support max 3 allies (I can up it to 4 if people want it, or they can :P) And 5 monsters (Some battles need lots of little sidekicks.)
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 08, 2010, 11:53:02 pm
Weird, a lot of GM games I played were great. It might be because I was visiting only two sites that selected games allowed in their archives, though. As a result, they had higher quality stuff. The issue with programs that codes everything for you or easy to use languages like BASIC and Axe is that many more people can use them, including newbies, and then there are risks that a lot of crap gets released. Fortunately that didn't happen much with Axe yet. I saw some crap on RPG Maker as well.

Nice to hear some progress Willrandship and nice to see you're back into coding. :D Are you gonna post screenshots soon?
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 09, 2010, 11:25:32 pm
I don't think Axe qualifies. newbies crash their calcs before they can release it, or ask "why won't it run?" after they compile it because they forgot the asm( command :P

I'm not anywhere close to any images :P Right now, I'm trying to get the turn timing down, and work out how exactly to do that while enemies can move around. Any ideas on that? Multithreading, if the implementation itself isn't too bad, soudns the easiest past that. (Ideally, two lines at once.) or I could have it go time, move, time, move, consecutively. As it is, it seems the time engine will take up almost no CPU time.

By the way, it will only be Wait mode for turns for now. (As in Wait or Action, where monsters can attack while you select your attacks) for simplicity.

Also, different Chars and monsters can start with boosts to time and have different time to fill. As in, tank is slower than rogue or mage.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 10, 2010, 02:06:29 am
It depends, a bunch of forum members around here were new to calc stuff and started with Axe straight away and had some success. :P

As for real time ATB gauge battle system, I never messed with this before. In my old calc RPGs, time stopped while you selected commands.

Good luck with the project!
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: Builderboy on December 10, 2010, 02:32:17 am
I think that the goal of Axe is to meld the ease of Basic with the Speed of assembly, and at that, i think it succeeds perfectly ^^
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 10, 2010, 10:16:44 am
but I'm still thinking: how should you move around? The arrow keys could have you move your char, while alpha switches which you control, but then you can only move one at a time :( It'd be nice to be able to move all 3 simultaneously.

There's no way, at least for the moment, that I'll be doing an Active Time system. It's way simpler to just do Wait.

There's one problem though, with that, it would be really hard to do triple techs. In real CT, the time only halted in wait mode if you were actually in an inner menu.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 11, 2010, 12:30:47 am
I'm not too sure. If you have any programming help needed you should probably ask in the help section, though, since you might get a response faster. Game-wise, I think you should not do an active time system for now. Start smaller, since it would be your first calc RPG project (I think).
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: AngelFish on December 11, 2010, 12:36:09 am
It was an awesome game. I thought about doing one of my RPG like this before, but I got worried about collision detection on certain maps and enemies getting stuck in locations and out of your reach. There would need to be something making sure enemies won't appear in the middle of nowhere. If they're on the map before battles, I guess that could solve that issue, though.

Why couldn't you designate special types of tiles like in Pokemon (the original) that were the ONLY tiles monsters would appear on? To avoid having monsters in inaccessible areas, don't draw those tiles there.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 11, 2010, 12:42:15 am
Yeah that could work, too, although if I have an area with two parts in the screen and there are one enemy per part, it would look weird if the battle started with both enemies, as you couldn't even each the 2nd enemy. What I mean, for example, is Illusiat 6's southern forest entrance. (See at 00:26 in this video:
). In this case I can't just plain update the tiles at the top to be a duplicate of grass tiles where enemies cannot be. That said, I think the upper area can't be reached from the bottom entrance, though, so maybe I could do it.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 11, 2010, 01:03:34 pm
I'm thinking more like this:
It's sort of like a zelda game outside of battle: enemies start in one place, but unlike a zelda game they follow a set path, which, in the original, can have triggers in it, like falling onto the player. I could live without the map triggers part, but the enemies should be onscreen beforehand.

Also, this is not the part I'm working on right now :P I'm not quite to the point of having a menu on the screen :P I've sort of got the time system working though. After the movement system is in, I'll be able to accurately determine what that system needs to be calibrated to. Axe does a+1->a up to 50 almost instantly when by itself :P It'll be running in sync with the code for moving people around.

How important are double/triple techs to you? It would be a lot simpler to run without support for them, at least for now.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 12, 2010, 05:18:23 am
Ah, right. Would it absolutely have to be as complex as CT, tho? Maybe have enemies appear like in Final Fantasy: Mystic Quest, but battles happens in a different area that looks like the one you're in but you can move around?

As for double/triple tech, I don't know, really. I think they might spice up the game, but maybe there could be another solution that is easier?
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 13, 2010, 10:01:23 am
What about a kind of "charge" or "wait" command, that lets the other people get it up to the same point, so you can double/triple tech? That would be as simple as adding another bit value.

That's an interesting idea regarding battles. An arena, that is tiled according to your area (possibly with randomly placed objects for cover, etc.)
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: TIfanx1999 on December 13, 2010, 10:29:50 am
I'd actually like to see the double and triple techs. They were pretty awesome in the original! =)
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 13, 2010, 10:44:29 am
yeah...*sigh*

off to code :P I actually thought of a way to do it semi-active time though. :D I'll be working on that for a little while, plus the menus.

BTW everything is run by subroutines. I hope that's not a bad thing, it just works better that way.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 13, 2010, 07:16:53 pm
So, 6 hour rule passed, now I can explain a little better. I was in a hurry before.

Instead of simply pausing when a turn is come to, you simply have a pop-up that says "XXX is ready!' and you press 1, 2 or 3 depending on their position
Code: (for monospace) [Select]
something like this
--------------------------------
|                               |
|                               |
|                               |
|                               |
|crono     |                    |
|is ready! |                    |
|Press 1   |                    |
HP/MP      HP/MP     HP/MP|
Time        Time       Time

That way, you can stack up to triples, but I don't have to worry
about making time run while you're selecting stuff for moves.
If KnightBasic supported it, I could use multithreading and have
two progs, one for time and one for moves :P but this will work
 for what is essentially Wait mode.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 14, 2010, 02:46:17 pm
Ah, that would be a nice idea actually. Else it can be kinda complicated to detect if all 3 chars are ready everytime.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: Scipi on December 14, 2010, 04:19:10 pm
You know, if you were to do this in real time, couldn't you have two functions that run? One that adds 1 to an array of three elements, and another that compares each value to a char's stat. If the element is high enough, the char is ready.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 15, 2010, 07:31:05 pm
Well that is kinda what I'm doing, except there can be up to 8 (for the 5 monsters, their attack subroutine will simply be different, probably just random possible attacks). If a char's time is filled, he is listed as ready (1->somevariable) and his time is reset to 0. For now it looks like the time bar will keep going from 0-their max over and over. It'll look weird but it won't cause any issues since I'll reset the time at the end anyways.

As of now I'm actually having trouble with a for( loop, but  think i have a workaround figured out. :)

Also, since I am not exactly known for creativity, later on (not now) I will probably ask for tech ideas and animations. :P
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: DJ Omnimaga on December 16, 2010, 04:35:15 am
If you need sprites, I would probably recommend asking in the pixel art section, though, since people might see it easier. Good luck Willrandship!
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 22, 2010, 11:40:41 pm
I have a quick question: is it a bad thing to call subroutines of a program with other subroutines inside of them, like so?

Lbl M
Sub(I
Return

Lbl I
Sub M
Return

Don't worry, the way I actually have it set up there won't be an infinite loop, but now I can't get it to compile. The idea is to have the time keep counting even though it's waiting for a button press within another subroutine, so it starts the outer subroutine within the inner one.
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: calcdude84se on December 23, 2010, 11:33:10 am
What error are you getting? You're using prgm to include the second program, right?
Title: Re: Idea: (not project yet, maybe later) Improved CT Battle Engine in Axe
Post by: willrandship on December 25, 2010, 04:50:34 pm
Right now I'm making it so it works standalone, with well-commented sections for where to remove stuff at the beginning.

I think I've got the Return thing worked out now, but it's giving me an error: Argument at this:
Pt-Off(Var*5+1,60)
and a few other of the pt-offs. These are for drawing the time bars.