Main Game Loop
An important area that is getting entirely re-written from scratch is the game's core loop. At the moment, I'm going through and trying to get the sequence right. This will move the main game through the various stages it needs to go through. When this works correctly, I can fill each bit out with the relevant module safe in the knowledge that it should all Just Work*.
This means that everything should be a little cleaner than it was in the first one and therefore easier to tweak and fix when it inevitably goes horribly wrong.
One big change is that the system now supports multiple enemies at the same time. This opens up all sorts of neat stuff like being able to face a pack** of rats or wolves at once. It also means we can do stuff like having certain monsters summon others in to fight with them. Of course, just getting multiple monsters appearing seems simple enough but then you start going through the ramifications.
Suddenly, for example, you're going to need a targeting system to allow the player to choose which monster he wants to concentrate on. At the moment, it's just random. Also, you need to decide on things like how to process their turns. Do you do one monster per turn or give each monster a go? We've gone for the latter - it gives the hordes*** more weight and means that the player's ability is consistent rather than more effective as the number of enemies gets decreased.
Also, each monster needs a different place to spawn. In and of itself, this is a very simple problem to solve. Trivial in fact. But then we come to another issue - monsters won't be standing in the same place. This causes a problem for the effect system.
Knock On Effects
The Effects system was one of the bits that I was most pleased with from the original. It allowed me to make composite effects out of particle systems and scaling or rotating sprites. It was so versatile that it ended up getting used for just about every visual effect in the game and not just the ones during combat.
The problem was that each combat effect was a single entity that kinda relied on the two participants being in the right place. In the new game, this is going to have to change.
But that's not such a bad thing anyway. One of the criticisms of the original from some people was that the spells took too long. In the spirit of killing two birds with one stone, my plan is to split each effect in two. One part would be the 'casting' or 'launching' effect. This would be centered on the attacker. Then you'd have the 'impact' effect which would appear over the target. Nestled somewhere in the options screen would be a combat speed option that, on its fast setting, would simply skip the 'casting' part and show only the 'impact' effects. Should make things skip along a bit.
Of course, this alone doesn't fix things like projectile effects so I might need to add another effect component although I can still think of a work around which would just involve fading projectile elements out during the launch phase and having a new one fade in during impact. Your mind will fill in the blanks and there's no reason for you to see the entire projectile path.
The Design Process
Ever wondered what it must be like having two designers engaging in a "Wouldn't it be cool if..." discussion? Well, here's a paraphrased example for you:
AT - "What if we made it flip the entire board if you cast a null spell?"
LB - "I don't like it. What about the Resetta Stone?"
AT - "We'd get rid of the Resetta Stone."
LB - "It's too powerful then."
AT - "What if it reset your Chain?"
LB - "Then we could keep the Resetta Stone which would keep your Chain. What if it was something you could spec in to?"
AT - "I like that. I'd like to see several different schools of magic, each with their own play style."
There are a couple of important things to takeaway here.
Firstly, the discussion actively promoted a Devil's Advocate position. Far better for you to think of reasons why it's a bad idea now than to have a paying customer point it out later. Ask questions of your design. Try to make it fail. Then see if it can't be fixed or refined. Think of it a bit like science - come up with your theory then try to prove it wrong. If you can't prove it wrong, it must be right. An important thing here is that it's not personal. The person playing Devil's Advocate is trying to find something wrong with the idea, sure, but they're not doing it to be spiteful. It's due diligence.
Secondly, it went back and forth with all parties asking questions and suggesting possible solutions. This keeps everything nice and inclusive and makes the team (ie- both of us) feel involved and invested. Ultimately, someone has to make a call though and you should never design by committee. That's where the skill of the designer comes in - to sort the wheat from the chaff but balanced in such a way that you're not just throwing out ideas because they weren't yours but you're also not just trying to shoehorn every suggestion in there just to keep people happy. If the idea is bad, the idea is bad, but you have to be able to explain why it's bad. Just thinking it's bad for certain reasons is pretty rubbish too. Being able to prove that it is bad because of an example you can cite experience of - that's where you need to be.
Thirdly, jargon. We've got our own. It's organic and it comes from all over the place. Some of it is from established gaming tropes whilst some is from things like the original Glyph Quest. It's fine, so long as everyone who needs to be involved in the discussion understands exactly what it means. If you don't understand, you'd better ask someone to explain it. If someone asks you to explain it, you probably shouldn't take the piss out of them for not knowing****.
* A piece of coding terminology that is almost never true. Quite the opposite in fact. It's like when Murray Walker used to say "nothing can stop him now" during an F1 race or they say "well at least it's not raining" in a movie.** Of three at the most. Not so much a pack, more a 'packette'.
*** Okay, three's hardly a horde either. Unless 'horde' is simply used as the collective noun for zombies...
**** L2P noob. Hey, I said "probably"...