Monday, December 31, 2012

Notoriously Databased v0.41

After a couple more play sessions there have been some more bugs to squish, some wierd strategies to rebalance and some UI recommendations to help smooth out the game's flow.

First off the list was to fix an abuse of the win condition by popping yourself over the notoriety limit for 2 turns in succession. I was sure i'd covered this by checking for a wipe on the winning turn, but it needed a check for wipes on the turn before as well to catch this devious little strat.

The turn submission screen also now has a notoriety list to help gauge where you are in relation to the notoriety limit and others. this has added a bit more informaiton at your fingertips to make your choice for next turn, but has also turned the submission screen into somewhat of a knowledge store for the game too. The recommendation to place the story on there is most likely as a response from relying more and more on the informaiton at hand rather than really reading and digesting exactly what's going on in the region.

To add the story to the submission screen I wanted to try a partial view so that the same information could be displayed there as well as in its current location. Because the view has already been set up I didn't think it would be too hard to turn it into a partial view.

It turns out that there are a number of different ways of making a partial view. What i really wanted was to call the same action that currently exists as it has a ViewModel and custom data gathering script already in place and a major part of what I didn't want to replicate, so calling the partial view using @Html.Action was the way to go.

After a couple of tests it turned out to be a fairly simple change:
 - Replicate CharacterCurrentStory into PartialCharacterCurrentStory in both the controller and view
 - Set PartialCharacterCurrentStory controller to return a PartialViewResult
 - Strip down PartialCharacterCurrentStory view to only show the table of messages fit for both views.
 - Strip down the old CharacterCurrentStory view to only show the headings and page setup
 - Call the PartialCharacterCurrentStory using @Html.Action()
 - Add the same call to the character submission
 - Strip down the old CharacterCurrentStory controller to only pass in the current character rather than the stories. 
 - Lock down PartialCharacterCurrentStory to only be called as a child action (probably not required, but handy to know)

Here's the end result for the controller:
        public ViewResult CharacterCurrentStory(int charID)
            Character currentChar = db.Characters.Where(i => i.CharacterID == charID).SingleOrDefault();
            return View(currentChar);

        public PartialViewResult PartialCharacterCurrentStory(int charID)
            Character currentChar = db.Characters.Where(i => i.CharacterID == charID).SingleOrDefault();
            int currentStoryTurn = (int)db.Storys.Where(i => i.CharacterID == charID && (i.Turn.GameID == currentChar.GameID)).OrderByDescending(u => u.TurnID).FirstOrDefault().TurnID;
            var storys = db.Storys.Include("Character").Include("Turn").Where(i => i.TurnID == currentStoryTurn && (i.CharacterID == charID || i.isPublic == 1));
            return PartialView(storys.ToList());

Thursday, November 29, 2012

GameLog 264 - 270

Lots of other things getting in the way of GameLog reports. Some games are bound to be missed :/.

XCOM: Enemy Unknown (44h) - GREAT game. stalled 10 or so missions into hardcore impossible though.

Towns (43h) - Feels like a lightweight Dwarf Fortress. That's a good thing for movingon wit hthe game, but a bad thing in that it doesn't have much depth. Added a challenge to reach the bottom (and survive) as fast as possible. Got down there in just over a month with gold equipment for 1/2 of my villagers, but couldn't sustain any time down there. I've certainly enjoyed it more than others on the forums, but in the end it left me pining for a better interface on DF.

Fallen Enchantress  (15h) - Lots of changes even from the last beta that I played only a month before release, and the changes have transformed the game a lot. Monster AI seems a lot better now with a little less aggression and predictability. Enemy AI play quite solidly and is a refreshing challlenge over Warlock. Cranking it up to insane was, well, insane as they had about 20x production and resources. That said, I like a game that gives an impossible task as long as there's ways to scale as high as possible against it.

Beat it pretty well on challenging as my starting campaign, but there were 2 occasions where the AI was in a very good position and I had to re-read the situation and change strategies accordingly. I'd say it was refreshingly challenging and is probably going to be my comfort play level, if not one or 2 notches higher.

Current game is with a custom race and cranked a one notch below insane and am currently leading the scoreboard. Once again it felt refreshingly challenging and there always sems to be something bigger and badder around the corner to keep you wanting more out of your civ. This is similar to warlock, but has the end-game to match.

GuildWars 2 (10h) - Veeyar Bones, 65 Mesmer - Has a knack for putting me to sleep when playing it. Not sure why, but it's done it a couple of times. I think it's the level of mental intensity required.  Few more dungeons and play sessions at LANs.

Terraria (5h) - Cam's go-to game again, along with Mad God

Notoriously databased (5h) - Another playthrough once I put in the end-game. I won it, but I think the bounties and win state have tightened it up a lot and brought back some intentional interaction. Fortifications are still broken, but apart from that it's in a pretty good place at the moment.

Football Manager 2013 (4h) - picked it up at a great price, but other games and steam sales have kept it on the backburner. the challenge modes look very interesting, especially since the involver your own team.

Realm of the Mad God (3h) - More time with Cam.

Tuesday, November 06, 2012

Notoriously Databased v0.40

After a couple more discussions, I'm happy enough to include a notoriety limit as an end game scenario. The implementation was relatively straightforward to include a notoriety limit and a check to see if any player has been over the limit in successive turns. Also decided to limit the submission of turns once there has been a winner as it's not that hard to reset the "completed" game if there is a consensus to play further. This also adds to the finality of the game as all that is left is to read the story produced.

Now that it's a game in its own right, the next step will be to break out the game creation into its own form, and then lock off the admin tab completely. There shouldn't be any need for people to get into the admin tab once the game gets going.

Sunday, November 04, 2012

Notoriously Databased v0.32

Another playthrough of NotoriouslyDB with Grieg and Sandy revealed yet another handful of bugs, but all were relegated to the bin by the time the night was out. I've even come up with an endgame of sorts that should fit in well with the style of game that it is.

End Game

I've tried to come up with a couple of viable endgame scenarios, but most either bred a deflated finish when one person pulled ahead in the power curve, or could be colluded a little too easily for my liking. The current endgame looks at sustained notoriety.

Each game will have a notoriety limit placed on it. Once somone passes this limit, they are eligible to win the next turn if they are not wiped and remain above the limit. Hopefully this should give people time to react against the current leader when they first break the win limit, but will become harder and harder to keep them (and eventually others) from winning.

From the playthrough tonight I'd expect a limit of 30-50 to be adequate as by then it feels like you have mastery over the village and can ramp up in power fairly easily. Lower limits will be more for advanced players as it will require more management to cram both the middle -> late phase transition and maneuvering for the end game into the same timeframe.

If it survives a couple more thought experiments, it should be relatively easy to implement and even automate.


Another feature that made it into this revision was bounties. After a discussion with Andrew regarding the relative merits of the current system ("So, is it fun?"), it seemed that the game has become more than the testbed for high level play that I thought it would be. If the game were to be played in its own right, there needed to be another avenue to use treasure, especially when you know you are about to be wiped. I enjoyed having wipes "educate" people regarding the fleeting value of money compared to the real currency of space, but with bounties in place it feels like there is more of a multiplayer component, even if it's a "Hey! what was that for!" yelled out from the other side of the room.

Bounties are quite simple. Place a treasure amount against another player and that increases their notoriety by that amount next turn. The bounty is public, so that other can see not only who has the bounty, but who placed it too. I've been contemplating having a way to hide who placed it, but that will most likely be rolled into the Raid disguise update in the future. At least the variables are in place on the batabase to support it when the time comes.



 - Added bounties.
 - Fixed attacks on other players
 - Fixed defense with both elites and minions
 - Fixed multiple player attacks on other players
 - Added notoriety list to CharacterSubmission to see other player's notoriety. (This will be to make the game more, well, gamey, and give better feedback for the endgame)

There is still an issue with fortifications. I'm leaning toward an increasing scale of costs as 5 treasure seems fine at the start, but too little at the end.

Factor Friends website

As part of the final year 12 project for this year, they helped build a website to promote Factor Friends. Although we ran out of time to complete it all under the student's efforts, they put together a pretty good framework for the next phase in development. I've also been inspired to write my own version of Factor Friends to compete with their major project and place it up on the site too (when finished)

Thursday, November 01, 2012


Since I already had a beard, I decided to do NoMovember this year (try to go the whole month without a beard).

All the photos used above were taken last night during the shave down at Ben's. See anything odd?

Sunday, October 21, 2012

YASD by way of XCOM

Rookie Smith: First mission of the campaign he allowed an alien to flank him and critical hit, dropping Smith in one shot.    

Captain Medina: Guarding side door when floater came up over the 2 story building. Medina and Bernard  open fired from overwatch, but missed. Floater took aim from 15 paces and critical hit for 9 leaving Medina in a pool of blood. Traumatized, Bernard emptied the clip into it and brought it down.

Colonel Mason: Took a bold step in the raid against Alien HQ but stirred up a nest of Crysalids. The squad took down one, but 2 managed to get through and rip him apart before we could bring them down.

Rookie: While rescuing civilians he bravely stepped in front of another to fend off the last of a Crysalid wave. We are no match with them in hand-to-hand combat. Gutted. 

Colonel Williams: Long serving sniper took a muton grenade in the opening exchange. Her cover was also reduced to rubble, allowing a 2nd muton plasma shot to take her out before she could react.

Colonel Van Damme: Gifted assault trooper who served well as front line subduer. Attempted to gain good position on the outside of a window against the initial target when she startled a berserker, 2 elite mutons and 2 mutons. A muton grenade removed the wall, then a critical shot by an elite muton and a berserker charge took her down. She remained critically wounded, but the berserker and elite mutons kept the only other medic at bay for one turn too many.

Colonel Sanchez: Extremely gifted sniper made the ultimate sacrifice.

Tuesday, October 16, 2012

GameLog 270 - 273

Another big slab of time without a GameLog ..

XCOM: Enemy Unknown (44h) - Lot of hype from the podcasts and websites I frequent made this a simple pre-order. Plays well in both a reminiscent way and an up-to-date

FTL (26h) - I thought I'd gotten into the kickstarter on this one, but it looks like I missed out. Still, made for an entertaining romp through randomly generated space with a near-complete game. Beat it with the Engi ship. Might be back to it ..

Warlock (20h) - Picked it up to pass the time until XCOM hit. AI still has problems spreading and got rolled by sheer economy. Could have won using any of the criteria, but put the AI out of its misery through conquest. Might be worth trying another one-city challenge for something like avatar victory.
GuildWars 2 (20h) - Veeyar Bones, 60 Mesmer - Still fun, especially at LAN ding dungeon runs or collaborative jumping puzzles.

Notoriously databased (5h) - More playthroughs and good discussions regarding the game. Added a couple more niceties to help smooth out play and am now working on a way to set bounties.

Pirates: Tides of Fortune (2h) - Level 39 - Finally someone wiped me. No incentive to rebuild.

17 exabytes

Portal looks like it's in for one heck of an update ...

Saturday, September 15, 2012

GameLog 267 - 269

GuildWars 2 (80h) - Veeyar Bones, 45 Mesmer - The pre-purchase and early access to the beta helped pick up on how good this one was going to be. The dynamic worlds are still Ok, butnot as impactful as expected. They do, however, fit into a wonderful puzzle of streamlined gameplay. I'm prety sure this is the new generation of MMO's and I hope it's going to kick on for a while.

Pirates: Tides of Fortune (10h) - Level 38 - fB game that seemed to have a good intro. Similarities to Notorious has kept me playing, although the insistence of inviting more and more friends to the game is getting pretty grating.

Notoriously databased (5h) - Actually got some time to play my web game at the LAN and with Sandy & Voidwolf for a few good stints. The game is maturing more than I expected, and rough edges (like player instructions) are being added that I thought I'd not bother about since it was a limited experiment on the larger design concepts.

So where's the steam games?

Nowhere ..
2nd time in 5 years of gamelogs where steam has had a clean sheet.

Thursday, August 23, 2012

GameLog 264-266

Pirates: Tides of Fortune (30h) - Level 35 - fB game that seemed to have a good intro. Similarities to Notorious has kept me playing, although the insistence of inviting more and more friends to the game is getting pretty grating.

Fallen Enchantress Beta (20h) - New beta and a significant improvement. Not sure if it's coming off a lacklustre AI in Warlock, but the AI's have been performing much better here. The world itself has come alive a bit more too. Maybe not quite up to Warlock, but certainly holding its own now. Maybe just lots more quests would give it the final spark.

Kongregate: Chronicles of Blood (20h) - Veeyar 22 - fB game converted to Kongregate. What's keeping me in the game are the random drops and crafting. This combined with trading makes for an interesting path for developing your character.

Team Fortress 2 (12h) - New update for co-op mode. Not much co-op, but it's good to get back into 2Fort.

Left 4 Dead 2 (5h) - Picked up in a steam sale. Plays Ok for LAN, but didn't stick.

Realm of the Mad God (2h) - LAN game.

Notoriously Databased v0.31

User Interface

After a couple of multiplayer experiments, the main feedback was that there isn't enough information to show you what's going on in the dungeon. Some of that was intentional, but some was just poor placement (or no placement) due to the lightweight nature I thought this game would have. Now that it's being tested, it's kind of cool on its own to see a dungeon developing. With that, I put a bit more effort into presenting the data.
  - Reading the character's story defaults to only the story rom the last turn so you don't have to keep scrolling down to the end of the story.
  - Redid the Character Submission to more clearly show dungeon state, and how space is allocated. Also added the village state and current defense ratio.
  - Removed a couple of Edit / Delete hyperlinks to turn it into a more consumer experience instead of a database.
  - Highlight public stories
  - More stories about how many minions / elites are surviving
  - Indicator of who is the most notorious and that they are the focus of heroes. 

Bug List

 - Elites not defending properly
 - spelling errors
 - Villages now appearing back in the village when ransomed / released
 - Hero focus on proper highest notoriety character

Notoriously Databased v0.30

Strategy tests

I feel confident that the turn processing is at a point where I can attempt to test individual strategies and see where they would lead in the main game.

The Digger

The first strategy will be just a simple turtle that digs as much as possible. This will be the baseline to judge all the other strategies against as it will have the least amount of risk. If it is also sustainable without going through a wipe, then we'll have a big problem attempting to get the other strategies to eek out an advantage, so the first test is to see how far I can go before a wipe occurs, and also how long to get to, say, 10 spaces.

Since the hero attacks are predictable from your current notoriety, the strategy will be to only leave enough minions behind to fend them off and dig with the rest. It may pan out to be better to drop the defense and go through a wipe rather than holding out on the defense right until the end. We'll see.

Run 1 - Always defend: 15 turns to reach 10 size. Not too bad, but there are a couple of places where treasure could be utilized either for elites or on fortifications.

Run 2 - Defend until defenders more than diggers: 13 turns to reach 10 size (10.8). Seems a little wasteful throwing 9 into digging when it was already on 9.9, but 10 size is just an indicator and I'd rather keep the tests consistent to the strategy for the long run. Start certainly seemed better, and no drawn-out sections of no digging.

Run 3 - 1/2 Defend using elites:  Elites look Ok on the first turn, but then break horribly. More debugging.

Sunday, August 05, 2012

Notoriously Databased v0.26

With the turn processing finished, Notoriously Databased was ready for limited testing. Unfortunately some conflicts with the online database made the LAN tests a bit of a flop, even though I'd been able to test a couple of turns myself locally. Debug phase ...

The first issue was that the cascade on delete that I'd set up locally hadn't been merged over very well. I tried fixing it with a diagram system, but it kept complaining about multiple cascade loops when it was only cascading downward from multiple parents. Wierd. It allowed it on manual update of the foreign key though.

Next issue was that partially filled submissions were causing null errors, so I zero'd out all the null fields at the start of processing. Later on I found out that Characters not submitting a turn was throwing errors too, so created a default blank submission for those. Some other small errors were isolated & fixed in a couple of hours.

Testing the turn processing was getting a little tedious when triggering the proces from the admin panel, so I moved it to the player's screen to keep it all together for now. It raised another problem I've been having with MVC and the modelessness of web design: there doesn't seem to be a built in way of returning back to the previous caller, rather it lets the currently active action determine where to go next. I can see why this might be the case, but it's such a radical shift from traditional functional design, I'm surprised that they haven't tackled it in some way. There are far more complex issues (like entity framework) that have been solved. Hopefully I'm just missing something simple, which is quite likely.

Another thing I wanted was a quick way to see the character's story.  Earlier changes to the controller and views made it quite simple to make a method receiveing the character's ID and only outputting those stories. Since it was only called from the player's screen, at least I didn't have to worry about the redirection on completion. Limiting the stories to those involving the character was one step, but I also needed to include all public stories as well. In SQL this would be a simple ID=x OR isPublic=1, but it took a while to figure out how an OR could be imoplemented. Many methods to do an AND, but only one looked like it could also be manipulated into being useful for an OR by simply using C# binary logic in the where() clause. It looks like Entity Framework does a nice job of processing the logic and converting it into an SQL statement. I haven't had to reduce entity framework to SQL queries just yet, although there have been a couple of wierd interfaces to do more or less the same job.

After the turn processing I thought it would be a good time so show the whole story of the turn to whoever processed it (as another debugging tool). Setting up another list was pretty easy, but unfortunately I couldn't trigger it easily with a RedirectToAction() passing a parameter to another controller, but it feels like returning to the Player's screen was a more concise alternative anyway, leaving individual turn debugging relegated to the admin panel.

It's feeling nice and solid. Now for some serious strategy testing ... 

With turn processing triggered of fthe admin panel, and

Thursday, August 02, 2012

GameLog 261-263

Football Manager 2012 (40h) - Boston Utd (2015 League 2: 12th) - Finished the season with a strong mid-table showing, even though I was in with a shot of the title by the midpoint of the season. When the doldrums hit the team it toook longer than usual for them to shake it off and found ourselves 10 points shy of the playoffs. That's more or less where we stayed as hunting for new talent to take us up next season was my main priority. 
Kongregate: Chronicles of Blood (20h) - Veeyar 22 - fB game converted to Kongregate. What's keeping me in the game are the random drops and crafting. This combined with trading makes for an interesting path for developing your character.

Warlock (15h) - Some updates added heroes and it makes another interesting part of the game. The AI is still floundering though, I can't figure out whether they don't expand fast enough or get locked into massive troops and stagnate themselves, but by the time I want to go to war, I'm ploughing through them with no real resistence.

What I'd like is a ratchet system like Empire Deluxe where I can specify how much more of an advantage I give them, then the trick is to see how high you can put them and still eek out a win.

Sins of a solar empire (12h) -  Steam sale. Picked up a couple of copies to try out at LAN. One loong game over 7h, and a couple of multiplayer attempts.

Kongregate: assorted (10h) - Kong is turning out to be more alive than I thought, but is also bringing in major MMO's from the interwebs.

Kongregate: Berserk Cataclysm (2h) -Ticking over the attempts at taking my lands. Somewhere between Stronghold kingdoms and Chronicles of Blood in this game's lifecycle.

Stronghold Kingdoms (1h) - Popped in to see how my castles have withstood any attacks and they have done pretty well. Lot a couple though, so it's not on the gaming radar anymore.

Notoriously Databased v0.25

So much for esxprecting a fairly easy process to get the turn resolution complete. It's been over 15 hours, but finally is taking shape. Lots of effort in outputting stories as they will be the main interface for players to see what happened, and lots of code comments. I think it's teaching year 12 IPT that has made me comment more. It's a good thing, but adds time ...

Resolution Phases

  1. Validate the turn
  2. Town Raids.
  3. Hero attacks on Dungeon. 
  4. Attacks by other Characters.
  5. Returning trops.

Hero Attacks on the Dungeon

The main component of the game will be dealing with the escalating amount of heroes attempting to rid you from the world. in this section there's not too much to do. The Heroes' level will be dictated by the last turn's notoriety, or be found by a level 1 scout if no notoriety. The tricky part is absorbing the amount of damage to the fortifications and elites. I'd solved this earlier in the spreadsheet, but the different variable types made this a little interesting.

Attacks by other Characters

 When other characters attack, there is the chance that more than one will be attacking at the same time. If this is the case, they first all try to get past the fortifications, then combine strength to take on the dungeon. If there are any survivors they fight it out so that only one returns with the treasure. In the case of a draw (both sent the same amount of minions), the prisoners overpower them and escape back to the city. The outcome is that the dungeon is definitely wiped one way or another, and the attackers either havethe winning troops return or lose everything. Once again converting elite strength to overall strength and back again is a right royal pain, but having elites adds an additional way of spending money so I hope it'll be worth it.

Returning Troops

The raiding parties and attacks on other dungeons come back in this phase. Since there are data models set up to hold the results of these raids, it's simply a case of looking for any relevant data and integrating it to the next dungeon state.  There is also an opportunity to clean up the amount of minions ready for the next turn, dig out any new space, build any fortificaitons, or bring back the ransom.

Quite happy how the whole process turned out. Now to debug and make the stories more visible and enable a simple of triggering an end of turn.

Thursday, July 12, 2012

Notoriously Databased v0.24

The interface for submitting a turn is more or less complete, and I'm happy with the progress of MVC in this design. The next thing to work on is the turn resolution itself. Since I'd completed most of it in the Google Doc version, I was expecting it to flow fairly quickly...

Resolution Phases
For this version I'll be breaking down the turn resolution into 5 phases.
  1. Validate the turn: If there are any commands that will not be possible, drop to the maximum achievable number (Eg 5 minions available and request 6 to dig = 5 digging)
  2. Town Raids: Calculate all attacks on the town. Initially the attacks were to occur simultaneously and impact on the amount of guards for that turn, but for now a simple ratio of defenders to resources will suffice.
  3. Hero attacks on Dungeon: Process all incoming attacks from the village. 
  4. Attacks by other Characters: Any incoming attacks from other dungeon will occur after the hero attacks. This will allow for potentially easier attacks, but also potentially nothing if the heroes wipe it first. If there are multiple people attacking the same dungeon, only one will survive (or none)
  5. Returning trops: Any successful raids or ransoms or dungeon attacks come back. Any digging or fortification building is also completed if not wiped.

Validate the Turn
 The validation itself was pretty easy to set up as I'd already done the logic for it, but the main sticking point in this section was creating a function to update the story with any errors. The story table will mainly be used to tell the player what happened in a turn, but it will suffice to also be the error reporting section for validation. The function itself should be pretty easy, but where to put it?

After another chat with Andrew, I decided on using a StoryRepository in the Models. Even though it's not technically a Model, the utility function does in a way act as a conduit to the model, and will not be doing much else apart from formatting and saving the Story into a new record. I played around with null values to allow optional parameters and unknown IDs, but it was cleaner to simply force IDs by seeding the optional parameters.

Town Raids
Initially I was hoping for the amount of defenders to be proportional to the amount of attackers as they would be pulled in different directions to defend all the resources (or go only one way if only one attacker). In the Google Doc version I'd dropped it in favour of a simple ratio of defenders per resource becuase of difficulties calulating all town attacks at once, but now that I can process them any way I like, I'll still use the ratio for now because it turned out to be simpler to calculate whether your attack will workor not by analysing the village state from the previous turn. It seems a little too controleld at the moment and I'd like a little more randomness, but for this large scale test it should be fine.

Once the raid has been calculated, the successful minions will return in phase 5. I could possibly merge this phase down to there, or merge up into validation, but I'm really unsure whether the town raid will need a different calculation method in testing, so it should be better in a self-contained section. Doing this means that I need a way to hold all raid data until phase 5. With my new-found love of Models, I made up a new class to act as a memory storage unit for raid data. This way I can create them into lists and process in much the same way as if it were table data.

Tuesday, July 10, 2012

GameLog 253 - 260

Hmm, 8 weeks of reports. Things are definitely going to be left out and times will be guesses.

 Football Manager 2012 (120h) - Boston Utd (League 2: 2nd) - Got a hankering for Management again and fired up the 2012 version I picked up a while back when it was on sale. 6 months unemployed to let the game settle, then accepted the first offer coming my way: Boston United in Conference North. Got them into the Playoffs that year, but didn't have the firepower to go up.

Next year was a completely revamped team and we finished 2nd only to be knocked out again in the 1st round of the playoffs. 3rd year we picked up another couple of gems and wouldn't settle for anything other than automatic promotion. We finished the season on 95 points, 15 clear of our nearest rival. 

Last season we were to bravely fight relegation, but after a mid-tier start, the team found their form and we moved up the ladder. Even I was a little suprised that we took over 1st, but the confidence in the team and our attacking style seemed to be working well. We've been having a poor showing in the cups, and with the League Trophy nearly in our grasp, we lose out in the quarter finals to an equally impressive FC Halifax who have risen along with us out of Conference North. Final game of the season and we're 1 point ahead. The stands are packed to see us win 2-1 and advance once again into the professional league.

Currently 4 games in with a somewhat understrength side. Hoping for mid table or possibly playoffs while the squad and stadium catch up to our rapid rise.

Kongregate: Berserk Cataclysm (40h) - An autoplay CCG with some interesting deck building choices. Cards are dribbled out fairly regularly to build some different decks, but the obvious advantages of rares over commons means that gaining cards is like levelling up. Unfortunately this leads into a direct pay-to-win option as the best cards are exclusively via the paid service, and having thousands of cards right off the bat is even more useful for the competitive side of the game.

World of Tanks (10h) - Some LAN attempts, but the 2-person platoon limiter is really pretty ordinary for any coordinated action.

Stronghold Kingdoms (10h) - Big long stints with nothing. Game over I'd say.

Kongregate: Chronicles of Blood (10h) - Veeyar 9 - fB game converted to Kongregate. Probably the best feeling action-point limited game I've played. Drop rates and proc rates are varied and I think I'm finally coming to an effective overall strategy with mostly PvP and some PvB planned.

Kongregate: assorted (10h) - Some new things appearing on Kong, but it still feels like it's playing second fiddle to fB and iOS

League of Legends (10h) - LANs and first wins.

Diablo III (5h) - Real money auction house is out now, but I can't see any evidence of anything selling on there. With Blizzard charging at least a $1 service fee per transation, I would say that its usefulness will be pretty bad for the general public. In beta people had a starting credit as well. I think this would have been a good choice to loosen up the AH. If there's no trading, then people are less likely to post stuff, then there's less liklihood of trades, etc. It has a real chance to turn into a ghost town.

Notorious Monetisation

Random thoughts on ways to monetise a Notorious server as we drove home from Mackay. I'm not a fan of secondary economies, but this might be a way to set one up with a clear distinction between in-game and out-of-game interactions.

"The Club"
As the players are ethereal beings ‘competing’ for notoriety in the game world, there exists a number of services for these beings to interact with directly through the ether. Most of these services revolve around trading information. For now I’ll call this “The Club”

-       Provide access to a gem: The club has people scouring the world looking for suitable gems to link to. For a fee they will provide the location of an unlinked gem. Price is dependent on both maximum power of the gem and the closest city size and current dungeon layout. Possible selling methods:
o   Auction system with random gems being placed on there with a price. 15% value to AH for player-listed gems.
o   New gems generated in clumps on the frontier zones, with some generated in more settled locations for people to advance to.
o   Offer a static price to ‘locate’ a new gem. ~$1 for a village level gem to ~$5 for a capital gem
-       Player power graphs: For a very small cost, players can see power graphs of other players. It should indicate long & short term notoriety. From this players should be able to deduce the best time to attack that player. Inactive players should have a fairly regular graph. Active players should show advancement in fits & spurts.
-       Player dungeon layout/minions. For a small fee, players can look up the last known dungeon layout of the target player with possible minion information.
-       Possible black market for minions. Include minions that are already linked with gems. This service provides access to the gem and possibly free teleportation to the home stone. Minions bought this way may or may not know of the existence of the ethereals. New gem keepers can be picked up this way.
o   Player auctions – additional 15% added to them
o   Football manager contract system opening payment goes to either the originating player or the “Club” if newly generated. Once the initial price is agreed upon it allows access to talk directly to the minion to negotiate. Once the 1st negotiation for a minion has been set, give 5 mins for competitive bids.
o   Possible alternative is that once a price is settled upon with the original owner, they give access to the minion’s gem for a non-refundable fee
o   Look at introducing a ‘trade band’ that has a gem inside it specifically for talking to minions to set up contracts. Original owners would then pick up a trade band from The Guild and place on minion. All discussions and memories are then accessible through the new band. The Guild can then use these to monitor the trade, set up filters of likely candidates to accept a trade, and give independent information regarding the minion to the buyer.

Multiple dungeons
An auction house would potentially mean having multiple gems for the player to link to. Look into whether only 1 is active with an interface to select the next active gem or have multiple gems active at the same time.
- If multiples active want so it is beneficial to have gems in better places.
- ways to mitigate gem spamming. If pay a power maintenance cost to link to a gem, maint cost increases by the amt of gems linked to. Eg: an inactive gem 5 power, 1st gem 50 power, 2nd gem 100, 3rd 150, etc.
- potentially have 1st home gem link for free. Look into a base amt of power for characters

Players may have the opportunity to tailor their character toward a certain playstyle:
-       To mitigate the multiple home gem links cost
-       Mitigate multiple gem links to monsters
-       Decrease costs of scanning
-       Decrease hiding/masking costs
-       Raise base power

Information tracking
Use roguelike monster info (observed weapons / damage / HP etc) for what they know about your minions. This will be used in knowledge discovery for the “Club”.

If creatures are resurrected at the home stone with nothing on them, how do they maintain the gem for communication?
-       Make the equipment they are carrying when bound be brought back too.
o   This would be the same as WoW / EVE and expected of the NPCs In the city. Problem with this will be NPC heroes would not bring anything into the dungeon to drop. 
-       Make equipment that has gems attached also returnable.
o   This would give the minions and NPCs a reason to desire gemmed items.
o   Requires the Ethereal to pay an additional fee to link to gemmed items? Maybe a link for returning purposes is not as strong as a link for communication.
o   Look into linking gemmed items to the minion / NPC. This way any binding of the minion / character will also include the cost of the items.
o   If an item can be returned to a home stone, what would happen if another Ethereal managed to establish a link to the item? Could they return it to their own dungeon?
o   Gems allow access to sentient thoughts, so there would be nothing to link to in the items themselves. Maybe a cost to return the item itself is cheaper.
o   Once a link is established with a mind, maybe other close gems can be added to the link for a minimal cost to strengthen the link (allow more power). New items linked this way don’t add to the total gem linking increases, but have an independent power cost escalation. Eg 50 power for original link, 5 power for secondary, 10 for tertiary, 20, 40, 80. Items linked this way must be strong enough in their own right to support the link.

Running a City
-       Have a high amount of NPC Heroes linking to your home stone.
o   Require a different build, with attributes heavily focused on new minion link reduction to cope with the amount coming through. Possibly too much for more than one stone’s worth.
o   Access to NPCs, but virtually no power left to manipulate them.
-        Charge a service fee for the resurrection power that you will need to use to pull them back. This will typically be through a front man, quite possibly a reputable person established in the city, or a gemkeeper working undercover.
-       Use access to NPC heroes to sell dungeon layout / minions back to “The Guild”
o   Offer NPC heroes an in-game reward for information regarding layouts / minions / etc.
o   Offer NPC heroes information on layouts for a fee (miniature version of “The Guild”)
-       Use access to Heroes to sell their links to the club for people wishing to raid targets
o   Make up bounties for certain dungeons with potential upfront payment, confirmed wipe payment and loot division options.
-       Act like the “Adventurer’s Guild”
o   Branding all services as part of a corporate entity provides all players that run individual sites to share the power.
o   New Adventurer’s guilds can be set up in the city by paying for a large enough gem to be moved into place (and secured, they are rather expensive in the game world too. Wouldn’t want anyone walking away with your home base.
o   Run by exclusive members of “The Guild”
-       Power mainly generated from “good” thoughts about the owner. “Good” thoughts ½ as effective as fear thoughts and reputation harder to maintain. Also less amount of population concerned about the service (adventurers) compared to the impact of character actions (whole city/village)
o   Good rep mutually exclusive to bad rep. linear linked scale.

Wednesday, June 27, 2012

Nototriously Databased v0.23

With the Admin panel finished, it's time to start working the the player's UI. Ideally I'd like the user to log in and go directly to a list of all his characters in the various games. From there they should be able to:
 -  submit new turns
 - view the results of the previous turn
 - view their current dungeon state
 - view old turns
 - view public information for the whole game

Off to build a new controller. Most of the UI will be the same as the CharacterController for now, so it's a good one to pinch. Pretty easy < 2mins.

Limiting PlayerController
Looks pretty good, but is showing all characters, not the currently logged in user's characters. Since I haven't created the link between User and Account, I'll leave that for now and see if I can limit the list to a single ID.

After a number of false starts, it seems that grabbing everything from CharacterController wasn't as good as grabbing the extensions I did on UserController's edit action. Changed it over so that I could pass in a User model that is limited to the single ID and includes Characters.
User user = db.Users.Include("Characters").Single(u => u.UserID == 1);
return View(user);
Took a couple of hours of wrong turns and dead ends to get there, but at least it's working and looks pretty clean and simple. Now to change it to the logged in user...

Currently Logged In User
The intenetion of using the ASP.NET default account management was to make sure passwords etc were handled a little more securely than if I did it myself. The upshot of that choice meant that I'd make a User table that shadowed the account and use it to link all the game data to. Since I'd successfully added other tables when generating the creation of games, I set about modifying the AccountController to also give me a User record if they successfully registered.

Username and email were simple as they already existed in the Register action, but I'd also wanted to link the user table to the account using the guid. Try as I might, the standard code to return the logged in user's Id simply returns null:
Guid userGuid = (Guid)Membership.GetUser(User.Identity.Name).ProviderUserKey;
I'm assuming that the Register action has just created the account and they haven't actually logged in until exiting the action.

It would have been nice getting the account ID, but I'll have to suffice with the username. It'll be a little less secure, but fine for the scope of this little project. User record created and working!

Limiting to Logged In User
There should now be a User record for each account, and since the "User Info" page isn't visible until someone logs in, all I need to do now is find a way to get the current user. While searching for a way to get the account ID, there seemed to be a number of ways to get the current account name, so dropping back to username rather than ID has made this step rather easy:

User user = db.Users.Include("Characters").Single(u => u.Username == User.Identity.Name);  // assign currently logged in user
return View(user);
 Tidy up
Now that the page is working moderately well, I spent a little bit of time to rewrite the intro and remove / reword the character list fields to make it cleaner. All ready to make the submission...

Custom Data
For the next section I'll need to pass in some custom data to tell if the character is ready to submit a turn for their game. I might be able to do it in the view, but I confirmed through Andrew that it's definitely the controller's job to collect and prepare that sort of stuff. So how do I get it to the view when I am already passing in the User model along with associated Characters?

It seems that I need to create a separate model specifically for the view and pass in only the information that the view needs to display. I don't need all the Character fields, I do need some other fields from DungeonState and Game, and I also do need some custom variables to tell whether the turn needs to be submitted (or changed).

With Andrew's help, I made up a new ViewModel specifically for the Player controller with all the character information added as another class. In the end it felt more like creating a view in SQL from related data, but I could construct almost anything to put in there. A little bit of pre-work for a much more simple and clean implementation. I like it.

Now that the custom ViewModel is in place, I have to redo the way the Character table is laid out on the view. It needed a change anyway as I also took the opportunity to bring in all the data I'm expecting to show, as well as the IDs for all the relevant actions.  

Monday, June 25, 2012

Notoriously Databased v0.22

The next objective is to build an administration panel to link all the table controllers to. This will allow quick access to the game's internals in case the proper game fails.
  •  Added an AdminController with a simple list of table links.
  • Tested all links and found that CharacterSubmission controller failed due to pluralisation issues.
  • Fixed CharacterSubmission to CharacterSubmissions in the db, and rebuilt the model and controller.
Now some initial prep work on the game. If a new game is created, it would be best to have defaults set up immediately for VillageState and Turns.
  • Located the creation of game objects and added code for creating a new Turn object once successful
  • Reviewed changing ID fields for the new record, but it looks like it does that automatically once saved. 
  • Reviewed adding linked GameID fields from the original object. Does it pick up what the new ID field is once added? Yep, fantastic. Nice and easy.
  • To check that all the IDs are working, I redid the display view for Turns. Entity Framework is a treat for getting related data out. 
  • Formatted GameDate to Now() until I know when the game will be pitched at. 
  • Added VillageState object, linked to the current turn, and saved.  
All in all a pretty good night's programming (plus F1). Slowly coming to grips with MVC / EF / C# and it now feels like I can put together data onto the page where I like. Will still have a little work to prep for user account interaction, but hopefully it's only a Google away from a standard solution.

Friday, June 22, 2012

Notoriously Databased v0.21

Now that the tables and relationships were mapped out on paper, I then put them into a fresh database. Pretty easy after finding out some autoincrement foibles in the previous testing. 8 tables in all:

Users will have Characters inside each Game. The Characters will have CharacterSubmissions for each turn in what to do with their dungeon, which, once processed, is stored as the DungeonState. The Game will also revolve around a single village, that has VillageStates stored for each Turn. 

(Almost elemental facts, but meh ...)

Generating the App
Next step was to create the new MVC3 C# app. There were a number of steps that I needed memory jogging on, but I finally got the app set up with the database brought in by adding an ADO.NET Entity Data Model class to the Models directory. 

Account Control
The standard template came with ASP users and login hooked into a separate db, and not having to recreate login scripts and password obsfucation seemed like a good thing so I set about attempting to integrate it. Since the final version will be hosted online in AppHarbor using only one database, it seemed logical to bring all the ASP database tables into my own db and possibly link into the User table.

After some research it turns out that placing relationships onto the aspnet_user table is a bad thing in the long run, so I left the original tables as they were and added another field to handle linking to the unique ID. Hopefully I'll be able to link them together using API calls once the whole thing gets going. Creating the aspnet_ tables was relatively easy with aspnet_regsql , and apparently there's a lot more stored procedures that I would have missed if I tried to bring it over from the generated db file.

Once the db's had been merged, the next thing was to get the models to be merged. After a little bit of frustration, it seemed that the AccountModels didn't like accessing the aspnet files under the entity data model, so it was easier in the end to leave the connection string as a separate connection adressing the db with a simple SqlClient. The future problem will be that once I move it all to AppHarbor, it will only migrate one of the connection strings internally, so I'll have to manually update the ConnectionString to permenently point to the online db. Shouldn't be too much of a drama as there's not going to be much separation between production and testing.

Adding Controllers
User accounts complete! Adding controllers for the new tables worked relatively well once I figured out that the Data context class it was after was the complete NotoriousEntities class. Since I had added and removed it a couple of times, I had to restart VS 2010 to get it to pick it up. I'd heard that I should be able to refresh the database if it changed (because dropping the entity model and recreating is a pain) and once you double-click on the edmx file you can 'Update Model from Database..' from the NotoriousModel. Tested and working MUCH better.

Moving to AppHarbor.
I followed the general instructions to set up the new application, but finding the git info still needed a visit to the knowledge base. After previous tests with local git, I'd settled on integrating it into VS 2010.  Right click on the entire project in the project tree enabled me to start up a local git instance, then update it either with the Git Pending Changes addon, or straight to Git Bash. The shell will eventually be more useful, as once the remote git is set up I'll be constantly running the update and push commands. Update is nicer in the addon, but I can't see a push.

AppHarbor with SQL.  
It was easy to pick the free SQL shared server, but finding the details of the server to manually connect once again seemed harder than I remembered. There some new configuation variables that indicated a different method for connecting, but I finally found the options I needed by going to the SQL server. The connection string is going to be the main one to the entity model, and because of that it also needed the resource metadata to complete the connection string rewrite. After looking at the output, I pinched the ConnectionString data for the server itself and placed it over the account model connection. Seems to be working, but getting errors. Doh! no tables!

Once connected using SQL Server Management studio, the next task was to get all of the tables across. From the local database I could run a 'Generate Scripts..' task and point to all the tables. Hopefully the aspnet tables will be fine coming across as I'm pretty sure I won't be able to run aspnet_regsql over on the server.

Databases look good, but running the app looks like there's still issues. No stored procedures. Looks like I can output generation instruction for all stored procedures as a script in itself, and with a bit of massaging I got it to work. Now I need a schema :/.

Looks like I can get all the elements from generating scripts, so back to square one. Generating the complete database brings in too much database specific changes, so I tried picking all the items instead. Some ALTER ROLE scripts were ging to fail, but the rest seemed Ok so I merged them and manually added the role members using the GUI.

Still having issues with the schema, stating that it's an older, incompatible version; a task for another day ...   

EDIT: After a bit of Googling, it seems that the schema was fine, just aspnet requires some data to validate against. A quick merge of aspnet data files and it's all working. Now to build an integrated admin panel for manipulating the game data directly...

Friday, June 08, 2012

Notoriously Databased v0.2

After discussing with Andrew the benifits of MVC3 and AppHarbor, I was finally convinced that it was the way to go for the next step of developing Notorious. Hopefully it will allow a little more freedom in testing as I'll be able to fully automate the process and serve it up as a web app rather than Google Doc forms. Been a pretty long journey to get all the setup in place:

 - Looks like I'll need MVC3, EntityFramework, and AppHarbor testing
 - MVC3 needed Visual Studio 2010 sp1.  (250Mb)
 - Downloaded Windows Platform Installer to speed up the process. It was able to get most, but not entity Framework.
 - Tested MVC3 apps locally.
 - Downloaded GIT and merged local app to cloud
 - Needed to move data over to SQL, so downloaded 2012 SQL Management studio (600Mb)
 - Needs Windows 7 sp1, so it and another ~100 windows updates later ..
 - Management studio didn't seem to work by itself, so decided to move to 2012 express as well (200Mb)
 - Installed and running, and apparently management studio 2012 now magically works.
 - Played around with developing tables, and then merging them into MVC using entity frameworks. Lots of guidance by tutorials as this was not obvious. Eventual model first approach seems pretty slick rather than building LINQ.
 - Merged to cloud and then needed to figure out cloud connection. I could see the db fine in Management studio using the given user / pass, but couldn't connect to it using the app. finally figured out that it's rewriting the connection string itself. All I needed to do was to provide an alias to the model's connection string and also the resource metadata. 5 hours :/.
 - Looked at merging the data in case I neded to to that later on, but couldn't get a nice, simple way to do it across servers (I'm pretty sure the apharbour user doesn't have the right privelages for most options)
 - Ready to go!

3 days to get into a position to develop, and possibly 20 hours. Most of that was waiting for downloads, so maybe 8 hours in watching tutorials and testing stuff.

With all the tucked away, I spent 1/2 hr designing the table layout for the new NotoriouslyDatabased app. After building the guts of it on Google Docs, it's going to be pretty easy to convert the logic, but the file layout changes might mean a different approach is possible.

Monday, May 28, 2012

GameLog 251-252

Diablo III (30h) - Plays way better than the beta, but always-on has had hiccups that really, REALLY frustrates me. I know it's more like an MMO in that regard, but when you've played previous versions that didn't require constant connectivity and server stability, this one just feel wrong. Was hoping to use the gold AH for hardcore, but it looks like there'll only be one for softcore. AH is almost ruined now anyway, so I don't think it'll add up to much.

World of Tanks (20h) - Ticking over in this one requires about an hour a day though.

Stronghold Kingdoms (10h) - Maybe 1/2 hr per day now. Just popping in to keep things ticking over.

Company of Heroes (6h) - Finally let me finish Carentan, and spent the next 5 hours playing and replaying then divided road scenario. Might finally be able to move through this one.

Warlock: Master of the Arcane (5h) - Tried a one city challenge. Think I've missed my window.

Kongregate: Mud & Blood 2 (3h) - Part of WW2 LAN. Reminiscing on it made me replay it a couple of times.

Kongregate: Monster's Den Chronicles (3h) - Newest in the seeries. Getting a slick interface, but the gameplay isn't different enough for people that have played the previous versions.

Kongregate: assorted (3h) - Kongregate is feeling a little old now. I'm not sure what's changed, but it doesn't feel as vibrant as it once was. I thyink it's the move toward Facebook and iPad games that has dropped off the flash-based industry, but there's enough new stuff to wander through.

Wednesday, May 16, 2012

GameLog 246-250

Another big stint without a gamelog. Getting precariously close to dropping the ball totally on them.

Stronghold Kingdoms (100h) - Finally weaning myself off this one. House 13 imploded a little just as Warlock and world of Tanks caught my interest. Still pop in once a day to pick up cards and keep things ticking over.

World of Tanks (60h) - New filler for time. Starting to get into the higher tiers where strategy and teamwork are needed.

Warlock: Master of the Arcane (50h) - Civ5 meets Master of Magic meets Majesty. Environment and random maps are awesome, but AI doesn't really match up.

Guild Wars 2 Beta (23h) - One beta weekend, but a really good feel about the open world content. Some were heralding the PvP or WvW as the shining part of the experience, but for me they felt too similar to the orinial, whereas the outside world was ahead of  other MMOs. I also really like the way it just gets out of the way and lets you play. So many little things that just make doing what you want, when you want, a breeze.

Diablo III Beta (5h) - Kept dropping every 2 minutes or so from connection issues in the beta, and was completely put off with the whole online-only mode it was offering. The recent launch issues only highlight this as an issue.

Realm of the Mad God (2h) - Multiplayer with Cam.

Terraria (2h) - Multiplayer with Cam.

League of Legends (2h) - First wins of the day when people ask me to play.

Saturday, May 12, 2012

Warlock impossible win

Warlock: Master of the Arcane (or is that Master of Magic?) has been just the thing to celebrate my 40th. It has all the fundamental mechanics of Civ5, inspired my Master of Magic, and is set in the realm of Majesty. I've enjoyed all 3 games in the past, but with a completely new developer you never know what you're going to get.

I grabbed the demo and played enough to see that this was a definite purchase, but unfortunately couldn't find anyone to gift it to me with 5 hours to go for pre-order. I picked it up anyway and will work out who got it for me later on.

The main thing I enjoyed about the game is the environment. It really feels like the world is more active and agressive than Civ5, and is really interesting pushing back the shroud. Sometimes it's been rats or ogres to fight, or an NPC city, or a really good city position, or even an untimely death for the the explorers. It all makes exploration worthwhile.

Building cities to keep the economy going also feels like back in the Civ2 days where there isn't any artificial limits to stop city expansion. With the random maps and lots of different resource tiles to use, city placement is great for optimising.

In the first (normal difficulty) game I had pretty much the whole northern continent to myself, and had over 20 cities before pushing down onto one of the AIs. It looked like a foregone conclusion and moving 30+ units a turn seemed to drag down the experience.

In the second game I cranked it to impossible and once again expanded hard. I took out one of the AI's single city with the help of the other, but the 2nd remained allied with me while remaining on a single city. I'd once again built on just about every exposed piece of land, explored both worlds while settling fully one of them, before finally figuring out that I'd probably have to kill the other AI to win. With 4 paladins against a horde of skeletons, it was over in ~4 turns. Wonderful world, woeful AI. Why doesn't it expand?

I set another challenge to see if I can win it while only having one city myself. Played a couple of starts, butt just felt like the exploration part of the game suffered a lot in doing so. Do I want to spend a lot of time playing an unfun game just to beat the AI at their own game?

Next challenge was to se how fast I can beat them. They seem to be super effective early on, but then hampered by their inability to expand or tech up, so I know I'd eventually steamroll them if given enough time and gives a good expand vs fight mechanic to play with. Played a couple of games with some interesting challenges, but eventually came up with a winning strategy: summoned rats.

Starting a new game with Grum-gog and +100 Mana, I figured I'd be able to get 7 rats out (one a turn) and ignore the food cost. This was helped by a pretty decent staring position, but the rats really swamped their ability to kill enough or even fireball. Finished the game in 10 turns, but I'd say that there's another couple of turns that could be shaved off due to some agressive NPCs attacking me from the top. 


Thursday, April 19, 2012

Grabbing the Pole

I had to cover an English class today as my 12's were off on camp. A little mixup allowed me to go through the lesson planned and see what it was all about. Short stories. And poetry. Didn't really get into the poetry in school, but the one they had to analyse intrigued me: Robert Frost's "On a tree fallen across the road"
The tree the tempest with a crash of wood
Throws down in front of us is not to bar
Our passage to our journey's end for good,
But just to ask us who we think we are
Insisting always on our own way so.
She likes to halt us in our runner tracks,
And make us get down in a foot of snow
Debating what to do without an axe.

And yet she knows obstruction is in vain:
We will not be put off the final goal
We have it hidden in us to attain,
Not though we have to seize earth by the pole

And, tired of aimless circling in one place,
Steer straight off after something into space.

The 10's were to discuss how the form of the poem helped enhance the content, but unfortunately most were struggling with the content itself.  To me it's all about human endeavour, but that's really only the baseline. From there, three different paths open out for interpretation:

1) An exhortation to, not put off the final goal as we have all that we need within us to attain such things, gives us hope. We CAN conquer anything; the North Pole, even space.
2) Once you know that it's about human endeavour, the character of the tree's comments change: I don't want to block you, just stop you long enough to think about human endeavour. Why do we always insist on our own way? Is there anything that we are missing in our determined pursuit of our goals? As a lamenting tree, maybe it is the natural beauty to be found even in fallen timber that is glossed over. After a quick google it seems that others had picked up on this angle, but with Frost's penchant tfor including nature in his poems may make this a more obvious conclusion than it should.
3) In my own lopsided mind another interpretation sprung up; a warning. If we are solely focused on solving the problem in front of us, maybe we don't see the unanticipated consequences of that solution. Maybe if we literally siezed the Earth by the (north) pole, we may find that instead of the Earth blissfuly circling in place, we are flung out into space!

Now that needs a Draw Something inspired image via ProCreate:

Tuesday, April 17, 2012

GameLog 242-245

Another missed bi-weekly stint. Not looking good for the accuracy of these GameLogs. Luckily there's really only been one game on the playlist.

Stronghold Kingdoms (300h) - The old Grepolis clan moved into Stronghold Kingdoms, and it seems to be a welcome change of scenery. The game is VERY sticky, and probably not a good fit with my optimising mentality. It always feels like I neeed to spend more and more time in the game to eek out the advantage. Nearly quit a couple of times, but have now settled into a more healthy and sustainable rhythm. Steam has tis gam out at 630 hours, but a lot of that will be it running in the background.

Realm of the Mad God (25h) - Good startup game for LANs, as well as multiplayer with Cam.

Age of Empires Online (20h) - Some changes and a recommendation from the Thamms got me into this one. Had the Games for Windows Live glitch when attempting to run through Steam and took 40 minutes to get the game going even when I knew what the problem was. I don't know how they are doing it, buy GFWL is going backwards and is a big putoff for any game shipping with it. Once past that debacle, the game is more RTS than I thought, making it a welcome change to the usual world-time based MMOs. With GFWL it's hard to recommend to others though.
Crusader Kings 2 (10h) - The Strathearns have taken a bit of a back seat to other medieval castle building, but looks like the new DLC might be a good reason for a restart.

Terraria (10h) - Playing hardcore mode with map resets to keep it different. On daily rotation for Cam's multiplayer.

Might and Magic: Clash of Heroes (10h) - Free weekend for the game. Nothing to do with M&M apart from loose connection to the world. Plays more like Geomancer or Puzzle Quest, which was a nice diversion.

Shogun 2 (5h) - DLC on special the play Gempei war. Plays slighttly differently with more emphasis on influence rather than just military might.

Dwarf Fortress (4h) - Couple of adventures again and a valley map with an elevated river for fun dam building exercises.

Fallen Enchantress beta (3h) - Tried a run through to get to the end game. Seems faster paced now, but still too easy to steamroll the competition.

League of Legends (3h) - First wins of the day when people ask me to play.

Sunday, April 08, 2012

ICS and Homegroups

While setting up a new wireless router network up at the farm, I had an odd bug where Windows 7 would not connect to the homegroup on the internal network. The reason seemed to be that the internal connection was set up automatically when I used ICS from the USB modem, and there was no default gateway on the new network. With no default gateway, Win7 would not allow the change of network type to 'home' (just remained as an unidentified network with public location).

Thanks to Sanoh for the insight into changing Win7 network type, and Ghost301 for his crossover cable ICS & Homegroup setup to confirm the process.

Thursday, March 29, 2012

Choose your own Adventure

Matt Hintze delivered an interesting TEDxUF talk titled "Choose your own Adventure" as a way for online education to teach the same content in multiple different ways. This seems to be very close to my thoughts on the future of education, but another roundabout way of getting there. Student's personality and learning styles would certainly come into the decision making process of which method / teacher to learn from. But I hadn't considered making it overtly part of the process by giving a minute snippet to see whether the student likes the style presented. Yet more good ammunition for the recommendation engine to process.

Could learning style and teacher presentation style also be captured by data analysis? You could map the student onto other students who have successfully completed the learning activity by comparing their learning landscape up to that point. Close matches can be used as trailblazers to recommend certain exit paths, with an indication of likely successes or failures along that path. Adding a student's goal into the mix could also help the system target high success paths leading from the current activity to the goal. Would learning styles and teaching styles be captured in data like that? I don't mind the idea of a 1 minute preview, apart from it being still too long for someone to make an effective decision between potentially hundreads of options. Maybe the recommendation engine gives them a default that they can opt out of by watching the teaser video?

Friday, March 23, 2012

Future of Attribution?

During the FutureOfEducation web seminar I attended today, I managed to ask David Warlick a question regarding attribution:
There seems to be a broadening of attribution from traditional books & journals to all sorts of online media such as blogs / podcasts / even presentations like this. At the same time there is another method of attribution gaining popularity: that of the kudos to another user in web 2.0. EG: like button for facebook, or +1 in Google +, or the kudos in slashdot, or the the favouriting of images in flickr.
Do you believe that these two systems will eventually merge where attribution goes from a simple +1 all the way up to published works?
 It didn't come out as eloquently as I'd written it, but David's response went a different direction than what I was expecting. He mentioned that attribution is having a resurgance in schools now as a focus for critical thought. Instead of simply attributing an idea to another authorative source, the degrading of authorative sources on the net means that students need to be able to create their own critical analysis and apply their own logic to the problem.

Sounds like a little bit of swings & roundabouts as I'm sure those same set of students will find out (possibly at Uni) that standing on the shoulders of giants allows a more targeted analysis for those developed critical thinking skills.

Open content

A very interesting talk on moving beyond textbooks to open content. This fits in very well with my ideas on virtual education and highlights an important part of the puzzle: the curriculum needs to be solid and dependable.Since we have just moved to a national curriculumm, I would like to think that this is an almost ideal time for something like this to be adapted to the australian primary and secondary education system. Initially I was thinking this could be open repositories for moodle, but it looks like a wiki with links to anthing is a better way to go.

Tuesday, March 20, 2012

Inventing on Principle

Great talk by Bret Victor regarding Inventing on Principle: choosing a principle to stand by and making it your responsibility to change the world to that principle. Great insights into new programming tools to accomplish his principle: Creators need to immediately see what their changes do.

Monday, March 19, 2012

GameLog 238-241

Another missed bi-weekly log. Must remember to check alarm :/

Crusader Kings 2 (120h) - Very polished update of Crusader Kings. The 7 deadly sins also make much more sense as one of the major character changes are the virtues & vices. Tried multiplayer with Sandy, but it's laggy and drops out over LAN (?). Currently into the 4th generation of the Strathearns 

Jagged alliance (40h) - Good take on the old series. Bit concerned about no fog of war when paused though. If it weren't for Crusader kings, I'd have probably finished this one off.

Realm of the Mad God (6h) - Tried this one out for LAN, which may still be a goer, but it's simple enough for Cameron to play too.

Fallen Enchantress beta (4h) - New beta and the experience point system feels a little wonky now. Lots of other pieces coming together though.

Grepolis (4h) -Game finally came to an end with EN pushing once again over top of an inactive player on our wonder islands. Some went over to join Evolution, but that's it for me. More time for notorious now.

Dwarf Fortress (2h) - New version finally! Adventure mode is a little bit better, but possibly even more viscious than before.

League of Legends (2h)
Dungeon Defenders (1h)
Terraria (1h) - Quick couple of games with cam.

GameLog 242-244

Another 3-week report :/

Stronghold Kingdoms (100h) - Steam has this one out at 253 hours, but It's really been sitting in the background most of the time. It is VERY sticky though, much more than Grepo. There seems to be always things to check, but if you sit and look to find time between decisions, there actually is a fair bit to be had. Seems a good diversion when playing Crusader Kings II, but has also stitched itself into almost all my daily activities.

Crusader Kings 2 (20h) - The Strathearns are now into their 5th dynasty and own Scotland, Ireland and a cousin sitting in Denmark. Norway may be next with a shaky succession line to interfere with, or some more land in Egypt from the infidels.

Realm of the Mad God (15h) - LAN and Cam.An interesting take on permadeath. Items are the main part of progression, but only 8 slots and no shops to sell to makes it an interesting levelling up process.

Dwarf Fortress (2h) - Adventure mode is still viscious. Haven't got a character past 2 battles yet. Tempted to bump it up to Demigod, but I feel that there isn't that much of the game once he gets a couple of levels.

Wednesday, February 29, 2012

Strathearn Dynasty Pt.4 - King Kenneth IV the Blind of Scotland

King Kenneth IV the Blind of Scotland
As the first King in the Strathearn Dynasty, Kenneth's reign marked the culmination of Muiredach's dream. They were still small fry compared to the European powerhouses, so there was still much to do outside Scottish borders. The control of Ireland is the next goal on the table.

A generation of sowing Strathearns into potential seats of power had only reaped one county leader, so Kenneth turned to another strategy; bring in claimants, win them to his side (with possible Strathearn blood ties), then gift them their title through the pointy end of a stick. Oriel and Tyrconnell succumbed to this strategy while also becoming vassals of Scotland. With 1/2 the Duchy of Ulster under Scottish control, the title was created and then used to attack Tyrone, who also fell quickly. Although Ulster county itself was led by Countess Eua, a Strathearn descendant, poor marriage choices meant that her rule would be the last for the Strathearns, so she too was forced to bend the knee and join the Scottish Kingdom. All the southern duchies of Ireland were also contested by Scottish claimants at some point, but they continued to evade Kenneth's machinations and remain independent.

Even though the wars were swift, Kenneth's reputation for staying behind grew into rumours of cowardice. When a rebellious Malcolm Dunkeld of Gowrie took leave of his senses and strived for independance alone, Kenneth saw an opportunity to lead the burgeoning Strathearn Guard himself. With almost 2000 men under his direct control the outcome of the battle for Gowrie was never in doubt, but as Kenneth led the final assault, he took a viscious slash that dislodged his helmet and almost decapitated him. Bleeding, he stayed in the fray until victory was complete, but the damage was done. He would lose an eye and bear the scars of battle to his grave. No longer would the King be seen as craven, but instead was to be known as Kenneth the Blind.

In his 40's, Kenneth's kingom was looking in control. Minor claims into English territory went the same way as the southern tip of Ireland, with more luck of increasing Scottish land going to existing earls and Dukes rather than outside claimants. The potential death blow for Strathearn dominance came from within as Kenneth's only son 'little Kenneth' passed away, exposing a severe lack of rightful male Strathearn heirs within the electorate Duchies. Kenneth considered many options to bring his brother, the king of Denmark, to the throne, but eventually settled on a more wide ranging solution to change the succession law for females to claim the throne if no male heirs were available. Many of our line rejoiced at the change, while the Island and Lothien Dukes cried foul. Their names were soon to be removed from power anyway.

With somewhat of an impasse in Ireland with the independent dukes happy to keep slaying each other, and England seeming to miraculously come back from wave after wave of internal splits, Kenneth turned south for territorial expansion. Far south. While the Pope had proclaimed a crusade to Darum (near Jerusalem), there were still holy wars raging on the Iberian peninsula. Kenneth set sail with eager troops and laid claim to Granada to help rip apart the Andalusian Sultanate. Over 5000 set sail, and barely met more than 1500 troops on the field of battle to make good their claim. Cultural and spiritual differences took their toll on any hope of making productive use of the land, but it served as a convenient place to hide away heretics and claimants outstaying their welcome at court.

Succumbing to illness, King Kenneth the Blind finally departed at a venerable 55. His wife had borne him another son when both were in their 40's, so King Archibald took over at only 10 years of age with Kenneth's doting wife, Queen Eilionora, acting as regent.



Thursday, February 23, 2012

Strathearn Dynasty Pt.3 - Duchess Aufrica the Wise of Albany

Duchess Aufrica the Wise of Albany
As Aufrica took the matriarchal position at the head of the Strathearn Dynasty,  her two ambitious sisters acquired land also in the gavelkind succession. Fife went to Bethoc, while Flora took Moray up north. The sibling rivalry would stir ofen during Aufrica's reign, and both sisters spent a good portion of their lives behind bars to curtail their scheming. Without any direct control there were fears that the Strathearn line would peter out in those two branches, but both countesses managed to find suitable matches that would accept matrilineal descendants. However, the prolifeartion of girls in the next generation would continue to be a problem.

Aufrica married into the Babingberger line to set up a loose alliance with mainland Europe, but was under no illusions that the Dynasty required a legitimate heir to the throne. Even though Queen Finnguala currently reigned, a male descendant would be the only true way that Scotland would accept such a new lineage. Duchess Matilda arrived first to take the female count to 10 from 10 progeny, but Kenneth arrived next spring with his twin sister Ada to finally bring hope to the Strathearn line.

Poor luck and indecisive breeding also plagued the Lothiens to the South. Their Duchy claim backtracked though their tree to Gille-Crist's wife, and hence enabled Aufrica to make a play for the title. The Queen and other gentry up north ignored the young Duke of Lothien's pleads for help as the Strathearn Guard took them apart. Lothien had previously extended themselves by claiming the Duchy of the Isles, and this was to be their saving grace as they managed to squirrel away the majority of their holdings under that secondary title. Stirling Castle and Dunbar, the jewels of Lothien, still found their way into the clutches of Strathearn's Duchess.

With the Duchy spread clear across the breadth of Scotland, the power now belonged solely in Aufrica's hands. Queen Finnguala had passed on her crown to an inexperienced Godfrey a Muirebe, whose lack of leadership further put him in a weakened position. She bullied him into conceding Argyll and Caithness before attemting to relieve him of the crown itself. As Kenneth was still only 14, a plot hatched to bring Ingram Dunkeld to the throne. Even though it undid some of the work to extracate the Dunkelds from their position of power in the Scottish highlands, Ingram was the weakest of the candidates with no personal heirs and a 60 year old wife. He jumped at the chance to don the crown, but there was no doubt where the Scottish might now came from.

King Ingram the puppet. No love, no heirs, no control over his vassals. Soon to be deposed.

Kenneth was handed the Lothien Duchy as he turned of age, but with the Saxon populace objecting to Scottish rule, most troops were unavailable for him to wield. Aufrica continued to do the bulk of the work to depose Ingram and install Kenneth as the first Strathearn King of Scotland.

With only minor scuffles to deal with at home, the Dynasty turn their sights over the waves to Ireland. Some groundwork had been laid with Domnall's injection into Ulster during Muiredach's reign, but the female curse had spread there too, leaving only a generation of Strathearn blood to call upon. Kenneth had taken an Irish bride as the plans for the Puppet King were unfolding, and with her came the rights to claim the Duchies of Connacht and Meath. Other claimants were catered for in the halls of Strathearn to cover almost every part of the green isle.

As Aufrica slipped in and out of illness, Henry, her youngest, was her final bullet in the game of genetical warfare. Sizing up the Kingdom of Denmark, they accepted a betrothal to the young King's sister before he sucumbed to repeated assasination attempts. This cost Aufrica dearly in the sight of her peers and contributed to her worsening mental state. She slipped away from court as Otto, her husband, took over as regent in her final months.

Henry, atop the throne of Denmark, saw off the Polish threat that was plaguing the nation with help from Kenneth and Otto's combined forces. 2 sons, 2 Kingdoms. A testiment to Aufrica the Wise.