Monday, May 22, 2017

Battle Report: May 21st

Minaria is in flames this week, with not one but, two different games. The first, is a BASIC game between Jared, DR team producer Spudbox and, myself. With the player kingdoms being Zorn, Rombune and, Mivior respectively. The second is the epic conclusion to the ADVANCED game last fought on the 6th of May, between Jared's Shucassam, Werepuppy's Pon and, my own Mivior.

Game One

In this Minaria, Zorn, Rombune and, Mivior struggle for supremacy. Things start as they usually do with armies being consolidated and allies recruited. In the early phases, Mivior managed to ally the Kingdom of Shucassam. Whereas Rombune took several turns before they were able to ally Hothior giving them a rough naval parity with Mivior. Zorn is eventually able to make allies from their southern neighbors the Muetarians.


Early military moves had the Miviorines gather their forces for an attack on the capital of Rombune, Golkus. Landing both their regular expeditionary units and those of their ally, Shucassam.


The Divine Right board and digging into the hexes


This is my first blog post here, and in this and a couple more following I'm going to focus on the hexes of the game Divine Right.   If you haven't played Divine Right yet, it is a great game.

For a game like this, the hexes are very important.  One of the things we'll need to understand in the coding is which hexes surround a particular hex.  I refer to these as Hex Neighbors.  We need to know this for calculating movement.

If you examine the board, you find that there are 31 rows and 34 columns. In the coding we will start at 0, instead of 1, so we will have boundaries setup like this:

( (ROW >= 0) && (ROW<=30) )
( (COL >= 0) && (COL<=33) )

We've come up with a hex identity which is 2 digits row and 2 digits column. I placed several hex ids on hexes on the map above to help in following this post. So for instance, Khuzdul is at row 7, column 18. This translates to 0718.

The shape of these hexes, with a point at the north and south, make the hex sides NW, NE, W, E, SW, and SE.

What if I am at Khuzdul (0718) and I want to know the hex ids of the 6 surrounding hexes?

We could do this by brute force and eyeball every hex, and put all of their ids into a 6 element structure. One element for the NW, NE, W, E, SW, SE.

It would be easier to do this in coding.

We can use these calculations below to identify the surrounding hexes. Great! That wasn't so bad.

NE=row++, col++
NW=row++, col
E =row,   col++
W =row,   col--
SE=row--, col++
SW=row--, col

Row = 07; Col = 18;

E : Row = 07, Col= 18+1  = 07,19
W : Row = 07, Col= 18-1  = 07,17
NE: Row = 07+1, Col=18+1 = 08,19
NW: Row = 07+1, Col=18   = 08,18
SE: Row = 07-1, Col=18+1 = 06,19
NW: Row = 07-1, Col=18   = 06,18

Yes, this works fine.

Lets try it on Zefnar by the Sea.(08,10)

Row = 08, Col = 10

E : Row = 08, Col=10+1     = 08,11
W : Row = 08, Col=10-1     = 08,09
NE: Row = 08+1, Col = 10+1 = 09,11
NW: Row = 08+1, Col = 10   = 09,10
SE: Row = 08-1, Col = 10+1 = 07,11
SW: Row = 08-1, Col = 10   = 07,10

Uh oh, the NE, NW, SE, and SW are not correct. It turns out that we need a seperate set of calculations for Odd and Even rows. We include the 0 row as even for these purposes.

Even (and 0) columns
NE=Row++, col
NW=row++, col--
E = row, col++
W = row, col--
SE = row--, col
SW = row--, col--

Row = 08, Col = 10

E : Row = 08, Col=10+1     = 08,11
W : Row = 08, Col=10-1     = 08,09
NE: Row = 08+1, Col = 10   = 09,10
NW: Row = 08+1, Col = 10-1 = 09,09
SE: Row = 08-1, Col = 10   = 07,10
SW: Row = 08-1, Col = 10-1 = 07,09


Here we have all the elements needed to determine a hexes neighbors.

Monday, May 15, 2017

Battle Report: May 13th

Minaria is at war again this week. There were a few scheduling conflicts this session, so Jared was unable to play. So we started a new game for this session. Yours Truly is the desert kingdom of Shucassam. Werepuppy plays as maritime power of Rombune. With special guest of fine literary taste, lastredoubt, playing as the premier Minarian thalassocracy of Mivior. All three kingdoms are some kind of naval power bordering on the Sea of Drowning Men. Which should make for an interesting scenario.


There were some early battles in the Sea of Drowning Men where the forces of Rombune and Mivior clashed. Although little is said of those battles(and I forgot to take screenshots), the results were mixed. Mivior ended up taking the heavier losses, however. 

Diplomacy however, did not favor Rombune. Their ambassador was burnt at the stake the first time they attempted recruit from the barbarian tribes. Although no alliances were formed at the early stages of the campaigning season, things were just getting started. 

Monday, May 8, 2017

Battle Report: May 6th

The monarchs of Minaria again strive for what is their DIVINE RIGHT. We actually had two games this weekend but, the first just needs a few more turns to make an interesting write-up. It had an interesting start though, so it's just a matter of time. Otherwise, there is the continuation of the game from the past few weeks. Between Were-puppy's Pon, Jared's Shucassam and, my Mivior the war continues. 


Last game, Pon was able to achieve several key sieges in both the Dwarven kingdom of Ghem and Shucassam. All the while, Mivior and Shucassam fought fruitlessly to a stalemate in the western half of the continent. Things are coming down to the wire and Pon is far in the lead in victory points but, things aren't over yet. There can still be an upset.

Tuesday, May 2, 2017

The Q&A Forge

Trivia Crack has a feature called Question Factory that permits people to submit and rate trivia questions, a feature that we had independently determined would be desirable. However, because our questions combine fill-in-the-blank and multiple choice, and because we have a much more sophisticated gameplay structure, GameBrain's question submission architecture has to account for some complications that the Question Factory does not.

For example, once the first question for a game is entered successfully, we no longer need the information about the release year, genre, platform, and so forth, and it would be irritating to have to enter it every time, which means that it is necessary to a) skip ahead to the question difficulty, and b) provide a means of checking the game database to see if that information is already there when a user is entering the name of the game for the first time in a session.

Here is the design question of the day. Many games have multiple platforms and some games have multiple genres: Combat Mission is both a wargame and a strategy game. So, would you:
  1. Require the user to enter one platform and one genre manually?
  2. Require the user to select one platform and one genre from preset pull-down menus?
  3. Require the user to enter one platform and one genre, but permit manual additions?
  4. Permit the user to enter as many platforms and genres as he sees fit from preset pull-down menus?
This is not a feature that will concern 99 percent of all GameBrain players. But it requires some design consideration nevertheless. We've already made our decision and the system is already running, but I thought it might prove to be an interesting discussion. For those who are curious to see it in action, or who might like to submit a question or two, I will post a link to the GameBrain Q&A Forge sometime in the next week.

With regards to the 3-Strike Challenge, a few notes on the excellent comments:
  • The solution is to remove points altogether and fully design the game around the '3-strike-loss' idea.
  • The problem here is that you have two scoring systems that are at odds with one another: points and strikes. The points act as a reward and the strikes act as a punishment, but only strikes are able to end a round and only points are able to determine the winner. 
This would be a very bad solution and would simplify the game in an undesirable manner. Nor is there a problem. Contra some commenters' opinions, combining strikes and points is the basis for many very successful games, beginning, for example, with baseball. This may not be obvious since baseball calls its strikes "outs".

Clarification: A baseball game ends when the losing team reaches 27 outs. This should not be confused with a batter being called out after three strikes. If the home team, which bats second, is ahead when the visiting team completes its 9th inning by reaching its 27th out, the game ends at that point. If the home team is behind, the game ends when it reaches its 27th out.
  • Could you split this out into separate modes?
Yes, actually, we intend to permit Pro players to decide if their matches will be time-based or point-based. Pro players will be given considerably more ability to bias the match either towards their own strengths or away from their opponent's strengths. For regular players, we'll allow them to simply name their favorite game, so the first five questions they face will concern either that game or the game selected by their opponent. This has the additional benefit of making what is a pretty difficult game a little more accessible for even the casual gamer.
  • The main problem is that the system is a competitive PvE disguised as a PvP. A player doesn't choose questions for an enemy, it's more like a multiplayer tetris with two bins side by side. I don't think it's viable.
First, this is not a problem, second, while the player can't choose a precise question for his opponent in GameBrain, he can choose the game, the genre, the platform, and the decade by playing cards. As for the idea that it's not viable, this simply shows a complete ignorance of the history of the games industry. From Trivial Pursuit to The Most Difficult Quiz in the World, competitive quiz games have been not only successful, but extraordinarily popular.

What a lot of the commenters don't appear to have given sufficient consideration is to the fact that the primary object of GameBrain is not to determine the winner as quickly as possible, but rather, to make the competition fun for both players as long as possible during the process of determining the more knowledgeable and more tactically skilled player. We are only discussing the multiplayer game here, after all; single-player Mastery mode will probably be the most common way the game is played. And since the player can collect and keep cards in multiplayer, cards that he can use in Mastery mode, the stronger player has a material incentive to keep playing as long as possible, not only to maximize his score and obtain a higher rating, but to give himself the chance to collect more cards.

One of the key things to keep in mind when discussing game design issues: successful precedent trumps theory every single time. One of the things I find most frustrating in the development process is when producers or programmers want to dispute the idea that a feature or a concept will work when it has already been proven to be viable by a successful game with which they happen to be unfamiliar. That is why a deep knowledge of game history is so important for any game designer.

Monday, May 1, 2017

Battle Report: April 29th

Minaria again convulses in the throes of war. The session this week was a continuation of the ADVANCED GAME from last week. The warring parties are Jared at the head of Shucassam, Were-puppy as the leader of Pon, yours truly as the Thalassocrat of Mivior. 

Last time Shucassam's hegemony was severely damaged by the loss of their Immerian and Zornite allies. In terms of number of allies, they are about even with Mivior in strength, albiet having much larger armies than the Miviorines, and their largely seaborne forces. Pon is far weaker than both of these massive powers and, yet prior to this session has the highest victory points due to the siege of Alzak. 



Here Adeese, hastily reinforced with local mercenaries, had been holding against Pon since the previous session. Unfortunately another attack is coming....

3-strike challenge

The multiplayer competition in GameBrain presently takes the form of a 3-strike system. The object is to wrack up as many points as you can before you, or your opponent gets three strikes by answering three questions incorrectly. There is, however, a design problem with this. First, if you happen to get a big enough lead on your opponent, you have an incentive for intentionally answering the next 1-3 questions incorrectly, thereby ending the game and sealing your victory.

While there is nothing intrinsically wrong with this de facto mercy option, and it does present the player who is ahead with the choice between a) taking the win at a lower point score and b) playing on and taking the risk of falling behind, it feels wrong to create a gameplay structure where the winning player is encouraged to end most games by intentionally providing wrong answers.

So, there are at least four alternatives.

  1. Require a player to win with either a pass or a correct answer. The downside of this is that it give the player a free strike so long as the opponent gets the answer wrong.
  2. Award the player points for his opponent's strikes; this will not eliminate the problem entirely, but will require a bigger lead before a player contemplates intentionally accepting strikes. The downside of this is that it will give the leading player a bigger lead by virtue of getting points for his opponent's strikes earlier in the game, so it's largely a wash unless the strikes are progressively awarded more points so the third strike is worth more than the first one.
  3. Let the winning player continue playing and adding to his score until he hits three strikes. The downside to this is that the losing player is not going to want to sit around and do nothing while he waits to see how badly he lost.
  4. Throw out strikes altogether and simply play to specified time or point totals.

Discuss amongst yourselves. In a future post, I'll discuss your solutions and reveal how I decided to handle the 3-strike challenge.