The End of the World Has Screenshots

Posted by Castypher on May 21, 2011, 10:53 a.m.

Screw the cataclysm that people think is going to end the world and mankind. The only thing that'll end the world on my watch is THE TERMINYS.

YEAH

So you can probably tell what this blog is going to be about. But first things first, a little life story. The anxiety I was talking about before? Yeah, I had to extend the deadline on my novel for health reasons (not that I'm in bad health, but when you get palpitations every few minutes, you get even more stressed. It's your heart we're talking about). So I've been placing my focus elsewhere.

Also, with a pretty big storm the other day, my room (in the basement) is flooding.

A LOT

I literally spend hours with a POS mop, throwing down towels and redrying them.

Only to find that it REFUSES TO STOP LEAKING.

I've wanted to post some Terminys updates for a while now, as I've made significant progress with the party system. The only thing slowing me down (as usual) would be the many character sprites I have left, which totals to more than 64 (attacking, casting, walking, running, etc, and four directional sprites of each). Of course half of them are done already, but two characters don't have much on them.

But (there's always a BIG BUTT), most of the changes I've made are things you can't see in screenshots, but have to experience yourself, or watch in a video. If I wasn't writing this at work, I'd be making one right now, but that'll be for a later blog.

Here are the features I have so far:

Spell Quick-Select

Quite time-consuming, surprisingly, mostly because I had to do it for all of the characters and check what spells they had and hadn't learned (through a simple but tedious method of course). But now all spells can be selected with the number keys and cast with the cast key. I didn't use keybinds because it was actually pretty difficult, and there are only ten spells per character anyway. Let me know if this gets to be an issue.

Commands

As of now, the commands hardly work, but the interface that you all helped so much with last blog looks good. By holding shift (PY's suggestion), a bar extends on the right (you can't use black and blend modes), which has a list of possible commands. The bottom two are dependent on your current party, and that took me some time to do.

Forgive the fonts in these screenshots. Working from a different computer gives consistency issues, though this won't be a problem with releases if GM stores the fonts with the EXE.

New Recharge Mechanic

Recap: Ether is an essence inside all living things, including grass and trees. If a caster needs to recharge his Ether, he can take it from his surroundings, but doing this too much can kill the land.

For those who played River's Prologue, you might remember that holding the A key would let you quickly recharge your Ether Points had you used them all up. Well I've changed the mechanic to work more by the story and provide a new element of difficulty.

- You now restore EP over time just by holding the key, rather than getting a burst at the end. The amount increases the longer you hold it, eventually restoring up to 75% of your Ether pool. One full recharge creates a dead zone.

- Restoring EP gradually drains the land under you. When fully drained, it will become a dead zone, which is useless to casters. They can no longer recharge on it and cast time is slowed.

- Passive EP regeneration is slowed on slightly drained ground and stopped on a dead zone

- Being reckless with your recharging (which on an average screen, you'd have to really work for) can eventually cause you to lose the battle due to no places to recharge and slow cast times

- The only person who can recharge is yourself and not your party. Thus, dead zones only affect your ability to recharge, but all characters suffer from increased cast times.

- One character instantly drains the area, but as he does not use EP, he is not hurt by it. In fact, he thrives on it, which can end up hurting your party.

New particle effect as well. It was fun.

Story: For Those Who Don't Know

Or just forgot….

The Terminys is the apocalyptic effect that results from a large amount of Ether and Nether coming together at once. Smaller amounts create flashes and surges, which have environmental effects.

I'd rather our world end in an explosion of blue and purple, not some crazy earthquake/volcano/othershit, wouldn't you agree?

Comments

Cesque 13 years, 5 months ago

Quote:
Quite time-consuming, surprisingly, mostly because I had to do it for all of the characters and check what spells they had and hadn't learned (through a simple but tedious method of course).

I've been corrupted by Python because I instantly thought that'd be easy to handle in it :(

The Shift menu doesn't sound bad.

Castypher 13 years, 5 months ago

Well, by time-consuming and tedious, I just meant that whatever I did, I had to copy and change it nine more times. And I couldn't use the handy find-replace tool because there is other stuff (the commands) in the event.

Castypher 13 years, 5 months ago

I'm pretty sure you did the last demo, Spectre. You and Cesque were the ones who gave the most input, and probably the only ones who actually sat down and played it.

I'm not really sure why you want to see my code, but here it is anyway, just for the spell selection.

        if global.partyleader==0
        if global.learned_spell>=9 && global.selected_spell!=9{
            selspelly=16;
            sound_play(snd_spellselect);
            selspellcool=1;}
   if global.partyleader==2
        if global.riv_learnspell>=9 && global.riv_selectspell!=9{
            selspelly=16;
            sound_play(snd_spellselect);
            selspellcool=1;}
   if global.partyleader==3
        if global.kr_learnspell>=9 && global.kr_selectspell!=9{
            selspelly=16;
            sound_play(snd_spellselect);
            selspellcool=1;}
   if global.partyleader==4
        if global.kar_learnspell>=9 && global.kar_selectspell!=9{
            selspelly=16;
            sound_play(snd_spellselect);
            selspellcool=1;}
            
    if global.partyleader==0
        if global.learned_spell>=9 global.selected_spell=9;
    if global.partyleader==2
        if global.riv_learnspell>=9 global.riv_selectspell=9;
    if global.partyleader==3
        if global.kr_learnspell>=9 global.kr_selectspell=9;
    if global.partyleader==4
        if global.kar_learnspell>=9 global.kar_selectspell=9;

And just a piece of the other thing:

if global.partycomp==7
    {
        if global.partyleader!=4
            with obj_karemi_battle
            {
                if commandstrategy<4 commandstrategy+=1;
                else commandstrategy=0;
                with obj_commands_text instance_destroy();
                txt=instance_create(0,0,obj_commands_text);
                txt.str="Karemi, ";
                if obj_karemi_battle.commandstrategy==0
                    txt.str+="break!";
                if obj_karemi_battle.commandstrategy==1
                    txt.str+="attack!";
                if obj_karemi_battle.commandstrategy==2
                    txt.str+="play cautiously!";
                if obj_karemi_battle.commandstrategy==3
                    txt.str+="support!";
                if obj_karemi_battle.commandstrategy==4
                    txt.str+="play defensively!";
            }
        if global.partleader==4
            with obj_aidan_battle_party
            {
                if commandstrategy<4 commandstrategy+=1;
                else commandstrategy=0;
                with obj_commands_text instance_destroy();
                txt=instance_create(0,0,obj_commands_text);
                txt.str="Aidan, ";
                if obj_aidan_battle_party.commandstrategy==0
                    txt.str+="break!";
                if obj_aidan_battle_party.commandstrategy==1
                    txt.str+="attack!";
                if obj_aidan_battle_party.commandstrategy==2
                    txt.str+="play cautiously!";
                if obj_aidan_battle_party.commandstrategy==3
                    txt.str+="support!";
                if obj_aidan_battle_party.commandstrategy==4
                    txt.str+="play defensively!";
            }
    }

Castypher 13 years, 5 months ago

I try to keep my demos far apart so people aren't playing the same game over and over again.

And believe me, I tried to take shortcuts via loops when I wrote those, but all characters have different variables, so it wasn't really possible. I realize I could have made the variables arrays, but that would take a LOT of editing, which would be far more time-consuming than just a little copy-pasting.

I like efficiency, but if it doesn't hinder gameplay, I don't want to put in too much work just to make it efficient. I appreciate the suggestions though (it's a hell of a lot easier to read), and I'll be a little more attentive to that in the future.

But for now, I basically changed the whole game by allowing party member switching. The battle system was previously a lot to look at even with just one character and two AI members, so that's why it's taken me a week to make these little changes.

Castypher 13 years, 5 months ago

Normally I do go for efficiency, but as I said, I had other plans for Terminys before. This change was pretty big, and in order to avoid having to go back and redo everything, I decided to take what I had.

Castypher 13 years, 5 months ago

I have to give it to you, that was kind of a cool analogy. Even now I go back to some of my old projects and say, "Dear God, did I really code like this?" But the projects are too far along and I've got too many to consider restarting. Even if I devoted all my time to Terminys, it'd still take months to finish entirely. I don't want to know how far I'd be if I decided to restart.

I've restarted two projects already, and though they're loads better, they don't even match with percentage of completion.

Just like what I say about graphics. If you spend too much time prettying things up, the mechanics don't get attention, and the game doesn't get finished. That's why I do most of my sprites last and only polish when I plan to present (even though these screenshots are far from polished).

Castypher 13 years, 5 months ago

Well, each character has a portrait, so I'll need those too, but surprisingly enough, those take me less time than animating several sprites. I also thought about doing 8-directional sprites but that is a TON of work that will only act as a hurdle for me right now.