Game Development Community

dev|Pro Game Development Curriculum

Warscale 50 - Cards on the table

by Guimo · 11/07/2009 (10:05 pm) · 3 comments

Hi everybody!
Long time no blog.
On the last episode, our hero (that would be me) was fantasizing about how he was going to be easy to create 15 creatures in a week. Unfortunately, the reality is a whole different thing. It has been like 4 weeks now and I have completed 6 creatures.

What!! You lazy son of C++!!! What are you doing!!!!

Well, to be honest, lots and lots of things. The most important thing which happened is that I played some Magic The Gathering with some friends. How is that for work?

Let me explain. Before that MTG game, I was really thinking about dropping the Sorceries from the game. And the main reason was that, if you notice in my old screenshots, the units available to be summoned are located outside of the game area, just behind the wizard. It was a nice concept but it was useful only for creatures or artifacts where the objects you are summoning can be represented with a model of a creature or, in case of an artifact, maybe a shrine, a holy symbol, or such things. The problem with this approach is that Sorceries may have really abstract names representing really abstrat concepts... please somebody tell me how to represent a 'Forget' spell (target player drops a units from mind), or a 'Sacrifice' spell (target player sacrifices a creature)... or just a 'Revive' spell using a model?. Tricky.

I tried many solutions, even using something like a picture frame where I rendered an image representing the spell and even making that frame a billboard so it was always visible. Worst solution... ever... I was really tempted to drop sorceries completely from Warscale.

So I went to play some MTG with some friends and as they were just learning, there were lots of creatures in table and the game was quite stagnant. But that made me understand that a game with only creatures may become static with time. Of course Warscale battle system is different than MTG so unlike MTG you can actively target and attack a creature so you can get into a way more active role killing your opponent forces preventing the game to become stagnant.

I understood that some spells help you quickly break the status quo. I was winning one of the games and in just one turn one guy hit me with a spell dealing me 12 points of damage and in the next turn another one hit me for 5 more points. Adding the damage I already had, I was killed in a single turn... just like that. Completely unpredictable.

The same way before that game I was almost convinced that I would be able to live without spells, after that game I was covinced sorceries were an unbalancing factor, its funny and it will make the game more interesting.

But the problem which made me almost drop the idea of using spells was still there. How to represent an abstract concept as a model? The solution as usual a simple logic exercise. If (a) you really need a game element and (b) your design prevents you from adding this game element then (c) alter the design. If you cannot make something work, drop it and make another solution. So I studied other card games and realized that I needed some card style representation for the Warscale spells. I particularly liked the Warcraft CCG design and also liked the MTGOnline solution to display the cards.

So I decided to drop portions of my previous GUI and I created a dynamic control for the cards. This control allows me to load and display the card information at different sizes. So I used this card control to replace my old model information view in the different game screens like the model editor, the equipment editor, the army editor and the game. I also created a card containenr control which allows me to organize the cards in an array and added some button capabilities to the card so the player is able to click or roll the mouse over one of them.

After some rewrite, I got this prototype of the card.
www.spritekin.com/warscale/wsascreen50a.jpg
Of course, this transformation came with some more changes. Originally I was thinking to use a ranged damage system so a unit may be able to deal a variable damage (like... deal 6 - 12 damage meaning a creature was able to deal sometime more damage and sometimes less damage. So even when its a simple rule, it may be hard to explain and adds complexity to the game with little overall benefit. So... KISS. Now the creatures deal a fixed ammount of damage.

After some additional rewrite, here it is the new GUI layout
www.spritekin.com/warscale/wsascreen50b.jpg
Of course there are many problems like what happens when the card is rendered very small... like this:
www.spritekin.com/warscale/wsascreen50c.jpg

So, with the basic layout working, I contacted Michael Yatskar from SleepingPaint. he is helping me a lot with Warscale and you may have read a recent blog with some artwork he designed for the game here

Michael has so much patience and helped me go through many layouts. I liked the MTG simple layout and I also liked the Warctaft CCG layout. On the end we came with this solution:
www.spritekin.com/warscale/wsascreen50d.jpg
The card shows the mana cost, attack, defense, hp and move points and has a large area for images and rules. I hope you like it as much as I do. But if you have any comments on the card please drop a message in the comments so we can improve this. I can only recommend Michael for many of your art needs. Good work at a very affordable price.

After a while, I have noticed that the cards may indeed be used for something more important. I have all these icons in the lower portion of the screen which represent the actions a unit may execute (look at the second image). So, I was thinking dropping those icons and making the card the interface. Something like... if you want to summon a creature, click the creature in your hand to bring its card to the left, then click on the summon icon... and there you go. If you want to attack with a creature in the board, select the creature then click the attack icon. If you want to move pick the creature and then click its move icon. In other words, the card becomes your interface.

And it also may be used for special abilities. Just click on the mana cost of the special ability you want to execute and there you go. Its something natural. So, removing the buttons at the bottom of the screen and movig the card to that position will free up some space which may be used for the player information (avatar, name, cards in army, mind and graveyard, available mana and such info), removing the bar at the top of the screen.

Anyway, the important thing on all this change is that now I can create sorceries! Lots and lots of code were discarded and new code was implemented. More code was fixed, and refactored and tons of bugs were killed.

On the end all these changes were tested with all the current units. The Orc Berserk Rage ability in particular was useful to debug end of turn events and fix lots of problems in the magical effect procedure. Lots of gains.

<b>The plan for this week</b>
This week I plan to implement this new design in the game and change the game GUI so it supports the card as the game interface. This has become critical in my mind as it provides a solution for so many problems which were pending to be solved, but most important, it traces a line where the game is not just a copy of MTG or Warcraft. It is a unique way to control the game that I havent seen in other games. So it becomes a Warscale specific mechanic.

Michael is already working on the icons which will work as buttons.

Thats all for now... luck with your projects!
Guimo

#1
11/08/2009 (12:44 pm)
Haha, good reading once more Guimo.

The fact of not beeing afraif of discarging a lot of work, in search for a better approach is always ponderable.

Congrats, and keep it up!
#2
11/10/2009 (4:02 am)
great read, love the card design.
#3
11/10/2009 (5:49 am)
Thanks!
And you havent seen how the new interface is coming along... way easier to use.