You are viewing anthonypete

Wandering Thoughts

Recent Entries




December 22nd, 2009

Alien Math

Back when I was messing around with Inform 7 after reading a review of it, I came up with a cool story idea. The inform bit just kicked off my interest in all kinds of systems you could create in there which lead up to my current interest in alien math. The plot of my interactive fiction was going to be that you were an eminent mathematician who was called on the scene with several others to try to understand an alien species' mathematics, in order to connect their knowledge and proof's with humanities.

The catch was that you had to rely on transliterated versions of their mathematics and they only had a relatively small portion of their mathematical thought available and transliterated to a humanly understandable writing system. So I put together an alien math, using lots of greek letters just for my stand ins. It would be cool to create totally new characters for an alien math, but that was a step too far, one I didn't know how I would work with, since the tools would be awful for something like that.

So greek characters and simple things like / and \ and using earthling variable names, with the rest being in alien, I had started on an Earth-Alien math translation dictionary that presented common mathematical concepts between the two realms and translating between them. Of course, being an amateur mathematician and not having a ton of time on this, I had left out a lot at that time, but it sparked some interesting ideas and thoughts in my head.

I haven't really continued with the story in Inform, though I may eventually do so in inform, or more likely in some kind of Web interface with a javascript alien math module that I would write.
However, in the meantime, I am fascinated by the idea of creating these different systems of math and arithmetic that nonetheless.

I have gone back to that Alien to Human math dictionary that I started, which I was using Formulator MathML suite to write, and fleshed it out a bit. I was missing a ton of neccesary tools for even the most basic math and proofs, so I worked on it and expanded it, and I still plan on expanding this first alien math system some more. However, I thought it would be fun to show off some of the alien math that I've written in the process.

The fun idea is whether the structure of the alien math is obvious enough to make it clear with a few samples, just what is being done with it. I think with the simplicity of the current system I've wrote, it shouldn't be too hard to figure most of it out, given enough samples. But here is the puzzle and the acid test of that.

In my future Interactive Fiction plans, part of the puzzles would be gaining insight into the meaning of the various symbols in this or other Alien maths. Unfortunately, Livejournal doesn't really support greek characters well, so I have assigned each of my greek letters to an appropriate english capital letter, and I'm using that form to show off a few samples of alien math. The variable names are still earth-based, because I haven't come up with good default variables like x and y in alien math yet. Lower case letters are variables, never my greek operator symbols.

So here goes (hyperlinking is forcing me to space out the repeated slashes and backslashes):

Part of a definition in number theory: WYW \ \\ Q \ WkD U xD// D A y/ Y \\ Q \ WkD u xD// D B y//

An expression: E \\ Q \\ K x / D u yD // D/

An almost tautology that happens to be missing a case: \x A y Y x B y/ Y \x A y Y x B y/

August 19th, 2009

Interesting tidbits

The method I commonly use with the longest invocation: FormsAuthentication.HashPasswordForStoringInConfigFile

Most commonly used .NET namespace: System.Data.SqlClient

Favorite C# 3 feature: lambda

Favorite F# feature:

Most Common F# annoyance: Handling invalid input or values when buried deep in function stack, so that the proper thing will happen and the top level function will appropriately end.

If I was going to learn another new language it would be: Ruby or Lua

Not as bad as I thought: Visual Basic

Hairiest recent coding: Marshalling and P/Invoke and SendInput in user32.dll stuff

August 18th, 2009

 I finally have used F# enough to start to get a handle on the areas it is strong and weak with, and the learn how to deal with various difficulties.

I've been writing a tool that migrates data in the QCOld database into the QCData, and in the process learning the many ways to code in F#, and the amazing power of the language. I started my migrator in C#, and now that my F# version is complete, it is still fewer lines of code than then C# partially finished version.

F# has a few frustrations, but with practice I've been overcoming them and discovering how amazing the language is.

To me, F# excels because it allows you to manipulate and deal with the STRUCTURE of things, rather than just their content. You don't have to read in every element in a list and deal with it in some big for loop, you just map it, or iter it or do something with it based on the fact that it is a list.

You can even make your own abstract ways of dealing with lists or other things. Today I made something new that filled a need in processing two lists. I needed to generate a list of all pairings of the two lists where some valueOf string matched between an element of each of the lists. I didn't see any method in the Lists documentation, so I made my own, making use of explicit 'a and 'b type annotations for the first time.

// Could be useful in general
let GetMatches (a : 'a list) (b : 'b list) (astr : 'a -> String) (bstr : 'b -> String) =
    let astrt ra = (ra, astr ra);
    let bstrt rb = (rb, bstr rb);
    let asl = astrt a;
    let bsl = bstrt b;
    let matchp1 = (fun x -> (fst x, (fun z -> fst z) (List.filter (fun y -> snd y = snd x) bsl))) asl
    let matchp2 = (fun (x, y) -> (fun z -> (x, z)) y) matchp1;
    List.reduce (fun x y -> x @ y) matchp2;

Now f# just needs extension methods so I can add this to List. It generates all possible pairings between an element in a and an element in b, where astr(a) = bstr(b). It returns a list of the type ('a * 'b) list.

It achieves this by gradually massaging the structure of the information given to it. First it generates a tupled form of the string value functions you provide, so it can put together a 'a with the string value of it, and likewise with b.

Then it maps the lists given to the tupled forms of your value functions.

matchp1, matchp2 and the returning line are the most interesting lines of the function however.

matchp1 takes each element of 'a list and creates a tuple that consists of the 'a element and a list consisting of the results of a filter that finds all elements 'b whose value of function matches the value of 'a.

So the results are of type ('a * 'b list) list. This is a deceptive type description. at first I thought it meant ('a * b) list, but what it means is that the tuple consists of an element of type 'a, and a list of elements of type 'b. And the final type is a list of these tuples.

So you have a list of each element in list #1, with the corresponding elements in list #2 that have the same string value.

Now we need to unwind this complicated structure so we merely have tuples of the form 'a * 'b rather than 'a * 'b list. Our final goal is a list of tuples for each match.

matchp2 starts this process:

It maps the top level list with the conversion function that takes each 'a * 'b list and returns a list that consists of a mapping of the inner 'b list to a 'a * 'b list. This is an example of a closure, which I'm finally starting to figure out. The function used in the inner map refers to both z, which is defined in the function, and x which is carried into the function because of context. That's an example of a closure.

The result of matchp2 is a list for every 'a, and within that list, a list for every matching 'b, and that list consists of tuples of the form 'a * 'b. This is close to what we wanted, but we want a list, not a list list.

I thought there was a flatten function to do this, but instead I was able to think up an easy way to flatten a list list. Use a reduce that concatenates lists. This was an amazing thing to me, the way that all these fundamental list operations can be combined and used in incredible ways. It reminds me of the abstractness and power Mathematica programming, only better and more general.

Reduce accumulates a list which contains all the inner list entries from outer list elements that have been so far reduced.

In the migrator app, I make use of this function in the following context:

let flist = GetFileListFromFolderName basepath "html";
    let runlist = GetRunList iparam;
    let matchlist = IterMatches runlist flist (fun (y, z) -> fnprefix + FormsAuthentication.HashPasswordForStoringInConfigFile(z, "SHA1") + ".html") (fun x -> x.Name);

I definitely plan on using F# more often in the future on my own and for Burnette Foods projects.

June 28th, 2009

I've continued to work away on the design of the superbeing powers at various times when I had a bit of time to go through it and the interest level to make it happen.

As to the problem of making little guy side play interesting, once I'm done with the superbeing attack powers, i'm going to revisit some of the early writings I did on the minions and come up with Leadership Manuevers or some kind of tactical manuever that groups of minions could do. These would give the minion side some of the customizeability that the super side already has through its huge number of attacks that can be picked.

I've come up with a new level / experience / veterancy system where numeric levels are used but they have a common set of assignments and intervals for tools.

For minions, newly recruited units will be level one. Regulars are level 2, vets level 3, and anything higher is in the range of the rare commando elites that have survived many encounters with the enemy. Minions get a power at levels 1, 3, 5 and so on, but their general power level and HPs increase with every level. Reinforcements will once in a blue moon provide a few level 3 and higher units, but the bulk of the reinforcement schedule for most battles will be level 2.

I'm still hashing out the reinforcement idea in my head, I'm thinking your effectiveness with what you've been given, plus the situation in battle (pivotal, lost cause or already won, etc) will determine the reinforcements available, with the most going to effective leaders in pivotal situations where an extra boost is likely to be the winner.

For supers, newly recruited units can be anywhere from 5 to 8, and occasional regulars will be brought in anew at a range of 9 to 11. Very rarely, vets will be brought in will levels of 12 and up. Anything beyond 20 indicates truly rarified air as far as skill and power. Supers get a power at 5, 8, 10, and then every 5 after that. But as with minions, supers capabilities will increase beyond just new powers with greater might and hps.

But beyond those things that I haven't written down yet, I've reach the Badass role section. Writing up the badass role attacks has been both a challenge and fun. Just coming up with a good set of 5 "schools" that covers the range from Rambo to 007 to Jason Bourne is a challenge. Finishing up the brute role was nice. The brutes are so direct that it was hard to make them interesting. Making up powers is so much fun, I will have to have expansions if/when this game gets off the ground.

Here's an example attack in the Badass role's Guns school:

Big Bad Gun -- Continous Attack. 0.2 sec pulse time. 2 sec cooldown.
DMG: 10 * (0.2 + 2) * 5 /12 * 1.1 = 10 damage (impact) / pulse
Targetting: Single Target
Special: Minions are affected by “routing” for the duration of the continous attack. Routing is variant of stunning where the minion's powers and attacks may not be used, but the affected unit can still move as normal. Superbeings are routed for 1 second at the start of the attack. To reapply the rout to a superbeing, the attack must end and then be renewed after going through the cooldown.
Prerequisites: Dual Pistol Shot or Shotgun Blast

This is one of the fancier attacks out there, as it has a special routing status effect.

The simple stuff is more like:

A Stab in the Back -- Normal Attack. 5 sec chargeup. 5 sec cooldown.
DMG: (5 + 5) * 5/12 * 10 * 1.1 = 46 damage (melee)
Targetting: Single Target
Range: 4 yards (melee). 0% acc mod

Which is in the espionage school.

It will be interesting to see how the formulas I'm using to assign amounts of damage match up with game reality.

June 11th, 2009

Tonari: The gnome mage

So I ended up trying the Tauren Druid idea, as detailed in my previous post, and it just didn't work out. As much as I want to try Druids for all the cool stuff later on, I just can't get into the flow of them.

So after playing my rogue a bit more and being sick of him for some reason. I decided to go for the gnome mage engineer idea. The reason is picked that idea is that it fits, to the greatest extent, the kind of person I would be in Azeroth. I'm a technical sort of person whose more than willing to dive into complicated yet sophisticated systems, and in the absence of computers, I probably would end up in gadgets or in magic, if it existed.

Plus I'm a little guy, so gnomes have always appealed to me, but I played them a ton when I first started Wow, so I was staying away, but I think its time come back to it. This time I just let the characterization come to me when I started playing, with the initial seed that, like the writer of the Sopranos I've been watching later, I would draw on real life inspiration in my writing or roleplaying.

Just to maintain that familiary with a twist of the different, I named my gnome mage Tonari. It was something I came up with on the spot that sounded fantasy yet was almost a variant on Tony.

I've come up with a family situation and an early characterization for Tonari, just from playing for a few minutes.

Last time I tried to write a character journal here in this Livejournal it only lasted one post, so I'm hoping to break that record and get to at least two ;)


Level Achieved: 3
Inn for a good night sleep: Anvilmar
Cash: less than a silver

Engineer Dewald put down his tools, smiling at his nephew Tonari who was standing in the doorway to his workshop.

"Ton, good to see you," he said.

"Uncle Dewy, guess what?" Tonari asked.

"What is it?" Dewy said, turning to the workbench and cleaning up a few things.

"Mage-Mistress Coral wrote me a nice letter, she said. Said it was going directly--"

Placing rachets and gearsets and other things neatly in their drawers, Dewy finished the sentence for his newphew, "to the High Tinker himself, who passed it on to Mage Sparkfizzle."

"How'd you guess!?" Tonari said, incredulously, "Mistress Coral told me that Sparkfizzle had plans for me. What kind of plans?"

"What's an apprenticeship worth if its not used Ton, and the High Tinker himself owes great allegiance to the Dwarves here. The dwarves owe allegiance to the alliance in its whole. The alliance needs soldiers."

"But I'm no soldier, uncle."

Dewy turned to his workbench and said, "and I was no bombmaker, back when we had the luxury of ignoring outsiders, Ton, but now I make explosives for the Armies of the Alliance. Its my number one creation, if they were to be asked. I don't have your skills, I have my own. Magic certainly is quite the interesting sort of thing, and I've seen and studied its rise. More and more of our people are turning to magic, dedicating their knowledge to the callings that are needed today,

Yet you can't just go out and join the armies from scratch. They will want to ease you into things. Sparkfizzle came to see me, you see. He's seen hundreds of mages who never set foot outside Dun Morogh, leave the doors of the city behind, and in barely no time at all, they were returning as intrepid adventurers, who fought for what was right without hesitation.

You're going to need two things, Ton. First, wait, three things. First, I want you get out your warmest clothes,  because Coldridge Valley is well named. Second, gather your courage, and follow orders out there. And third, you're going to need some supplies, and a little coin to get them.

Coldridge is the special training ground of the Dwarves, used to test and transform raw recruits into people ready to fight for the King. After Coldridge, you're going to have to decide how to proceed. The dwarves at Coldridge will give you plenty of advice, but ultimately its up to you. There are many worthy causes that could use another soldier. Before you move on to such things, however, send me a message from Kharanos. That will surely be your first stopoff. If you can make it that far, I will help keep you well up in supplies. Just check your mail at Kharanos and once you receive my response, you'll be off for wherever you will go, and whoever you will help."

"Coldridge? Can't I stay in the city and learn with you, uncle? I don't think I can do it."

"Listen, you have to. No choice. While you were off training with Ms. Coral, things are getting worse out there. The troggs are coming, the trolls are becoming a greater threat. The Humans and the Elves are embroiled in their own struggle. I've even seen the strange sight of a blue-skinned person of some strange kind walking through Ironforge with not a single odd look.

You're drafted kid. So you better learn quickly, the best way to take down your foes with that fancy old magic. The best way to stay warm when you have to sleep out in the snow. And the best way to keep going no matter what. The gryphon to Coldridge leaves tommorrow, 8 am sharp."

Tonari didn't sleep a wink that night, having imagined every conceivable possibility, all of them terrifying, for how Coldridge would be. What would the testers be like there. What would they do to test him, and would he have to sleep out in the snow overnight?

When the gryphon arrived, he mounted up, tired and on edge. Halfway there he was already feeling better. The fresh chilled air seemed to serve as a wakeup call, both literally and figuratively.

And if there were testers, they didn't call themselves that. There were almost as many dwarves here as in Ironforge, but there were also a number of other new recruits, all of them gnomes.

Tonari saw the prettiest gnome lass he's ever seen, and waved at her, but she darted out of a sight. The gnomes were in a hurry here, and no particularly talkative.

But the Dwarves did have a lot to say. There was a wolf problem. Tonari shivered. He would have to start his journey with the hunting of wolves, equipped with nothing more than  staff and his knowledge.

He stalked the wolves, in the way a wolf cub might stalk his own mother, that is , inexpertly, and with the full attention of the target.

There were other spells that promised him that they were on the tip of his tongue, but he couldn't think of them, and so he fell back on the old candle lighter trick. He used to light all of Coral's candles, one by one, with a puff of fire.

This time, he made the puffs a lot bigger, but it only took three blasts of the candlefire, as he still thought it was called, to fell the wolf. The prey was running towards him the whole time, and scratched his right arm, pushing through his blue robes there, leaving a rip in the robe there and three streaks running across his arm, which bled a bit. He calmed down, had breakfast, and applied bandages and continued.

But back up. Beyond the purpose of culling the wolves, the Dwarf who had sent him out promised good warm gloves. Having been scratched and gouged a bit more, but rapidlly getting the hang of the "Big candle fire" spell, he had bested over a dozen of the local wolves. It was a huge accomplishment to Tonari.

But for the Dwarf, it was less. He wanted Tonari to take on some Troggs next. Tonari new about troggs. They were the bane of all Gnomes, and fear was certainly an expected response. But the dwarf convinced Tonari to fight them, telling him that these Troggs were younger, less aggresive, and that there was little to fear if he had been able to best the wolves, which he had.

Things went well with the Troggs. Tonari was shocked. He began to learn how to weave the "candlefire" magics in rapid succession, and even got overconfident and ran out of mana briefly, but soon he was back to it.

He learned the true name of the "candlefire", when he was sent to the top Mage in the area, Mr. Nurribit. He was a youthful sort, and he straightened out some of Tonari's weaknesses in the area of combat magic, which he had only been taught about in passing by Coral, who was more focussed on civilian magic. The "candlefire" turned out to be a very well known spell called Fireball, and he learned a few new techniques for focussing and enhancing his magical aptitude through magic. It was amazing to him, to realize that a spell could itself enhance spellcaster.

Tonari studied the Arcane Intellect spell that night, sitting by the roaring fire in Anvilmar. Things were different than in his wildest dreams of the previous night, but they were not so bad, and the learning he had done today was exciting in its own right. There was a full day ahead of him tommorrow as well.

June 9th, 2009

Starting a new roleplaying character
with assistance from's Roleplaying Lore Guides:

Considering Races: Gnome (engineers are cool, but how do I avoid something different from the cliched here), Tauren (their calmness, serenity and yet determination are cool), Dranei (faith and ancient glory), Forsaken (the question how it "feels" to be undead is peculiar).

Classes / Initial Concepts:

All of these are interesting, but the Gnome Mage seems most cliched, so I think I may try all of the others eventually. Deciding which one to try first is the tough part.

Gnome Mage - A greatly gifted master of magical energies. He seeks the underpinnings of all magic. A magical theoretician in addition to someone learning the practical arts of magic. Additionally, the crafting of devices is an addictive hobby for him.

Tauren Druid - A channeller of nature's power. Think of the druid in the old Mtg book who always took only the neccesary steps to counterattack threats, and only reached to take the greatest of natural energies because of the direst threat to her peoples. A druid like that, in wow, would be understated, friendly, sociable, and slow to anger, slow to show his/her power. As a tauren, this mild-mannered and balancing approach is strengthed by their serenity, but counterpointed by their hunting. As a hunter for his Tauren rites of the Earthmother, he would be judicious and careful in pruning the animals of nature, never wantonly dispensing death. The Earthmother is the constant ideal he is attempting to live up to, and obey, while following the dictates of Cenarius. Outer Layer :: he "turns the other cheek" when dealing with hostile words, if not deeds. He fiercely protects nature, and especially animals, from wanton killing by others. Inspiration: Tamsine's Cat (remember Tamsine was the mother of civilization, forget that part and keep in mind her aspect as hearthy, and warm, protective. Tamsine's cat had a sense of profound joy of life. Before you get cat form: get a cat pet. Peculiarities, he is not strongly defined a masculine, and this leads to a certain amount of confusion (which can be roleplayed). Between the Earthmother and so many other maternal aspects of his avocations and his gentle nature, there is a balance between the masculinity and feminity. He doesn't really regard himself as a he, but instead is in balance in this regard as well. This could lead to interesting "outer layer" reveals of who he is and what makes him different and interesting.

Draenei Mage - Ancient Wisdom and holy faith, conflicting with the corrupting power of arcane magic? What about frost? Perhaps he is a mage who prefers frost magics and dabbles lightly in the others, choosing not to focus nor dwell on Fire or Arcane. Apart from the mechanics, magic to him is as painting might be to a master painter. It is something done well or not at all. Obsessed with crystals of every kind, and he loves to wander the halls of the Exodar, both sad about the tragedies of the Dranei condition, and sustained and rejuvenated by the thrumming energy of so many crystals. He is a jewelcrafter and collects all kinds of gems and jewels as well as trinkets that have something interesting to him. He is a packrat, and will put a great deal of effort into finding enough space for all his stuff in bags and the vault. Crystals are the physical symbol of his faith in the Holy Light. Corrupted or Dark Crystals are an abomination to him.

Dranei Paladin - A righteous warrior of the Draenei people, possessing great faith in Velen's wisdom and path for their people. He is a justicar and ardent fighting paladin, focussed on bringing evildoers to justice and aiding the ultimate cause against the Burning Legion in whatever way is most needed. He is loyal and will follow the orders of those connected to the alliance. Not one to question their methods in resisting the horde and the Burning Legion, he will react if he sees evil directly from those who are supposedly friends. He gives the benefit of the doubt, but when actions are taken that cross the line, he is there. He ultimately defers to Velen, and then the leadership of the Hand of Argus, if a dispute were to arise which could not be handled. He is a driven individual, not one to rest much, and he feels guilty when he does at last have a bit of leisure time. He feels the emergency nature of the situation, as he had as part of Velen's forces in the effort to take the Exodar. In his sparse leisure time, he takes in his long-abandoned pastime of cooking. He prefers to cook hearthy, warm and not-spicy foods and deserts such as brownies or pies. He has a distant dream of someday opening up a restaurant in the Exodar if ever the war against the Burning Legion were to end in a good way, but he knows this is only a pipe dream and only dreams of this during times of stress and when he remembers those he has lost, which includes the whole of his family.

Forsaken Warrior - Used to be a champion of Lordaeron, a warrior serving under the King. He was a dedicated servant, following honorable and training hard. Basically he was the epitome of "Human Warriorness" before he became Forsaken. Now battle brings memories and detachment. He thinks more like an assassin, less than a warrior. He is a calculator now, seeking small advantages in battle through the kind of sheer determination that only the Forsaken can have, in order to triumph. Many small advances equal victory. He is not a rash warrior as he once was in his youth. He fights with an eye on escape, and the other on crippling his opponent. He fights because he has fought before now. Being a warrior is his existence now, not a pursuit done for any particular reason. He doesn't yell or grunt or seethe, but merely shows his animosity in his eyes. His eyes alone somehow still show glimmers of life, showing him to be a tortured being, fighting to fight, someday to be destroyed. It's hard to call what an undead being does a hobby, but in his past life he was an avid fisherman, so in mimicry, he now fishes from time to time, taking no joy in the wind, weather, the waters or any of the reason one might decide to be a fisherman. He still says, "For Lordaeron", only now he means For the Undercity of Lordaeron. In this way, he is able to be a Protector of Lordaeron, while of course being part of what destroyed Lorderon during his mindless time.

How to decide:

For the future -

Forsaken Warrior
Gnome Mage

I like these ideas, especially the Forsaken one, but they don't have as much coolness as the others, so I will save them for later.

Left - (Race Class) - What Sets Him Apart

Tauren Druid -- Gender and Natural Neutrality
Dranei Mage -- Crystal Collecting Faithly but Cultish, Holder of crazy opinions
Dranei Paladin -- Ardent Protector / Defender of Draenei People, Was once a Chef.


I decided to create the Tauren Druid first, because I've wanted to create a Druid for a while now, I just haven't got that far along, and I've played Paladins and alliance chars quite a bit, but I think I will be creating that Draenei Paladin next, and then the mage at some point down the road as well
I just thought I'd give some of the criteria I use in judging whether a new strategy game will be worth getting. I'm generally referring to combat strategy games, whether turn based or real time. These are criteria that have made games I've enjoyed work well, and likewise have made games I've not enjoyed suck.

1. Pace of Play - I prefer games that are turn-based (Civ 4), or allow for a leisurely pace of real-time passing (Crusader Kings). I'm not a fan of the real-time games that allow you to stop and give instructions during pausing. I would have thought I enjoyed them, but my experience is, they require you to pause the game constantly to do well, since you have the opportunity to do so, you have to. And this constant pausing breaks flow, which is crucial for a real time game. Don't try to go half and half, basically.

My definition of a leisurely pace of real-time play is one where having a subpar mouse will not cripple your capability in the game. If going to a laptop reduces your skill level by a large margin, I would call that a twitch game, which I don't enjoy because I feel there's no chance to employ strategies.

Most rtses I've played are too twitch for my taste. Some may like that, but as much as I enjoyed Starcraft, the twitchiness of it is why I stopped playing it, while Battle For Middle Earth, which is less complex and strategic, continues to be fun, because its real-timeness is less jerky and less twitchy oh-my-god-you've lost-everything-in-two-seconds

2. Good Cameras that allow viewing substantial amounts of the battlefield. Or a truly convincing first-person strategy game. I've seen plenty of strategy games with a 2d screen, or others with a really good 3d camera that was fixed enough on the field of battle that it never got whacked up. I thought I would enjoy Sins of a Solar Empire but its crazy zoom and camera styles utterly killed the fun. You couldn't get enough of the battle in view at once when zoomed in, and it was hard to even zoom in on one of your own units, but when zoomed out, the game looked like space invaders, with no charm or clear picture of what was going on here it. Show us the battlefield view, and make sure that the units look good at that level. We're going to be spending a lot of time looking at the units at battlefield zoom, so don't forget about us.

3. Tactical or Short-Term Parity, but not Long-Term Parity. What I mean by this, is that I want the battles to be close enough to equal that they remain interesting, but I don't want the game engine to penalize me so much for success that even in the long run all my tactical successes through good skill add up to nothing. I want to be able to win, but only through a series of good yet tactically interesting fights that leads to gradual advantages which eventually win me the game. The problem with the AI is that often they either own you, or you own them, in most battles. There's never a close enough series of battles or struggles to engage you in an interesting campaign. A rarer problem is when you've won a bunch of battles, but achieved nothing, essentially, for your gains. I don't want an eternal stalemate, I want a series of tough battles that are evenly fought but which have consequences which will lead to eventual victory or defeat.

4. Hotseat Play that is supportive of solo play. Civ 4 rarely has tactical parity or even an interesting struggle against the AI. Its a numerical exercise in waiting long enpough and then unleashing forces against them. I've found Civ 4 to be pretty boring for a long time, but recently, I've started a hotseat battle on a duel map, starting at Industrial level tech. Because I'm pretty much equal to myself, the battles have been close and every tactic has counted. But each small victory has its effects, and though the war is no where near over, its been affected by each fight. Civ 4 is a lot more fun this way, partially because of the accelerated start, but mostly because the battles aren't so lopsided. Its a lot easier to get invested in a series of battles where every fortification counts, and where things swing back and forth, with threats of catastrophic defeats going to one or the other party, but both hanging on so far.

I plan on playing a 2 v 2 battle on a Small Map next, playing all 4 countries myself, once again. I don't have anyone to play with, and I'm not into the hardcore win at all costs style anyway. ITs a lot more fun to come up with storylines for each country when you are playing them all. The 2v2 battle should be fun as well, but the current one I'm involved in is entering a phase of Gunboats vs. Marines, which should add extra interest. The countries have differentiated themselves from each other based on previous fights and the paths they had to take. The true effect of strategic decisions is a lot more apparent here than against the AI where the steamroller manuever is the only one needed.

A survey was once done that had an interesting result: most wargamers played primarily against themselves. They didn't have the time or didn't know enough other people who played. I'm just taking this to the next step, on the computer. The AI just isn't a satisfying play experience in the long term.

5. Customizeability and Addons. Nothing helps build a community around a game better than a good implementation and support for an addon system. I've seen tons of good addons for games such as Rise of Wesnoth, Civ 4, and Space Empires 4. Plus, there are often possibilities in the game engine that were not exploited by stock, but great addon or mod designers will unlock the capabilities within and give great new experiences with a game.

6. Interesting gameplay choices. All of the above is moot if the game doesn't have the variety of choices neccesary to make things interesting. You can't make Tic-Tac-Toe into an interesting strategy game, and imho even Chess doesn't have enough variety in its mechanisms to sustain interest in the long haul. I like to see a variety of units, and obvious as well as subtle and hidden strategies, tactics and techniques that can be used with those units. If substantial new techniques and tactics continue to be developed by the player community after the game is released, then I'd say it is doing well. This criterion is all about a game having enough potential to follow its own path beyond the one envisioned by the developers. OCC in Civ 2 (and the trading intense gameplay in that game as well), would qualify. Super-Science cities, Pikeman - Uruk-Hai combo units in Battle for Middle Earth and many others are examples.

June 3rd, 2009

I've been continuing to fill out the design for this minions vs. superbeings game.

I've also settled on the graphical layout for the first version at least. I'm going to make the game in 2d, with visible bullets and effects for attacks, kinda like the old-school NES rambo type battle games.

I want the game to be reasonable fast pased, and I realized superbeings were a lot more interesting and exciting to play so far, so I've come up with something for the minion side players to add some interest there. Minions will have a substantial set of FORMATIONS and MANUEVERS that grant various bonuses and are also useful for quickly moving tons of minions while keeping them spread out appropriately. Basically a leadership system for minions that gives their commander options in how to approach battle.

I've also come up with a strategy mode idea where a large strategic map exists and various battles happen in different places and reinforcements arrive based on logistics, and political considerations such as how successful and how efficient the generals are seen as being with the troops they receive.

I'm thinking of having a wow-like numbered bar of powers for minions and superbeings. This will help organize things, but it's made me think I should max out supers with 10 powers for the top-level superbeing rather than 16 which is what I had originally.

I still have to write the attacks for what should be two interesting superbeing roles, the aliens and the badasses. Brutes have been a bit boring, because I kinda underpowered them I think, and their attacks are close range, mostly single target so not as easy to create something creative and interesting. I will probably end up boosting their power but I'm going to wait and see.

I've thinking about the minion roles now. I wrote down a set of five way back before I got started with designing the superbeing powers, and now I'm rethinking it before I go ahead and write the minion powers.

I'm thinking Rifleman, Engineer, Sniper, Mage, SWAT; but I'm still pondering the options.

May 19th, 2009

The Minions Game Design

Most action oriented games out there involve the hero, you, facing off against hordes of enemies, to the point where you think you must have some kind of superpowers, or maybe you really do. But no matter what, the game involves you being an onstoppable juggernaut. I was thinking about this the other day and I came up with the game concept of a RTS where you play the little guys, who are trying to stop these unstoppable heroes or superbeings of one kind or another, as I called them.

So now I've started working through some design ideas and writing down different powers and such, I've realized, that if I make this game, the player should be able to play on either, side, because I ended up giving the superbeings a lot of cool powers, so it would be interesting to play as them too.

First, I came up with a list of types of minions, but the fun part was designing the superbeings they would be fighting.

But the minion side will be much more strategic, but the minions themselves only have one or two powers each and perhaps one defensive manuever. The key with them is herding them up in large numbers yet keeping them scattered enough to avoid a bad AOE death. I want this to be as fun as playing Command and Conquer: Tiberian Sun on max tech level 1 was for me. I would constant do matches were only basic infantry could be trained (tech level 1), and they revolved around huge hordes doing battle. I want to see a bit more variety in the minions here, but there will be hordes to manage, in a similar way.

Now I've been working through the powers that will make the superbeings tough to defeat. I've written a set of 15 powers so far for Mecha superbeings, and about 9 for Archmagi (including things like Fire Rain and Flood Wave). It's fun just designing the powers.

Once I get the superbeings designed, then I'll take another look at the minions and put together a prototype so I can determine which powers and types of units are way out of whack, and which are reasonable. It should be fun on either side if I do this right. Playing on the minion side will be kinda like taking down a big raid boss in WoW, except you play all the parts. And being on the superbeing side will be like being a major rampaging badass in other games. And actually, I have made badass a type of superbeing, designing good powers for 007, or similar badasses should be difficult,. but rewarding if I get it right.

April 25th, 2009

I've always enjoyed the SimCity series, and never really been interested in the Sims, because I always loved the "system" nature of Sim City. You are building a system which responds in certain ways and there are an enormous number of variables. In my early SimCity Classic days, I almost always went for optimal density and somewhat neglected mass transportation. The 2d maps made it a lot easier to build a grid city.

SimCity 2000 and 3000 forced me to try to adapt those ideas to 3d, and added more dimensions to the city building experience. I probably played SimCity2000 more than the other two combined, as I was tutoring a kid at the time who really liked to play, and I did too, so we played a lot, trying out different things.

I kinda left SimCity behind when it went to 3000 Unlimited, I was into other kinds of games and my play style and ideas about what a game was were limiting the potential of the SimCities. I've heard bad things about 4000, so when I decided to get back into making some cities, I made two decisions. One, it was going to be just one city, until I'd done the best I could with that city, and two, I was going to stick with my old copy of 3000.

I decided rather than just starting, that I would be like an architect and come up with a theme for the city. Of course, no plan survives contact with the enemy, and my theme would be partially compromised as reality entered. The SimCity 3000 system is complicated enough that you can't just go off the deep end in one particular direction and expect the city just figure it out.

I decided my theme was the archetypal residential experience. Suburbia, filled with highways and gated communities, much more low density residential and industry that was out of sight. I checked out a couple of maps until I found one with a decently large lake in the middle. I was thinking about my Grandparent's house in Florida where everyone in the neighborhood was near at least one man-made pond. So I made this lake my first residential community. I built it all low density and filled in odd spaces with trees.

Next I built the industry community a good distance to the south, with access roads connecting the two areas. In between I built a small amount of commercial zones. I connected the power and built water pumps on the banks of the river to the north. I established police and fire protection in both the industrial and residential areas, but put my first school near the lake.

The city sprung alive and I started slowly to expand my residential and industrial areas, while building a tree buffer between the zones. I'd read before that trees could buffer and mitigate pollution from the industries. I continued to built these regions with commerce in both areas, and started to build more schools, police, etc.

Then I saved for the day and took a screenshot and printed it, as I would after every play session.

The next time I loaded SimCity 3000 up, I didn't even consider starting a new city. I loaded Suburbia up and begun expanding some more. I had connected to my neighbor to the south, and now I accepted a Maximum Security Prison deal that I placed way in my outofsight zone. I took a trash deal from my southern neighbor and started building a lot of trash dumps in the "bad area". My industry was a lot more densely zoned that my residence, so while the industry only expanded in space taken by a little bit, my residential low density areas began to expand rapidly to the east and west. Mostly I expanded the homes towards the oceanfront, as a figured that would be a scenic areas for higher valued houses. I broke my Suburbia rules for the first time here, building a small high-density residential area. I had to build another power plant, but soon all my deals were bringing in cash at substantial levels.

I reached the ocean and built a neighborhood there. But my connections to the bad zone where back by the lake so I had to build new roads connecting to the bad zone, but this waterfront was a bit closer to that area, so I built my Great Wall of Trees to block out the sight of early 20th century industry.

I continued to expand down the coastline. This was fun, seeing a city vision slowly unfold. And I built my first marina for the locals. Now they were living in style. Then I built another marina a little later on.

I saved, took a screenie, and continued a few days later.

City building was beginning to look expensive. I had to build a water treatment plant (15 thousand), and my roads were getting congested so I began building a subway system, which turned out to be horrifically expensive for a city the size of Suburbia, but I persisted until my city center was done and then abandoned further development of the network. I would resume building of this subway system much later on, on another day.

I saved up for a Military-Industrial Complex, 75 thousand dollars, to go with my army base, and not much later on I built a sports stadium at the incredible cost of 150 thousand. My city was started to really grow into an "city", but the Suburbia feel was starting to fade. I had built the east up as a low density paradise, but in the west and the center of the city, it resembled Detroit or some other heavily industrial wasteland.

My first improvement in many to come, on the wasteland front, was the process of beginning to replace now aging coal power plants with cleaner but more expensive natural gas. I saved again and took another screenie. My city had reached 150 thousand people.

Traffic problems had become a number one issue again, despite my subway system. I had grown out of it, and I decided that the system was not appropriate to the vision of Suburbia, so I didn't grow my subways any. Instead, highways had become available a number of years ago and I took advantage of that by starting my highway system in the northwest, near the confluence of river and oceam. I slowly paved my highway towards the east, building offramps and connecting roads that went back into the eastern suburbia area.

In the west, I began to build. There was a lot of space out here, so I started a 16 by 16 grid concept which was supposed to represent a gated community with some kind of water or forest or park in the innermost parts where residential zoning could not be done. It looked cool, and it was a good contrast to the highly non-suburbia looking road network that filled the rest of my city. I had dealt with natural borders everywhere in the east. Weaving around water, around the "bad zone", and that initial chaos lead to a highly strange road network in the area. By contrast, my new developments were highly regular. Schools and a college, fire, police and hospitals were placed around this new cluster. I even built a 16 by 16 area dedicated to Commerce in the central block.

I built a seaport in the east, which quickly became insufficient, so I drew up plans for a lot more space for another one north of the first. I built a road but only gradually zoned the area, so that as demand rose I could respond. There was an airport built in the middle zone between the western residential region and the southwestern industry area. I began building gas plants in substantial numbers to replace coal and oil plants, and to cope with growth. My trash dumps had to be managed and required increasing zone, and I was beginning to consider backing out of that deal when the opportunity came.

I continued to develop my rail network to the industrial regions, and connected my rail network to the north, adding to the south and west connections. At the end of this session. Nuclear power plants became available, and I built my first one in an out of the way area in the southwest. I was about to get rid of 60 year old cold plant as a result. Nuc plants had so much power that they could easily keep up with my rapid growth rates.

There was the danger of contamination, and I had rarely ever used them before, but I decided to try to keep a very active eye on their state of operations and make the gamble for the sake of cleaning up pollution. Even since before the beginning of this session, technological clean industry had arrived at my city in small numbers. This process was continuing, and I hoped this would help turn my air even cleaner.

Here was my screenshot. My population had only increase a small amount, but my services and infastructure were much improved.

Finally today was my most recent session. I continued replacing old power sources with nukes, and even Solar Energy as that came online towards the end of my session. I decided since my city was getting so big, to start printing it out on 2 portrait layout pages rather than 1 landscape, and it looks much better there.

From session 3 to 4, I gained only 10k population. In this session I gained 140k population. I continued developing my highways, and also built the rest of my seaport, and built a new airport area near the seaport. I assigned a section for the airport that was fair larger than my current needs but I continued to expand it as neccesary.

Commercial demands were a thorn in my side the whole session. I built the highway with some gaffes that required ripping out sections and rebuilding but finally I had reached the westernmost point on my residential development and headed south. My highway split there, with the western branch making a city connection. This got the commercial advocates off my back. I had left an area between residential and industrial regions free for the highway, and so I was able to connect the highway in that spot, providing excellent access to the highway. This also gave me a good place for new commercial zoning, and for very highway suburbia style residential zones.

The original area where I had built the large residential districts grew quicker than any other part of the city. Its closeness with the highway network was significant and the city grew around those highways.

I ended up building two more Nuc plants and several solar plants, and was left with only Natural Gas plants from before the Nuclear revolution. And finally, after many years, I expanded the old subway network, developing it towards the western region which was becoming an increasingly important area of the city.

I built a stock exchange near the highway in the east, and I had begun to build more high density commercial and residential areas. In some ways the city was more suburban with its highway system and yet there were more rental high density areas than ever before.

I think by the next session, everything on the south side of the river will be developed, and I will have to think of how to manage transportation infastructure between the two sides. Three hundred thousand people is a lot of citizens. In between growing the city at such a rapid pace, I managed to do many other good things for the city.

It's 1995 in game, and the Maximum Security Prison that was a staple of the area for so many years is gone. The trash deal that overburdened Suburbia's dumps is gone, and nonetheless, the city is more fiscally sound than ever before. Pollution is at an all time low.

Despite this just being a game, its amazing all the things you can do to improve the city you build, and the structures that endure for the life of your city.

Here is the latest screenshot:

Powered by