The combat prototype is here. Please read the rest of this page before attempting to play it! Really!
Installation: Download the zipfile to your computer and uncompress it to a folder, preserving its internal folder structure. Then run StarRevolution.exe.
This game runs pretty much in real time, so combats happen fast. When the game starts you are presented with a combat arena.
Your four gladiators are at the bottom of the screen and the four computer-controlled enemies are at the top. On the right side you can see the interface. The top half of the interface shows the statistics of your units.
Shows the number of hitpoints the unit has remaining. This is also shown by the red bar on the bottom of each enemy unit in the arena window.
Shows how fast the unit is. Faster units both move faster and attack faster.
Shows how good the unit is at making melee attacks.
Shows how good the unit is at making missile attacks.
On the bottom half, you see the command card for your units. This card will only show up if a unit needs orders. The unit that requires orders will have a white flashing circle around it.
This icon is for movement. Move your mouse to the arena window and you will see how long (in real seconds) it will take for that movement to move to where the mouse cursor currently is. Click in the arena window where you want your unit to move. Once you give a unit a move order, that unit will not require any more orders until it gets to its destination (or is blocked). Units can move over dead units, but not through each other. A unit that tries to move through another unit (enemy or friendly) is blocked and will need new orders.
This icon is to make a melee attack. Click on it and then move your mouse to the arena window. Move your mouse over enemy units and you’ll see them highlighted with a red flashing circle. Click on an enemy unit to attack them. If the enemy unit is out of range, your unit will automatically move to intercept the enemy unit before attacking. Once your unit is in range, your unit will make one melee attack against its enemy, and then require new orders. If you want one of your units to stay on an enemy until dead, use the Engage version of this command.
This icon is to make a missile attack. Click on it and then move your mouse to the arena window. Move your mouse over enemy units and you’ll see them highlighted with a red circle. Click on an enemy unit to attack them. Missile fire can hit anyone anywhere in the arena. Your unit will make one missile attack at the enemy and then need new orders. If you want one of your units to fire at an enemy until dead, use the Engage version of this command.
This icon will make a unit engage and melee. The unit will intercept its enemy as before, and once it does it will make melee attacks against that enemy until dead (or until it has an attack cancelled; see below). The downside of this command is that you lose control of the unit – it will not take new orders until it kills its target or has its command cancelled.
This icon will make a unit engage and missile. The unit will make continual missile attacks against its enemy until that enemy is dead (or until it has an attack cancelled). The downside of this command is that you lose control of the unit – it will not take new orders until it kills its target or has its command cancelled.
This icon quits the program. When the combat is over, the only way to reset it is by quitting and restarting…sorry about that.
Cancels: All actions take time to perform. The amount of time it will take for a unit to perform its current action is represented by the white bar on top of each unit in the arena window. If a unit takes damage, time will be added to this bar, representing the fact that the unit must recover from impact before it can continue its action. If a unit takes a lot of damage quickly, it can have its action cancelled. Only combat orders can be cancelled; move orders cannot. If a unit has its orders cancelled it will then require new orders from you.
Hints: The enemy units are all completely average in all statistics. Your units are specialized; you have two fighters and two archers. Use that to your advantage. The AI is actually pretty brain dead and it shouldn’t be that hard to beat it.
Please give me feedback on this prototype! You can give whatever feedback you like, but in particular I’d like the answers to the following questions:
1. Did you feel that things were happening too fast, too slow or just right?
2. Did you feel like you had enough control over your units?
3. Was there anything about the game that confused you?
4. Did you feel that your units were having their orders cancelled too often?
5. Did this game remind you of any other games you have played in the past? If so, which ones?
6. Did you find the game fun to play?
7. What would be the most important improvement to the game, in your opinion?
You can leave feedback in a comment on this post, or you can email it to viridian@viridiangames.com. Thank you!
First, I had a lot of fun playing with this. It reminded me of playing Ultima: Quest of the Avatar, which was one of my first RPG’s. So here’s what I think:
– Possibly having the ability for units to block others. So for example if I go to shoot at a particular enemy, if there is another enemy in the line of sight, that one will get hit.
– I was having trouble telling if an enemy was dead or not without having to look at the text box. Same with my characters. It might be a better idea to just remove them completely from the screen. I am playing in a high resolution as well, so the health bars don’t show up too goo. (1280×1024).
That’s all I am noticing right off. I’ll give it a shot tomorrow and see if anyting else comes up.
You’re right about the dead units disappearing. I initially was going to have dead units block, which meant they had to stay on the screen. That ended up annoying so I stopped doing that. When I decided to take that feature out, I should have just had units disappear. I’m not sure why I didn’t think about that.
I also intended to get line of sight and unintentional arrow hits in, but ended up cutting that for this prototype. If I end up using this system I’ll definitely put it in though (along with better pathfinding).
Nice little game, I enjoyed playing it!
I had similar feelings with casey about units blocking arrows and trouble telling who was dead or alive. Automated actions are nice, but I think there should be an option to cancel them.
I took a few minutes to try this out. Here are my thoughts:
What I liked
Smooth animation. In seeing your screen shots I thought this would be tile based movement like Inaria or Ultima.
The engage vs normal attack. I played through with normal attack first and was annoyed at giving the unit the same command over and over. The engage option worked much better
Melee attacks at a distance will cause the unit to run to the enemy. This saves me having to move the unit (which does not track an enemy) and then attack.
What I did not like:
Movement blocking. It was difficult and annoying to get 2 units that ran into each other unblocked to go attack
Several times I hit the melee attack button for my archers and wished I could have cancelled his orders
Running to an enemy does not track the enemy, like an engage run. Once I figured out the engage buttons the game was much more fun for me. Unless there is going to be treasure dropped from enemies or some other circumstance, do you even need the run option? To run out of the battle perhaps?
I am still unsure about the cool down time for a unit between actions. I can see that the feature would give me the desire to increase my characters quickness stats, but it wasn’t clear to me that the game would be less fun without that feature.
As a sub module in a space opera game, I think this would be a very fun and valuable part of the game. You have put a lot of work into this and it shows. I look forward to seeing Star Revolution progress!
First, I think you did an excellent job. I found the prototype very enjoyable to play. Good work!
Now, to answer your specific questions:
1. Did you feel that things were happening too fast, too slow or just right?
I felt that the timing and movement speeds were pretty close to perfect.
2. Did you feel like you had enough control over your units?
Sort of. What I would like to have is the ability to simply issue a new order just by clicking on the unit. In other words, when I issue an engage order I should be able to stop that engagement on my own without waiting on the enemy I’m attacking to die or waiting for my unit to take enough damage that his action is cancelled for him. Even if it takes some time to stop the action, I think this should be allowed. Hotkeys for the attack and move buttons would also help in my opinion.
3. Was there anything about the game that confused you?
I think if I had not read your explanation first I would have been confused with the difference between the normal attacks and the engage attacks. Perhaps tooltips would help?
4. Did you feel that your units were having their orders cancelled too often?
No, I think this is fine.
5. Did this game remind you of any other games you have played in the past? If so, which ones?
Well, I’ve played a lot of RPGs in my time. I’m having trouble comparing your system to others (which is a good thing). I was reminded briefly of Baldur’s Gate (with your mix between real-time and turn-based).
6. Did you find the game fun to play?
Yes, I found it fun to play. It was more enjoyable however when I used the engage attacks instead of the single attacks.
7. What would be the most important improvement to the game, in your opinion?
Honestly, in my opinion it might be better to remove the single attack options and just have the engage options. But if you do so you’ll probably want to allow the player to change his actions in real time (i.e. he won’t have to wait until his opponent is dead or his action is cancelled to change his orders).
First, you have created a nice prototype.
1. Did you feel that things were happening too fast, too slow or just right?
For me it was too fast. I could not enjoy the results of my orders i gave to my units.
The result text scrolls out of range very fast.
2. Did you feel like you had enough control over your units?
No. One time my melee attacking unit was running after a faster enemy unit
and could not reach it. I would like to change my orders for all my units once the situation has changed (or at least after some time).
3. Was there anything about the game that confused you?
I had to give all my units orders to continue the battle and there is no order to “wait” or “defend”.
The only way is to move around.
5. Did this game remind you of any other games you have played in the past? If so, which ones?
There was a turn based game “Birth of Federation”. In the battle you gave your ships orders (one order was good against
another enemy order but bad against another order etc.) and then the orders would be executed and shown in 3d.
You could see the result of your orders and after some time you could give them new orders. The battle was finished
after 3-4 turns.
6. Did you find the game fun to play?
I like the mix of turn based/real time battle.
7. What would be the most important improvement to the game, in your opinion?
More feedback from the battle so i can decide if the orders i gave them were good?
A button that continues the battle without giving the unit a new order.
A scrollable text area so i can follow and review the entire battle.
I dug it. Lots of fun. I can’t wait to see more combat options such as defensive stances, or running at the expense of health or defense or “called shots” that take longer but do more damage. Adding combat options, even if they’re specific to the units, will add that great squad combat feel to the combat.
[…] And Sol has written a set of tutorials on immediate-mode GUIs. If you’ve used his SDL tutorials you know he’s an excellent writer, and immediate-mode GUIs look better to me every day (you’ll recall I used one for my combat prototype). Filed under: Game Programming, One-Page Games by Viridian | […]
[…] I wrote an rpg team-based combat prototype. […]