Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

891590 Posts in 33552 Topics- by 24788 Members - Latest Member: DonnieHill

June 20, 2013, 04:05:34 AM
TIGSource ForumsDeveloperFeedbackDevLogsSmash and Grab [Turn-based tactics]
Pages: 1 [2]
Print
Author Topic: Smash and Grab [Turn-based tactics]  (Read 2118 times)
todd
Level 8
***


msmymo


View Profile WWW Email
« Reply #15 on: February 08, 2012, 06:06:08 PM »

Oh man how did I miss this devlog? This is looking great Spooner! Following.
Logged

Franklins Ghost
Level 10
*****



View Profile WWW
« Reply #16 on: February 08, 2012, 09:17:12 PM »

Hey Spooner just had a quick play and have to say it's coming along nicely. Got completely destroyed the first time I played, but second time I didn't lose as badly. Third time I won, so yay for progress and learning.

Noticed that if I moved a character and then selected another one while the first one was still moving, then the new character would say they had no moves until I re-clicked them. Also took me a few goes to realise that end turn skipped the rest of all my characters goes rather then just ending the current characters.

Really like the character looks and looking forward to seeing what you do next with it all  Smiley

Haven't had a chance to try the editor yet but will let you know when I get the chance.
Logged

Spooner
Level 0
***



View Profile WWW
« Reply #17 on: February 09, 2012, 06:02:23 AM »

Thanks very much for taking a look, Franklins Ghost. Don't get too excited about winning though; the AI is able to do everything that you can, but is completely incapable of thinking. It can move and shoot and fight and grab items, but doesn't have any state or idea of actual tactics, so it attacks different enemies in every move and doesn't coordinate the units' actions at all!

Thanks again for everyone's comments about the game, which are helping me to feel encouraged to keep working on it Smiley Thought I'd try something different than my usual arcadey game and glad to know people are interested in this sort of format.

Yesterday I had a good talk to Ante, who developed the AI for Unity of Command to discuss some of the ways that game's AI was implemented. We didn't go to too great a depth, but I think that that sort of system is probably the best for S&G too. Separately, I found a description of a similar task-based AI manager, which describes it better than I could. That said, I'm not going to put any more work into the AI until there is a bit more of a game for it to play (rather than a bland team-deathmatch, which is pretty much all the current build amounts too).
Logged

Games by Spooner
Franklins Ghost
Level 10
*****



View Profile WWW
« Reply #18 on: February 10, 2012, 08:44:34 AM »

Hey Spooner had another quick go and a few things I've noticed with the interface is that it doesn't let you know who you've selected in the character profiles when you click a character. Think some sort of highlight on the characters profile when you click on them would just make it a bit clearer. Also if for the round you've used a characters moves then maybe darkening their character profile would make it clearer to which ones you have left for the turn. Like how you have it when they die, the character is darkened so you know they're gone. Just have to do something slightly different then that.

Really enjoying the concept though and looking forward to playing against real enemy AI  Smiley
Logged

Spooner
Level 0
***



View Profile WWW
« Reply #19 on: February 10, 2012, 09:33:10 AM »

Yep. Those are good points. I am all for multiple redundancy of information, though as people have pointed out, the current build is extremely noisy because everything is shown at once.

Also, if you play in the standard window (800x600) the GUI is extremely oppressive. The reason I allowed that was because I wanted that as the minimum size the game _could_ be played. In full-screen mode, the GUI doesn't resize, so it is considerably less in the way. If you have a build, then "smash_and_grab.exe --fullscreen" might be useful; I'll do that with config later, but I'm trying to avoid working on things I have done plenty of times before in other games, until much later in the development cycle.

Today I fancied a change, so I'm working on making a MP server that manages game turns (similar in function to the one used by Frozen Synapse or Unity of Command). I doubt I'll have it working for a while and really at this point I'm just exploring the possibility. I decided to use a RESTful server, which suits a turn-based game where you can play your turns at any time, backed by a MongoDB database and hosted at Heroku.com - we'll see whether this is a good choice later Smiley

What is nice is that people have a lot more interest in this game than others I've done, at least regarding willingness to test it and even to comment on it Smiley Thanks everyone!
Logged

Games by Spooner
Spooner
Level 0
***



View Profile WWW
« Reply #20 on: February 12, 2012, 04:52:08 PM »

Well, I spent a few days playing with making Robin, my turn-management server, although a significant chunk of the time was lost to annoying technical problems caused by moving into a completely new sphere (hosting apps in the cloud). You can now create players, upload and download maps, challenge people to games and send your action data to those games - abstractly via a console, at least; I haven't even considered creating a GUI to interact with the server Smiley

As I said earlier, the server has a RESTful interface, which I think was a good choice. It is both significantly easier to test, since each operation is separate, and it also suits the disconnected nature of the game. The intention is to allow people to play at the same time and sync as moves are made, but also allow for submitting turns, or partial turns, at any time. I also realised I had picked a server architecture that was mostly game-neutral, so I thought I might as well branch that off and make it a separate project which conceivably might be of use to someone else making a similar game.

Interestingly, designing the server opened up a few important things about the game as a whole, for example that if I want to avoid cheating, I need to post an action onto the server, then the server pass back a random seed, which is then used by the player to calculate what happens in the action submitted; they will only stay in sync if they both do the calculations from that seed correctly. Perhaps it isn't something I should worry about...

A bigger problem that I stumbled upon is how to manage AI when playing in online COOP mode, as well as how I'm going to serialise its forward planning when the game is saved and loaded (my intention is to make the server entirely dumb and not understand what it is doing beyond a concept of turns; the client can verify the data coming in is reasonable and reject it if it has been tampered with).

Although it was interesting to spend a bit of time on some server investigations, I can't wait to get back to the meat and bones of the game itself Smiley
Logged

Games by Spooner
Spooner
Level 0
***



View Profile WWW
« Reply #21 on: February 17, 2012, 11:30:10 AM »

Well, not a lot of progress in terms of code, but I've planned out the next few steps of development. I did some thinking about damage types and came up with a set of dice to calculate the effects (if you have an attack at skill 3 which is crushing/knock-back, then you roll 2 crushing and 1 knock-back dice. If the target is vulnerable to crushing, then you'd roll more crushing dice; if resistant to knock-back, you'd not get any knock-back dice at all).



Dice are, left to right:
* crushing (hp)
* fire (hp over time)
* poison (hp over time)
* electric (hp)
* piercing (hp)
* mental (lose actions)
* hold (lose movement points)
* knockback (move away; may take secondary damage from hitting objects or walls)
* cosmic (each dice will be randomly chosen from one of other damage types each time it is used)

I'm happy with most of the symbols, but really not happy with the piercing/knockback icons looking much too similar, but I couldn't think of a more differentiated pair of symbols (at this resolution). Maybe I'll try again with a pushing hand, but I'm not hopeful it will be clear.

I'm not totally committed to having a dice-based, rather than a more abstract, system, but I do think it makes it easier for the end-user to comprehend the probable effects of their actions. Unless I think of something that is really incompatible with this system, though, I think I'll keep to using virtual dice (though I don't want to make a big deal about rolling them, as some games do; I'll just show the results in the game log).

Full details of what is on each dice, as well as more details of what abilities I'm planning to implement and how they work is on the wiki. Also I've made a preliminary list of all characters in the game and their powers.
Logged

Games by Spooner
sabajt
Level 1
*



View Profile WWW Email
« Reply #22 on: February 17, 2012, 12:01:24 PM »

Cool dice!  Maybe you could try to make the piercing arrow even more narrow (like a spear) and add a little sparkle to the end to indicate it's pointy.  For the knockback, I think the pushing hand is a good idea if you can manage to make it different enough from the crushing hand.
Logged

Udderdude
Level 10
*****



View Profile WWW
« Reply #23 on: February 17, 2012, 01:59:05 PM »

Not sure adding that much randomness is such a good idea.  Ideally you want a game like this to be as deterministic as possible.  But hey, some people like the random crazyness .. :p
Logged
Spooner
Level 0
***



View Profile WWW
« Reply #24 on: February 17, 2012, 03:19:35 PM »

I had another go at the dice and I'm a lot happier with them. Some of the 2s are very unclear, but only some dice will have a 2 on them so it matters less.



@udderdude: Your point about determinism is noted. My system is based on ones quite commonly used in board games like Descent or Space Hulk, which are inherently quite random because they are intended to be more fun, beer-and-pretzel games. Remember, however, that the dice include the effects of to-hit and damage in a single roll, so they aren't as random as they appear. e.g. with a average superheroic melee/crushing skill of 3, you roll 3 dice, each with 0,0,0,1,1,1 on their faces (effectively 3d2 if you are a pen-and-paper RPGer). The probabilities are 0=> 0.125, 1=> 0.375, 2=> 0.375, 3=> 0.125 (average result will be 1.5), so it is a nice bell-curve, but does allow for rare fumbles/misses (0) and criticals (3).

As an alternative, if it had 50% chance to hit, but always did 3 damage, it would have the same average, but would never give a 1 or 2 result. The only properly deterministic result would be to always do 1.5 damage, or 1-2 perhaps as a compromise since I don't manage partial health points, but in both of those cases you can't miss. Sorry if you fully understand the maths; just clarifying it for everyone in case anyone else wants to throw in suggestions.

[EDIT: The other common number of dice to roll are 1, 2 and 4:
       1 dice is: 0=> 0.5, 1=> 0.5 # Not a bell curve here
       2 dice is: 0=> 0.25, 1=> 0.5, 2=> 0.25,
       4 dice is: 0=> 0.0625, 1=> 0.25, 2=> 0.375, 3=>0.25, 4=> 0.0625]

[EDIT2: Hmm, Piercing, which is has 0,0,0,0,1,2 on its faces, is a bit more random since rolling 3 of them gives a range of 0-6 rather than 0-3, although the average is actually the same and you only have 0.5% chance of getting a 6 out of it!]
« Last Edit: February 17, 2012, 03:36:30 PM by Spooner » Logged

Games by Spooner
Spooner
Level 0
***



View Profile WWW
« Reply #25 on: February 20, 2012, 10:14:56 AM »

Did quite a few little things:

* Actually implemented elemental combat (Blunt, Electric, etc.) and show overall results of dice rolls in log. Haven't bothered to actually show what dice are rolled and what each die shows yet.



* Gave up on having multiple actions per turn and just have one per character (saves clicks and the main effect I wanted from it, specifically having some abilities use 2 actions, can be mimicked by other parts of the system, such as requiring energy).

* Implemented resistances (roll less damage dice) and vulnerabilities (roll more damage dice).

* Added status effects, like burning and poison. In doing this, I changed a few things:
  - Mental damage prevents action for a number of turns, but can still move.
  - Poison reduces movement slightly, as well as doing damage over time.
  - Burning now does 2 damage per turn, but is less likely to have effect.
  - Changed cosmic damage to sap super-energy over time (if you have any), otherwise acting like poison.
  - Rather than sapping a set amount of movement, hold damage now just prevents movement for a number of turns. Maybe should add a special ability to "break free" when held, using your action to reduce number of turns held.

* Added knockback effect and secondary impacts (you get knocked back N tiles, but can give and take Blunt damage if you hit anything before you run out of impetus).

* Added some powers that use energy, specifically Second Wind (self-heal) and Flurry (get extra action). Probably should try to implement some of the more messy powers, like pet summoning or area effect attacks...
« Last Edit: February 20, 2012, 10:43:01 AM by Spooner » Logged

Games by Spooner
Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic