Sunday, July 31, 2011

Some gaming procrastination

With this weekend experiencing temporary hiatus of tabletop games I've been bothering a few friends and looking through my video games. With this I found an old gem of megaman battle networks.

It's almost embarrassing to say that I enjoyed this game. With the most silly and horrible of plots to make those some of those bad kids cartoons look outsandingly written, I can't help but like the actual game aspects of it. I don't know how well it did when it was released, couldn't care really I don't even think I got it when it was released. I just had heard some rumors of how it's system worked and thought it would be worth investigating years ago. Megaman battle network is a strange idea of collectible card games and RPG with just a hint of action. Not being familiar with megaman games any wonderful cameos or even what the enemies are called were and still are completely lost to me but I know how much I love to hate their incarnations here.

First things first, a brief description of how the game works. Two 3x3 grids are set next to each other. At the start of the "Battle" Megaman can move in one and the enemies in the other. There are a few effects that change this but that's not really the crux of it. After that you have "chips" to send to megaman to use. Chips being a funny refluffing of cards as this is a digital world megaman is going around blasting viruses in. The chips are one techincly one use items that give an effect, usually being some sort of attack or healing effect. You hit a button and use them in a first in last out order. Beyond that you have the megabuster to fire about when you're not trying to get in the major attacks. There is effectively no stats in megaman battle networks, you have your HP and can upgrade the megabuster but that still isn't making much of a difference compared to what a use of a chip can dish out.

What really makes the game go around is the deck making, drawing, and playing system for the chips. Typical arbitrary must have 30 chips in a deck to use megaman. After that you get 5 random chips, these will stick with you if you want them or not, use any number of them and they'll be replaced next "turn". Turn being  a very loose sense, it's some timer that you can even ignore but once you hit a button you can play with the games drawing mechanic. If you don't like the options or want to go for something more advanced you can choose to have megaman not have any chips that turn and get 5 more chips up to a maximum of 15 to choose from. Catch is turn after you send any chips to megaman the ones that are not in your first 5 go away and you have to start waiting for more again.

Sending the chips to megaman has some wrinkles to it. You can send any number of the same type of card (canon, heal 10, sword, ect) or cards of the same 'code' which is just an alphabet letter. Two can't quite mix and match you're sending it type wise or code wise. This makes the wait for 5 not a bad idea with all but the first five vanishing. You'll usually be able to get 3 chips for that turn which is usually enough to end a random encounter. This leads to a lot of deck building ideas, if you have too many mixed codes you're just hoping for the same type of chip to show up leaving you buster dueling generic enemies when you don't have to, or boss situations where your healing item is out of code so you're once again buster dueling and hoping you don't get hit.

Speaking of getting hit, Megaman battle network is actually avery actiony RPG that is worthy out of what I've seen of megaman games. You move around the grid avoiding attacks at the same time trying to get the chance to fire off one of your chips for massive amounts of damage. Otherwise you're buster dueling by mashing the button for the blaster and ticking off 1 HP of 50+ regular enemies or 600+ bosses. Bosses have a varity of gimmicks that their attacks are based on. They all have a tell though to watch for so you can avoid that big attack coming at you which are not just straight up how to dodge ideals, very fun and actually made me like action based RPGs again in a long time. Even if it was silly and I hate myself for reading the dialog. If I could find a game with a similar different take on active time battle RPG systems and not have a plot or presentation that makes my brain hurt I'd be ecstatic.

So a question, anything you games you guys hate to love? Or just ones that you have to break out of the closet every once in the while to rediscover how much you enjoyed it?

Friday, July 29, 2011

Emptying the stack

A few days ago I did a look through my book collection. I didn't quite finish the stacks and while it may not be the most entertaining thing I'm finishing going through. Though it did seem you guys kept a lot of your old books so I don't feel so weird with my mini library anymore.

First of the left overs: Discrete Mathematics and it's applications by Kenneth H. Rosen. Fifth edition hard cover that ran me 99.60, they love these high priced math books. This one of my more hated books. Discrete mathematics was a class all CS students had to go through. What's so important about it? Learning that big numbers are a bad thing. It also has some proofs and logic along with other staples but the real reason was to tell you about big O notation. Looking through the table of contents I see some graphs, trees, Boolean algebra, and modeling computations but none of that came up in class as far as I know. I don't even know much of what I did in this class but I passed it somehow so that's the most I'm going to do for tying to remember.

Second here is : Operating System Concepts by Silberschatz Galvin Gagne. The seventh edition of the series, a hard bound book with a picture water color disnaurs on the cover with electronics running me $93.75.
I wasn't kidding
This is a wonderful story for me to tell. Operating Systems was always considered one of the best classes for students to take. All the stories were of our teacher we all knew finally took us through the nitty gritty of an operating system and we even got to make our own based on a Linux frame. Yes it was a class where we made our own, if primitive, OS. This was a subject that fascinated me even when I got to play with old languages that had register based variables such as BX. But I didn't get him, they had switched up the program by having an old school person who was a TA teach it. This seemed fine, this was a person who was actually in the business with IBM projects and a few other companies where it seemed fine. He was in the process of being intigrated into the school as the CS department only had 3 real professors in it, the rest were math guys who taught low level classes.

It sounded good at first but this old guy effectively had us do high school reports for how some theoretical systems operated. We didn't once touch code or did anything I can remember due to not actually doing anything. It felt like one of the biggest wastes of time in that class, the work I was the worst at memorizing things that are in reality related but do to just memorizing them and throwing them down on paper I can't see for the life of me how they weren't. This was not the worst of it though, this was a very well spoken older gentleman with opinions, and a class he could give his pearls of wisdom to. One of them being to learn how to shoot a gun because the government is going the wrong direction. On top of this how people should quit eating meat, watching TV, listening to radio, or engaging in any forms of entertainment besides seemingly going out to hike, exercise, or traditional family get together around the (vegetarian)BBQ he could do it in such a way you would feel like filth and the downfall of society for not already doing it. Being such an outstanding sounding and looking guy it was hard to avoid that unless you learned to tune it out, which with a professor wasn't something you should do. Now Profs often go about things outside of class but it's usually stories, he is the only one who told us how bad it is to do things.

Rarely did anyone complain as well, he was the professor. Only one student I know of that I worked on a project actually took up to attempting to argue the "violent video games make you bad people and you should feel bad" debate which became an argument of anecdotal evidence and both of them bringing up "studies" to disprove the other. Not the best of times in that class. I had to take one more class from him where it was mostly out of class working on a team with the rest for projects for an out of school project so it wasn't bad. I do hope he tones it down for future students, he knows his stuff but he's not there to be a life coach or a lifestyle preacher.

With that we're to the last book of: Fundamentals of Statistics by Michael Sullivan, III. Soft bound first edition book, came with a CD and was only $65 even. I believe that this is the only math book that I have that doesn't' include an edition and was the cheapest to boot. This is the only field of math I like. I was honestly surprised to find out how much I like it. I may have forgotten most of the advanced things I use but a lot of the principles I use when determining if things work in a game. I may actually give this book a reread sometime.

Wait it's not over, upon looking through the books I discovered my dirty little secret. I have books that weren't class related for classes I've never even taken. Prolog Minimanual, PL/I: Structured programing and problem solving, Data Structures in Java, C++ classes and database structures, Fortran77 Language and style, Introduction to pascal, Computing concepts with java essentials, and Compilers principles, techniques, and tools. A long list but not a single cent was spent on these. The funny story was I hung around CS professors offices so much I could catch them with these stacks of manuals and such that they were throwing out, and I would gladly take them off their hands. I think it went to the point that I was pointed from one professor to another to pick up an outdated book. The worst part is I have not cracked open a single one of these, one is actually still in shipping shrink wrap with the professors address on it.

This isn't even all my books but beyond revisiting this idea with the books I don't care about I think I'll call it done for now. So on a minor related thing, do you people out there have any classes you remember fondly and/or hate?

Thursday, July 28, 2011

Bugs and coding

Bugs, from this lovely site for getting rid of them
So after yesterdays coding tutorial I decided to work on combat project. It was a very fruitful endeavor in one way. Discovering horrible horrible bugs.

So I was working on spirited attack idea. It was an effect that happened when you attacked an opponent and manipulates their attack pool. It plainly removes the highest die that is under twice the edge you spent. I was going to allow multiple purchases with it, but for purposes of getting this done it's only one die at a time. Still if you pay enough you will get 1 success, possibly 2 removed from their pool which is very useful. Latter I'll put in one of two systems, multiple values to keep track of just how many dice and the values you are trying to remove or allow you to take multiple dice of the same value. Second one is easier to program in some regards and I like how it forces you to choose what dice to use instead of throwing as much edge as you can per turn to pick off dice. Either you choose to stick with low numbers and risk it taking no dice out, or you pay a lot for higher numbers.

This said it was looking good and I implemented it well. A few problem like not actually reducing edge points  a few times an a math glitch but nothing major. This was until I saw how the hit system was working.

The current system is that attack value and defense value is tallied between the ones engaged in battle. This is done by calling some methods with modifiers to the TN number on both sides and simply using subtraction to see who won. So it goes attack_success = attacker tally - defenders tally, if attack_success is greater than 0 it's a hit. Everything seemed fine until I looked at the method.

methods can pass variables by putting it in  between brackets. If you've done some math functions such as x(y) comes to mind. In programing you can stack this so x(y(z)) can happen. I made an error of forgetting a bracket running the code and getting an error saying I forgot a closing bracket, mindlessly looked at the code and slapped it after the defender tally method, containing it with the modifiers for the attacker method. This effectively made it so that the attacker was getting a bonus chance for extra successes based on how well the defender defended. A big whoops and invalidating a lot of how I thought the system was working.

So that's fixed and I'll be double checking it more, I may also think on solving some menu problems soon, because hitting enter a few times to skip over edge when I don't want it is anoying. One solution is to make a variable to serve as a flag if the user through the edge command sets it, without it set edge donation won't appear, but that seems rife with possible annoyance if you forget to set it, then after you get your edge you want to unset it. Possibly not the most elegant solution. Since I am using terminal based prompt I could include the flag in choice typing. Enter the action selection followed by a  - and you skip edge. That is for later though, I have to see if my system is fundementally broken after bug fixing though.

Wednesday, July 27, 2011

Variable Fighter : playing with snakes part 2

I feel in a programing mood today so I'll be continuing the playing with snakes post I made a few days ago. Last time we played with some input and output in the shell. Today we move onto some variables garnished with a little scope concept.

First thing first, if you hated algebra this is like that only you don't have to solve things. You get to say what x is and everything else bends to your will. Though if you name your variables x you are going to make anyone who reads your code cry. So first thing first there is a called typing for variables. Where a variable is of a certain type, such as a string or int we used before. In other languages you would need to declare variable types, for instance in C languages you would do things such as 'int your_int" or "string your_string". Once the type is declared it won't change, if you try to assign something else it'll cause an error.

Assigning is the basic point of a variable, just having a type there makes it sort of pointless. It's very simple and as I said before like Algebra but you get to say what x should be. You simply have your variable and put '=' after it followed by what you want the variable to be. It's horribly hard to for me to explain it, so I'll have you do it, and you'll see it.

So get IDLE up and running and type the next few things.

name = "bob"
age = 20
print name
print age

More lines of code than I've ever had you done yet. Before we did everything on one line, now it's over multiple lines. You assigned "bob" to name before you assigned 20 to age and yet when print was called with name after it bob was printed, same with the age variable. This has something to do with an idea called scope. Scope is where variables exist, and where they cease to exist, but I'll get more into that later. Next I'm going to show scope not working.

Please type the following

print date
date = "July 27, 2011"
print date

Didn't work out did it? We got the wonderful red error. Yet we were able to establish the we assigned a string to the date we were able to print it out. Before the point in time where we enter 'date = "July 27, 2011"' nothing exists for date. Nothing. Anything referencing to it before we put that line down it a horrible thing that will cause your program to fail. The only reason we were able to keep typing is because we are running everything in the IDLE shell. If this were actually run as a stand alone program through the standard python interpreter you would not get the second print date to fire off, it'd be dead at the first one. While not a hard concept it'll creep up to bite you sometimes.

Now onto the next thing. Variables are reusable, they don't disappear after you use them once. For instance lets show off name and age again in a worthwhile manner with a little string concatenation. Please do the following.

print "Hello my name is "+name+" and I am "+str(age)

Just like before the str method attempts to turn anything into a string as only strings can be concatenated together. Now lets move onto the next part. Variables are well variable, you can reassign what they contain at any moment. For instance the following.

name = "rick"
print "Hello my name is "+name+" and I am "+str(age)

Bob has magicaly become rick. Now that was fun, lets change his name to Ron.

age = "Ron"
print "Hello my name is "+name+" and I am "+str(age)
fun fact I did something out of order and this is hiding it

No that was not a typo. That was an example of python not caring about type when it comes to variables when it can attempt to process them. Any variable name is fair game to be changed to any other variable type. This can cause a lot of debug problems. Like if you think you correctly changed a variable but spelled it wrong, it just makes a new variable in scope instead of replacing the old one. It'll become a possible pain when I get to objects later but I think this is enough for right now.

Next time I'll introduce the concept of methods so we won't have to type, or copy paste, 'print "Hello my name is "+name+" and I am "+str(age)' so many times.

Tuesday, July 26, 2011

Odd monday and books.

Coming off of my weekend house sitting I had a few things lined up for Monday afternoon. That easily snowballed into something that left me in poor shape to try and give a post so I figured it was better to skip. Today however I'm a bit less tired from running about.

Today is a little different than usual due to me searching through my old college books for a seemingly absent book. It was an AI class that I took for giggles and dropped due to my minor devouring all the time I had. After looking through a few times I realized I saved a lot of books from the CS field. I never sold back any book from a class that I could get 100% back from, for the most part the bookstore on campus would rip you off on selling back, 5% I think was the most you could ever expect. I usually bought from the bookstore due to horror stories of not getting my books from online sources in poorer condition that advertised to the point that buying books was less of a problem. I still think it was slightly stupid to due but I was burned. With that said it may be mildly entertaining to see just how many CS degree books I was required to get, mind you for the most part Computer Science was a very book lite degree, I didn't have to get much and even had to just buy 2 buck print out packages for some classes or nothing for others, never so in another class.

First up on the stack is : Data Abstraction & Problem solving with C++ by Walls & Mirrors. The Fitfth edition for edition wars. Sticker says this was a whopping $98 for a used copy, ah college books. Book is soft bound and probably enough to bludgeon a drunk frat boy to unconsciousness with if you tried. It weighs in at about 970 pages. At first glace I remember nothing about this book. Though looking inside this is obviously my object orientated design class book. Data structures and a laughably brief list of C++ keywords and statement syntax. Lot of basic things that I could probably look up again for refreshment or some more obscure structures I never actually studied in the course. As most college books go you only look at less than 20% of the entire thing leaving you with something to do if you get all your homework done.

Second on the stack is :Computer Networking A top-down approach featuring the internet by James F. Kurose and Keith W. Ross, the third edition of it. This is a nice book actually hard covered with some inexplicable monochrome photography of a bridge with red trim and background on the tittle to make it pop out. Cost me a whooping $87.15 for a used copy of this roughly 820 page book. It was used in my Networking class, had lots of protocol information and ore than a few code examples if I remember right.

Next is : Introduction to Logic by Irving M. Copi and Carl Cohen, the twelfth edition of the book. This technically is a philosophy class book. The wonderful thing though is that it was one of the required courses for the degree though being a CS student I did quite well in the class as there isn't much difference between programing and the wordplay logic that gets used here. Another hardcover book though this one is beat up, features a nice mobious strip on the cover for whatever reason and ran me $89.95. I thank my student aid nightly before I go to bed.

These next ones I'll just group in order : Precalculus Mathematics for Calculus by James Stewart, Lothar Redlim, and Saleem Watson the Fifth edition a hardcover book actually missing it's price. Trigonometry By Lial Hornsby Schneider, Eighth eidtion hardcover that cost me $80 even. College Algebra by once again James Stewart, Lothar Redlim, and Saleem Watson the hard cover 4th edition book that was $89 to get. First thing first, I'm bad at math. I may be slightly better than the average person but I'm horrid compared to what most of the CS programs wanted. I came in doing College Algebra instead of Calculus for instance, I only got out of calculus when I found another degree in the CS department that didn't need it. Second thing, math books and other intro level books love yearly editions. These are the money makers for the college book publishing industry. There are things called electives in college, a thing that you are told is required for you to be  a better rounded more knowledgeable person, which would be fine if credit hours didn't make these books seem cheap. Mathmatics is a popular one along with intro to subject books to reprint with minor changes forever as the school is happy to buy them up and resell them to their students at full price who now can't use the previous edition sitting in their bookstore used. Very skumming inner workings there but it's how it goes.

Well I just noticed how horribly long this is and will save the rest for latter this week.  Looking at the rest of the stack I have a few books where I can tell a few interesting stories with. While I do complain about these books I like having them around if only as some tactile reminder of the college days, and something to look through for information. So a question out there to anyone who stuck with me this far, do you have any books you just won't get rid of?

Sunday, July 24, 2011

Strange weekend and updates.

So cat sitting is done. A little late in posting this because of some things that went on though. Between hot weather, randomly going to family dinners while still being an hour round trip, phone tag, and the usual weekend plans not much done as I thought. Either way progress is progress.

I have put in the ground work for the Edge abilities. Edge abilities use "edge points" or whatever I decide to name them later. You gain edge points by taking dice out of the pool rolled at the start of each round. From there you go about as normal distributing points to initiative, action, and defense. I have two currently in the list, armor breaker and "spirited attack" but only have armor breaker currently working.

Had a long list of debug problems that popped up and while stupid were not easily solved. Mostly my fault do to me putting down a lot of code without setting up something to test it, so a few mistakes compound and become somewhat  harder to find. Anyways a bit about the idea of the edge system.

The edge system is yet more tactical choices in battle. The thought is that if used properly it can let a well thought out battle plan take down a powerful foe or allow a character to lose less resources through battles.I don't quite want this to be a "spam your largest move" system but still have some major effect in game. So the edge points starts out empty at the start of every battle, filling up the pool is risky as it takes away from the rest of your pools. In fact you could fill up your Edge points quickly if you leave yourself vulnerable which adds to strategy and risk vs reward thinking. Currently on the idea list are punishes abilities and general pool manipulation abilities. Punishes abilities punish the opponent for choices in defense or attack, so if you think you have the foes strategy down you can tear it apart. Though since this isn't a player only system with a little AI I could possibly keep a player on their toes if they try to abuse certain aspects. The other is pool manipulation, at first blush I have two ideas for it.

The first like Weapons of the Gods idea of floating the dice into the pool seems natural, though it may be a little too powerful with no restriction so I'm thinking more on that. After that is modifying the enemies pools. The one I'm currently working on is removing one die from the enemies defense pool of a value equal or less to half of the edge spent to use it. The idea being that a large storage of edge could leave an opponent defenseless for a turn but may be too unfeasible to do it correctly. As these pools use 10 sided dice to guarantee you remove a die from the pool you have to bet 20, if you knew exactly how much the AI puts in their pools you would have to bet 20 per die. No refunds of any sort if you only remove 1s from their pool.

Armor break is currently a type of "punishment" move. If the enemy is using the block defense choice it'll give a better chance for extra successes for the attacker and make it harder for extra successes. Currently costs 5 edge, meaning you have to remove a 5 or higher dice from your pool for the edge pool to use it. This may be making it too powerful. As it stands I've seen it take out the opponent in one good hit more than once. With a little planing I can do it on turn two which isn't something I wanted. It's part of the fact that successes translate to extra damage but it's also because of how cheap it is. There is nearly no risk unless you roll a pool with no die individually being above a 3. So some more work needs to be done.

Though as it stands the attack tags I'm using are working well. Currently when an edge move is selected it appends it's tag to the end of the users attack_tag list then the attack method takes care of searching for them in the right spots for their effects. At the end it empties the list so there is no chance of accidental repeats. I mention this as I have in the past used libraries or regular variables to check to see if they were set, and each individual one had to be zeroed out through a method. I'm unsure if it's faster that way or not right now but due to the fact this isn't a simulation any inefficiency will be negligible hopefully. Either way I should keep an eye on it.

Friday, July 22, 2011

Weekend with cats

Just a short post. I haven't done much to note today beyond get a quick call to house sit and take care of some cats. Taking a few hours to coordinate the efforts and go over a few things that need to take care of and I'm here. It's not much of a problem for me as that with the renovation of some bridges it takes longer to get to said house.

Though to make this more relevant I am going to be working on Combat Tester a bit. Going to include the first series of Edge abilities. First being the armor break one and then maybe a bit of dice pool manipulation on the opponents side. The main problem I have at the moment with the dice pool manipulation is when it goes off. I am trying to keep it open for future developments of including multiple player controlled characters and enemies.

Thursday, July 21, 2011

Reticulated programing: playing with snakes part 1

Well for a change of pace some hopefully useful or at least intriguing information if people were ever interested in programing. So with my current weapon of choice I present playing with snakes.

Image via this website

So as I like to be goal orientated to go about things we're going to make a very bare bones terminal based RPG that my friends had dubbed a long time ago the Fighter RPG. Very basic, no real options, you get to level up and chose some stats to bring up and maybe use some potions. Sounds simple, but programing it is a bit of a challenge.

First things first, you need to download the Python interpreter. For the purposes of me not having to read up on version 3 go with version 2.7. Though I doubt it'll make a difference. I don't believe version 3 broke a lot of code.

For this post I'll just stick with basic output right now. Since I'm not doing anything fancy everything is just text. 

After it extracts and you run it you'll be greeted with the shell. Which will be where we will play with today.
snake skin
The IDLE gui will work well enough to program in and it will give us some syntax coloring. Though in my experience that'll be erroneous sometimes though it'll at least show that it's an important keyword. What that means I'll get to later. For now I'll show the neat thing about interpretive languages. Right now you are able to input code and Python will execute it. For the age old starter we'll do the age old "Hello World" 'program'. To do that you'll need to type the following.

Print "Hello World"

After that just hit enter and it'll execute. You should notice Print and "Hello World" were different colors. Print is a command in the language while "Hello World" is a string, for now we'll just denote strings by the pairing of " but it can be done otherwise. Anything between the two "s will be counted as being part of the string. Print will try it's best to print out what's following after it. For instance you can print out the result of a math function. Try the following.

Print 5+4

You get the obvious result of 9. Now for a tricky part, in most languages there is a concept of  Concatination. Where you are able to combine strings together. To show this off try the following.

Print "Hello " + "World"

The result is the more complex version of Hello World above. What happens is effectively string math. It takes 'World' and 'adds' it to 'Hello ' to produce 'Hello World'. There are other math commands that python likes using with strings but I'll save those for later. Though speaking of math, what happens if we wanted to use numbers with strings? Like print out #1) for some innane reason? Well lets try it.

print "#"+1+")"

You got a big wall of red text there. That's an error, the interpreter has met with something it did not like. In this case I'll skip letting you figure out the horrors of that message and tell you what went wrong. It's an annoying part of python to me but you can not straight out concatinate strings and numeral objects. You have to convert the int, I'll explain what that means later, into a string. So to do that.

print "#"+str(1)+")"

No ugly red text. str is an inbuilt function in Python which I will get into later, all you need to know is by placing something between the brackets it'll try it's best to make it a string. Though this is an academic case, if you knew you were going to need one there you could have had it contained as "#1)". I don't know the best way to explain this but when it's in a string, it's in a string meaning when it's surrounded by "s it's seen as a character and not as a potential number by the interpretation. So you should have something like this.

I think this is week 1 of a computer science course in a nutshell

And I'll leave that as it for today. While not immediately useful it's a glimpse into programing. I may take this to completion faster if anyone is interested though it'll serve as something I like doing, showing people how to program.

Edit: Forgot to briefly touch str()

Wednesday, July 20, 2011

Switches and ores

I was going to do a boring programing tutorial or possibly talk about skills in games but then I realized I had minecraft.

Recently my friends have started up a Survival multiplayer server on a friends machine. We have messed around a few times with it so far and finally starting to do a "proper" mine. By proper I mean it's half a days walking distance from the main base. We've had plans in the future to set up a rail system and various other thigns and I relized that only one of us has the basic track system knowledge and has trouble with redstone. So I've spent the past evening and this morning messing with tracks and rails.

First thing I learned is that like the Gel water physics redstone is weird. Very weird. I knew a few more things than the friend who practically went mad from trying to make a giant piston gate and it still gave me trouble. Second thing I learned is that cart piston physics are weird. Third thing I learned is that there was complete destruction of the old pez dispenser system for minecart storing stations.

In the past minecart had a weird quirk. If a minecart passed another minecart next to it both of them would go to top speed. It allowed for long distance transportation via booster stations where a single track was laid out with a minecart placed in it with hill climbing tracks on both ends but ultimately the cart would hit a block and come to rest in the middle. This allowed the real cart to come by get "boosted" by it and have the booster station cart go back and forth a few times until it came to rest roughly in the middle where it could assist in another minecart going in either direction.

In previous versions where this worked you could make something called a pez dispencer. Minecarts have some physics to them, they'll sit on top of each other, so naturally you make a tower holding a half dozen and the bottom one sits on a half block. when needed you'd press a button and do some magical track switching to send a cart that was in a perpetual motion boost loop to come by force the stacks bottom minecart off it's half block onto some track and sending it up to you.

The days of that are gone though. In one of the recent patch updates he added powered tracks which completely remove the need of such weird quirk booster physics. I didn't miss it as I had not do much beyond make a perpetual minecart mover. Though upon trying to do some tricky piston things as I realized pez dispensers didn't' work I noticed something. When a minecart is hit by a piston it loses all physics, all the rest of the minecarts collapse into it and lose physics too. So you have 6 minecarts occupying the same space and time on the track causing very strange things to happen including teleporting through walls and overshooting tracks. If you understand minecraft you can see I sort of fixed that. Though I don't quite like the way, it doesn't' seem as elegant as the old pez dispenser.

Another thing realized was that powered tracks work via increasing the direction of movement. Push or drop a cart on them and they do nothing. In fact even the direction of the push does nothing as the object does not gain a movement direction, the piston just constantly updates it's coordinates. Leaving level powered tracks kinda useless. In fact the only way I could reliably have powered tracks work as boarding stations is if they are on a hill, which is just odd. Either way it seems I have some solution to the problem at hand and am still working on it. At least unlike my piston staircase for minecarts a mine art station isn't going to be messing up anytime soon.

Tuesday, July 19, 2011

Prognosis Terminal.

For a change of pace I think I'm going to talk about programing. In this case about the Python language.

All rights to Python belonging to Python Software Foundation and all and is quite open source at the moment.

With that hopefully leganise fulfilling line I have to say I like python. During a class called principals of programing I was introduced to this little language and was both astounded and annoyed by it. To this day the feeling hasn't changed much. It's easy to get on any computer and for most applications of it you don't have to download a bunch of dlls or development kits to work with it. It's also very easy to program in from my perspective at least. I've used it almost exclusively for a while now as I haven't been bothered to get anything more complex than it. It gets my simulation data done and I don't need anything heavier at the moment.

Though it does raise some ire in me. For one it uses white space to separate blocks of code, may not mean much to the laymen but when I have a scroll horizontally to see what I'm working on it gets on my nerves.
I really should use spaces but they look ugly

Granted this is a very messy nested loop that I possibly could have done better through diving up the load in different methods but it was a quick dirty Monte Carlo test, along side some actual expected averages,  I wanted to get done. The next on the list is a blessing most of the time until it comes to debugging. Python being an interpretive system does not care about variable decleration or even type until it tries to do something with it. More than a few times I have been stuck debugging a misspelled variable that was oddly another variable of a different type while looking for a logic error.

Another down side that doesn't quite bother me is the GUI or visual portion. While it does have an inbuilt one of TkInter though I question some of it's practices. Though I'm not much of a visual person, terminal output and input is often enough to acomplish what I've done. Most of this is easily remedied if you know what you're doing visual wise or even if you hunt down some modules to expand python. Eve online is made with python if I remember correctly. How much python is hard to say, I have never looked into the guts of their system files to see if there would be any reconcilable extensions.

Hmm a bit short. Maybe tomorrow I'll try my hand at making some sort of python tutorial.

Monday, July 18, 2011

High heat and goalposts

Living in an area known for cold weather and white outs does leave you quite vulnerable to heat waves. Also having no reliable mode of transportation exacerbates things. The past weekend was the start of the heatwave up here so it's been a bit of suffering, combined with the fact I did a little leg work for job hunting I'm quite beat today. So short post but I have done something more than make a post about hot weather.

Soldiering on though I started putting in the ground work for the "edge" system. While not thrilled with my first draft of it I'll work on it and see if anything else shakes loose. I have it set up in the ability to accumulate "edge" that can be spent as a free action for effect. At the moment it's just a trivial check of activation but it's enough to show me bugs aren't popping up at the moment. I know they are somewhere deep in the recesses of my code but they haven't been crawling on the floors yet.

My first goal is to put in some of the opportunity skills that can make fighting blocking or guarding foes easier. With that I'm going to have to change up AI a bit, so seeing enemy X does not mean "drop at least X points into edge and spam armor break". I had the thought of taking some of my AI programing ideas and applying it for this but it would be far too early and complex. After that I want some dice pool manipulation, I have some rough ideas that I don't know if they are overpowered or not, but that's what testing is for.

Saturday, July 16, 2011

Critical development

So with some basics placed down for Combat Test and am not quite satisfied. With thinking on this I figure I could chat about design choices in games. Better than a story that may not be quite as entertaining as these rants.

So you always have two choices when you want to add something to a game. You make a new system entirely or you modify a system you already have. This is just my personal opinion but modifying your basic system is more appealing to me. I've run into games where you had to know one too many systems that weren't related to anything else. A common one that's been showing up a while is minigames straight out of the flash that are completely separate from everything else involved in the game but have seemingly become a staple. For the first few times they seem unique and even entreating though it wears thin.

Newer Pen and Paper games have gone the opposite direction, they seemingly rarely go away from their established main mechanic in any situation. The olden days they had tables upon tables for how things worked. It was quite a mess of referencing and hand waving. While I do prefer this sort of approach a bit more variety could be worthwhile. The image at the start of this is quite a few examples of taking a mechanic and changing it slightly without actually changing the final outcome. You roll the die you get a number and you use it. It still does the same effect though it's 'different' for better or worse. In fact there are times where the worse mechanic for the outcome is there to balance out some reward for it succeeding.

With that said I shall dive into what I'm using in Combat Test. You choose an action primary an attack, then go about rolling a pool of dice. From here you distribute these dice to an initiative pool, an action pool, and a defense pool. The action you choose could modify these a bit but for the most part success are counted like this; 1 per dice in the pool then 1 more for each die over or equal to the value being tested (attack value or defense value both defaulted to 7 right now). Performing an attack for instance causes you to test against attack value with the dice you allocated to your action pool earlier, the AI tests defense value with the defense pool it determined, if your attack is higher damage dice are rolled and you go on. The entire idea of the system is that you can't get everything, you want more attack you sacrifice defense and initiative for it. Right now Initiative is kind of pointless though there are some weird things the current system allows for it namely guarding for two turns if you go first on initiative on the first turn then go second on the following, it's somewhere between a glitch and a standard  idea as the guarding status ends when your next action is executed.

The current thought is to add things like feinting or other techniques like stunning possibly while using the current system. Though that seems cheap though not as a cheap as my other idea. An idea taken form Weapon of the Gods was to have something of an "edge" pool. By taking dice out of your pool before assigning it to others you increase edge. Basic thoughts right now is spending that edge to cause the possibility of less successes in the other pool or thoughts on things such as reducing armor if the opponent is using it. Though like magic this seems a cop out.

So a bit of a standstill on this lazy hot day. Though I have managed to fix a few more menu things and take out a bug or two so some progress.

Friday, July 15, 2011

Knowing your Lim f(x) = L

Wow, MSPaint really has changed. I usually just use pencile tool in photoshop but I thought for today I'd really do it in that. Terribad mspaint aside I've had some amusing GMing the other day.

I run a very silly game in Mutants and Masterminds 2nd edition. Ran it starting at PL 6 and it's about PL8 now. It runs on the premise of any bad yet funny idea I can throw at a party of "Adventures guild" members that take contracts and do stuff. Nothing too deep but I usually have thinly veiled refrences the players can laugh at while they roll virutal dice. That aside I'll get to the meat of all this.

Knowing your limits. And a GM's limits is the groups fun. A GM can do anything they want as long as the players stay at the table and take it. It doesn't mean that they should. Personally I try to have different parts in my sessions, I don't quite like having entire sessions be consistent of one thing. Often I want the situation to always be on the change, they do something something new gets to be chewed on by them. Doing this hopefully keeps it fun and allows them to fill up most of the session with in character talk instead of me dictating what is going on.

This latest bad idea didn't quite have that. As I have possibly 3 members who occasionally look here I won't get into deeper reasons but effectively they had ideas about this entire situation which made the plans for the session seem a little short. So I threw a wrinkle in it, a minor boss fight that could prove entertaining and possibly scare them through some of the dirty tricks I threw on it. Nothing too major though but outcomes of the fight would have extended this session in interesting ways. As the image shows, that fight didn't take long (and they did strip both of them and time them up so they could check to see what was causing some of the complications). I did have ideas on the spot how to extend the fight and make it seem like a boss fight. But with some thought didn't take them. Time was almost up and while I did plan this to be a drag out fight I thought actually dragging it out would not accomplish much. I do lean more towards lengthening plot fights through villain points

While knowing this it always seems a cop out to let players just smash and grab something that I designed to put up a bit of a challenge to them. Overall it did accomplish what I wanted though, it gave some more conflict and added a complication to what seemed to be a mission that was involving "go here talk to them, make a decision and come back" with how they went about things. One fault was I had one of the duo be a lower PL than the main guy as it seemed to make sense, another was some misunderstanding on just how effective some of the players effects were. Other than that I did get to show off a few of the tricks though not all of them which makes it feel like a waste. Though it is food for thought on better design later.

Thursday, July 14, 2011

Statistical analysis

An image I didn't make? Madness. QWOP will have more to do in a minute though.

There has been a long standing tradition in games to take a nature vs nurture approach in games. Nature being your innate abilities that are largely unchanging, though can grow in minor ways , and skills which are constantly being increased in decent numbers. There is a lot of weird things to this, so I'll begin with the parts I know decently well.

I know there were other games around when chain mail became Old Dungeons and Dragons but I just don't know how to find them, a lot were probably lost to the passing of time. But D&D had Stats. Back then stats didn't matter quite as much, in fact I think it had weird system of bonus EXP when you did things involving the bonus from your governing stat and magical things.

First things first, D&D is rooted in wargames so is a little weird at times. I know the modern statistics are Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. Don't know if any were added along the way and not in the mood for long research, which I may take up later for fun, on the original game. I do know stat "bonuses" were calculated completely differently making an 18 in them a godly thing. Supposedly wasn't too different throughout the years until 3.5 started making them mater a lot more and be prerequisite to a lot of feats which were needed, or spells cast, or even just hitting something.

The approach to this is a little weird. A lot of stats line up with one thing, sword hitting things intelligence hitting another, and in latter editions exceptions get made everywhere. 3.5, and possibly 3rd, in general had feats or little extras that you can get when you level up allow you to use Wisdom to fire bows and arrows. Strength has added to accuracy for melee attacks, except for light weapons which could use dexterity if you took the feat for it. Wisdom is some where between common sense, experience over time, and flat out natural instinct as every natural animal has high wisdom. The more "what is this stat actually representing?" of all of them is Charisma. It's always been described as a "force of personality" while having attractive races get bonuses to it and ugly races getting penalties, until 4th edition but another box of dead horses.

What does this all mean? Stats, attributes, and characteristics are somewhat silly. Though they serve a purpose. Table top gaming or even computer RPGs need some amount of abstraction to not be horribly cumbersome and not understandable by the people who use them. This is where QWOP comes in, it's a game that is realistic to a degree. You don't hold left or right to move the guy along, you actually go to the source of how he goes about moving muscular movement. Legitimately categorizing how a character should realistically go about things would be about as elegant as making QWOP man jump a hurdle, it can be done but I doubt most people will enjoy it. All games use some form of abstraction for this reason, reality isn't clean and fun. The most we can ask is that we can only eye roll a little at the designers choice and keep them constant. I'll probably revisit this under different systems, nWoD had I think 9 stats in total and comparing it to D&D could be fun.

Wednesday, July 13, 2011

Short post, work day

Just a short post today. Got a little work to do through family with setting up computers and making backups. Fairly simple stuff but it's time consuming and tedious, and they had no idea to do. Made a bit of money though. Though their DVD burner was not as functional as they said. This took what I thought would be a two hour job and nearly tripled it.

I did manage to get some moderate coding done though while I wait between CD burning. Project Combat Test got a bit of a ideas pushed into it. Added the current list of defensive and offensive options. Not quite liking how I put it in but it's working now. The current options modify your basic attack, more accuracy at cost of damage or other way around, or modify how your defense works. It seems to work in theory but less accurate more damage attacks aren't seemingly doing much though it's niche was attacking low defense creatures. Right now I have a stand in that's a replica of the player so it's very miss or miss on working.

Other than that a bit of crunching of numbers for a friend over at his blog. It's a semi silly Pen and Paper game based on the Japanese idea of sticking random guns and aircraft parts on girls and sending them to fight. I did a lot of formatting of the current alpha PDF and we need to playtest the thing badly. All in all it looks like it could be fun to a few people so a project I'd like to help him finish up. Just wish I had some more time but looks like a few games will finish up soon and we'll get things sorted out.

Tuesday, July 12, 2011

Old games, new fun.

Today is going to be a little different. I've been a bit pressed for time and playing a lot of games with my friends. With a recent steam sale the idea came up to get a game we can all just mess around with and have fun.

The game we ended up getting was Titan quest. One of the people in the group has a physical copy and played it a few times and said good things about it. We all get it downloaded and installed and we run into some trouble with user privileges on our various computers, vista and win 7 seemingly requires you to have the game running as admin even if win 7 makes your account by default not admin, and me being a moron and thinking custom games was the multiplayer mode and we get in. After a few dozen crashes as for some reason connecting to a game likes to crash it.

After that comedy of errors and swearing we get on our merry whole sale Greek slaughter. The game plays like Diablo 2 in a lot of ways. Use potions, use skills, kill things, get randomized loot, and do a few quests. Though this game takes out the need for buying town portals by giving you what is effectively an infinite one. This is fine as this is something we're looking for. Nothing deep, just run around and play a game that's semi auto control while making horrible comments over steam.

Things we discover is that a few glitches exist in the game for whatever reason. I talked about the crashes on joining game but there were quite a few more. For whatever reason at some point our day night cycles desynched which was pointless but caused a bit of confusion. More fun things include some player models turning invisible but their effects still happening. Cue random ripples of psionic energy randomly appearing all over the place and wreaking everything. Though the best one so far has been one of the players having a glitch on summoning pets, they are sometimes erroneously flaged as hostile to other players so more often than not we end up hitting it in the flurry of battle instead of the enemy until the glitch fixes itself. This is much to the players dismay and he's considering not healing us anymore.

In the non glitch department we've taken looting to odd extremes. Partially because of one of our players supposed OCD about keeping things tightly tucked away or sold but we loot everything. Gear that gets us only 1 gold gets picked up and sold. Thus turning the games interesting feature of mobs having the gear they drop into a horrible thing. Only generic monsters have nothing, every satyr, centaur, skeleton, and even some zombies I think have something on them. And a few have full sets of armor. So clearing one group leaves an area covered with not only corpses but inventory screens worth of items to be sorted through and ferried back to the local sales person. Even the person who insisted on this said he would not be able to do it like this if he were soloing the game, he'd give up. Yet with 4 people we can take a few minutes to clear out an entire stage worth of equipment.

Speaking of equipment this game uses a lot of Prefix item name suffix effect generation.  I actually like this, it makes each run of the game unique and proposes a lot more decisions on what you want your character to be as you go through. Not quite required as you can seemingly stick with some gear for a very long time but I do like weighing my options when it comes to my weapons. Personally this multilayer game trying to go for high spike damage as it is recorded in a stats screen.

So far it's been a fun game, well worth someone else's money as I couldn't pony up the money at the moment, I'll catch him next steam sale. I really haven't done LAN things as a kid, usually my shared gaming experiences has been around someone playing a single player game and talking about things. Sometimes the game, sometimes not. So far it's been a fun change of pace that I hope we don't burn out.

Monday, July 11, 2011

Static Advancement.

This is almost becoming a series with this, that, and that over there. Though it's more me trying to figure out in some manner. So onto the part MMO players love, leveling up. Though contrary to image I will not get into Class Warfare, it's just every time I think about game progression in RPGs I think about Quadratic Wizard and Linear Warrior.

People like new things, in a game it's essential to keep offering new things through the life of most games. Without new things players get bored of the game, they don't buy your sequels, and you get bought up by some larger company if you don't just roll over and die. FPS have new weapons that come up later, new enemies to surprise them, and new Terran that can change the game play dramatically. Racing games have new tracks and sometimes new vehicles. RTSs and fighters not so much if they're competitive only, in campaigns you can get story mode which could be the main draw if they do it right and unlock new fighters/units as you go along but they have somewhat of a different idea of who they are made for.

For RPGs it's always been new loot and sometimes new abilities. In older games it was purely numeral increase, you had to level up to fight the next batch of enemies or be really lucky. This is where the title of the post comes from. You were effectively on a game treadmill, working to stay at the same spot where you could easily dispatch enemies. Go to too high of an area and don't have to reload means you hit the wrong spot and you head somewhere else. So the entire point of the game becomes a goal to go forward while keeping all mechanic application the same.

Thankfuly this has changed a bit. More modern games introduce newer mechanics later on in RPGs or have abilities that make you do different strategies so the treadmill effect is a bit staved off. Though it is seemingly harder in RPGs than in games that have more actual skill in them. FPS has different weapon handling, hit box detection, and other fun things such as vastly rewarding headshots or even crippling enemy limbs (not that those things can be added to an RPG they just feel oddly tacked on and less rewarding). Granted most RPGs today are more action orientated so my old thoughts on it being turn based are somewhat false, though they aren't high on the twitch based skills.

I've been thinking on this with various game progression designs. One problem with me is I don't think about how designs scale. Most games I play tend for you to get on the treadmill and find that sweet spot and the GM or game throws at you accordingly to how "difficult" the game should be. For Combat Project I have not thought of this at all until today. I have little idea how if I did a real game instead of a test would it keep interesting. That's more to think on though, I'll have to look at this subject again later when I have more ideas on what I want at it's basic level.

Edit: I have not played the recent Fallout games. I have played the first two a bit. I can't comment much on them too much. Crippling limbs refers to a few games I've seen where shooting an enemy in the legs actually slowed them down or what little I know of Deadspace where there was an entire system based on it.

Saturday, July 9, 2011

Roguelikes, the frustration maker.

I like Rogue likes. Not that I'm good at the mind you, I have a morgue file with a body count that gives me problems if they have 'ghosts'. That aside every so often I get into the mood to play them. The first Rogue like I've touched on was Nethack and did horrible at it, after that it was Dungeon crawl: stone soup which I could do half decent at. Later ones I've encountered is doom Rogue like which is actually very fun, and 5 minute dungeon which does away with the notion that everything moves and turns it into some sort of wonderful puzzle Rogue like hybrid that I am actually good at.

I like them for their no nonsense gaming, I'm there to kick down a door and get the best loot without having to memorize a bunch of area layouts or what enemy wave is coming up. It's also challenging though sometimes they like the idea of memorizing certain secrets (Don't pick up cockatrices, throw a longsword in a fountain on this floor) to avoid cheap deaths or have a legitimate chance of getting through the game, which isn't my kind of challenge. Though when they get a challenge right I feel like I could have gotten out of it if I did my tactics a bit better and that makes me come back. Dungeon crawl: stone soup meets this for the most part, there are some things that you realize you shouldn't do after you've gotten yourself into a situation a few times to realize that will just kill you unless you're decked outwith some gear or avoid it entirety.

And to finish up his little rant I have another pointless story. Back when I was getting my degree in my "principals of programing languages" class we were shotgunned with about a dozen languages over the course of the semester in hopes of exposing us to different programing structures and ideas. This was my introduction to python among a few other languages. For one of our projects we had to make a program with TKinter which is pythons inbuilt GUI system, we had a game to make that he liked to use in other projects. I asked if I could do something else as long as it was a game and used TKinter and made a very minor Rogue like. Effectively it was a game where you ran away from zombies towards an exit with some random 'rooms' thrown down. Really the rooms were squares of various sizes with one part removed. I just pushed a line of symbols onto a label it counted as graphics and had buttons that were key bound so you didn't have to click to move in directions. Had made line of sight code which I hate doing, I'm not a math person. While it wasn't exactly what I wanted I was happy with it since I got it done in some week or week and a half which is things I can do when I have actually consequences or someone else sitting behind them. Sadly I don't have the program anymore, lost due to the lowest bidder laptops or just not copying it over it's gone forever now. Could attempt to zombify it but I have other things that would take priority.

Friday, July 8, 2011

Programing Progress

Been two weeks and I haven't gotten as much done as I wanted for Combat Test. Though that seems the standard when left to my own devices I get no little projects done, when I have deadlines for serious things I manage to find the time.

At the moment I have it one on one system. I have a basic set up for being able to change that in the future but at the moment testing to make things work out alright are top priority, I can add the wrinkle of three or more combatants later and pull out hair debugging it. The system was inspired quite a bit by Weapons of the Gods which I talked on in a post a while ago. Weapons of the Gods had a mechanic called the river where you could store good dice rolls and use them later or even used the ones saved to vastly improve your current dice roll. While that is interesting I'm taking a different take on it. The player chooses an action, the pool is rolled, then they move the individual dice to a "speed" pool, an "action" pool, and a "defense" pool. At the moment you can choose to put no dice in any of the pools, with the exception of defense as that at the moment takes any left over dice, but this may change in the future. From there it's success counting to see if the attack is successful against the opponent or not.

That's the basics of the system. Right now two things are being debated on adding and have had the groundwork put in for them. The first being varied defenses. Each character can change their defense set up on their turn and it'll take place when their initiative comes up. The basic is just a dodge, nothing special if your defense pool beats the active action pool for an attack you get to ignore the damage. After that is block, which lowers some of your success for your block pool, though even if the opponents attack succeeds you get a degree of damage deduction. The last defense option is parry, where if you are successful you get a counter attack. I am not quite sure on the mechanics of it as this could easily be an overpowered maneuver which may be part of the hold up on it.

The second system I've been working on and finally did enough testing to be happy with is a d20 standard. Accurate and Power attacks. You sacrifice some successes, thus missing more, to deal more damage. Or  you sacrifice damage to hit more often. A bit of tweaking got it to numbers that I was pleased with and not making the normal attack worthless, though actual testing could be worthwhile.

Beyond those improvements I'm going to have to think a bit harder about things to put in. Could do some special skill or magic system but I would rather wait on that. Those just seem to be a cheap solution that isn't adding to the system right now, not saying it couldn't be added in.

Outside of the Combat Tester front I did some looking to see if I could get python to read single characters for some fancy output possibilities. I found some samples and a bit of playing with them and it works easily enough. Though it though sadly it makes it OS specific which irks me as python is a very cross system interrupter.

Thursday, July 7, 2011

Random NPC tarot creation

Well I talked about it yesterday so I might as well do it today. Also a confirmation about Shaw's inklings about this being similar to Shin megami Tensei ideas. While not completely taken from there it's where I got a lot of learning about the cards. Basing a character completely off an arcane major is a little too cheap for me, too little surprise. So without further delay my Random NPC generation method.

First:  The Fate Card. Out of only the Major Arcanes is the fate card. It's a binding force for all the following cards be it primary going with or against such a fate.

Second: The Mask card. This is obvious a persona refrence but it works, it's what the person appears like to the world be it how they project themselves or just how they end up being percieved.

Third: The Impression card. This is important for me for NPCs. It could be just how I have all other NPCs who don't know that particular NPC reference them as that's their only exposure or how the party gets to first meet them. Typically it's first impressions, just some things that are easily remebered about the character regardless of their mask.

Fourth: The Action card. How the NPC goes about things, or things they have done in the past and are remembered for. It's self explanitory to a degree though can get tricky.

Fifth: The Reason card. This can help lend a lot of help to the Impression, the Mask, and The action card. It's an event or a thought process that makes the character what it is today.

Sixth: The Hope card. This is what the character wants (or fears) to happen. Like the Reason card it retroactivly helps with all the cards before it and can tie them together.

So with that out of the way I'll go about generating an NPC with my Rider-Waite deck.

The Fate: Strength. The Strength card is a card about power, though it can represent the struggle with ones self. We'll see which works better after the others.

The Mask: Knight of Cups. The Knight of cups has a list of things involving messages, arriving, advancements and other such things. For a mask this easily can be used as a charming person. One who goes about doing things involving other people. A life of the party person.

The Impression: The world. A major arcane card, while I don't make a big deal about them in these readings they help a lot more than the minor arcane due to their nature. The world Is the journey card, going about places but also arrival at the end in some instances. It does fit the charming persona that has been somewhat established, always doing things with other people. Disapearing on trips or other assorted adventures.

The Action: Reversed The moon. I use reversed tarot cards, what a reversed card generally means is an inverse of the meaing, or in some cases a strengthening or deluding of some aspects. The moon is a somewhat dark card. Talking about hidden enemies and deception. The little booklet I have likes to reduce the aspect of the moon and for this it fits. The character is known for streching the truth on more than one ocasion or outright fabricating lies to carry a conversation.

The Reason: Reversed Two Swords. Swords is rarely a happy bunch of cards, this sword however has a meaning in Conformity, courage, friendship and a few other nice things. Normaly reversed it means imposter, falsehood, and disloyalty among a few other things. As a reason this really works for this charcter, could make a very dark reason but today I shall make it silly. They were mistaken for another person at a party and shown the town under a lie. Now the lie continues in some fashion. Simple enough.

The Hope: Seven of Pentacles. Every once in a while you run into means that are conflicted with another. Seven of pentacles has quite a few readings, the one you settle on is going to based on other cards. For this character with all the fun loving roguery I'll settle on business. With all his trips and other actions they could be making up some form of clientele or business partners. Always charming everyone in hopes of further gaining their business or suport in the future he keeps on rolling like a ball of energy.

So with these taken as a whole we get this.

A person of considerable power of personality. Always in a state of motion he travels about entertaining others at events even if qutite a few stories are far fetched. Actions stem from an incident in the past where he found out that some lies and fun can help quite a bit especially with meeting new people. With this there is hopes of the busniess partnerss of the now and future look favorably upon the person.

And that's what we have. Hopefully this has been somewhat of a fun read.

Wednesday, July 6, 2011

Progress day

And for once I use an image  that is not scribbles.

I'm taking the rest of the day to spruce up some projects I have been lacking on, and I have quite a few so this will be a short post. I have the Combat Test project that I'm going to work on later, some planing for a possible instance in a game tomorrow, and a stack of homebrew that could use my cold hearted and fun destroying eyes look over. Since those would take too long I'll go on about what I was doing when I realized it was about time for me to start this up, and it relates to the picture even.

For a while I have been designing a sandboxish horror investigation game for my group. Using basic d20 resolution and systems via Mutants & Masterminds I'm not giving my players much to work with, the system chosen is basically for me to have a good hold on running the game and making monsters with it. Since it was a sandbox game I decided I need a huge cast of non playing characters to mess with. Not being one to actually have off the cuff creative ideas had some inspiration and the entire concept of how I'm making this game came from it. I generated all my NPCs from tarot cards. An Arcane Major for their 'fate' and a variation on the 5 card spread for who they are and went from there. I didn't even own tarot cards so I made a virtual deck in python that allowed me to test this out in rapid progression. The result, some unexpected and wonderful created poor souls for my Players to befriend before the problems start to sprout up.

Tarot cards are some old things that were primarily for card games. In fact dropping the Arcane Major and the knight will give you a standard playing card deck of sorts. More commonly we know it for fortune telling purposes. Mostly it's cold reading. The majority of the cards are based around mundane everyday things that can easily be cold read into being important. Major Arcane like The Tower pictured are generally more important, more focused, while somehow being more ambiguous than the minor arcane. Taking The Tower for example means generally bad things, it's one of the bad cards to draw. It's things not working out, being beyond your control, and just bad things happening. It was originally the fire at some point as the picture suggests, as in the old days if you were in a tower or castle and the bottom floors caught on fire you were generally unable to do anything beyond jump out. While it is a grim card it can be applied mildly to situations, you pull up the tower card and ask if anything out of the persons control has been making you feel down or causing unneeded worry and you'll get something. In whatever spread you just make attention to it and move on.

I don't believe in the divination properties of such cards. I do however believe using their piece-mailed ideas to create characters or events is quite interesting and rewarding. It has been saving me a lot of time when coming up with a 25+ list of npcs the players will regularly have a chance to interact with. It has also given me quite a few good starting points for event ideas. I'm not the most creative but somehow I can take things and wrap them into something applicable to an idea so it's been a good discovery for me. Maybe I could even start up some tarot posts on this blog later but for now I'm going to focus on making at least a dozen more events for my players.

Tuesday, July 5, 2011

Hit points, Attack, and damage. The components of the padded sumo slap fight.

This comes up a lot more in Table top games than video games. A point where the fight is already decided or no one knows who is winning until 5 more attacks hit. For a while in 4th edition D&D the term Padded sumo fight came up when people realized that the monsters high hit points and other defenses while not being a high enough threat to the players perceptions. It's popped up in other systems; as stated 4th edition had a problem with the monsters just having too much HP to deal with in a 'fun' time frame, Dark Heresy for being a very lethal system has laughably easy ways to survive damage considering it's low to hit aspects, and Mutants and Masterminds has this effect alot where fights run a lot longer when it could be the players effectivly just finishing off the boss I set up while the only threat at this point comes from them rolling too low when taking damage. It's just not satisfying at those points and becomes a chore.

Pen and Paper combat takes a decently long time, online it takes a lot longer for magical reasons. When combat becomes a chore instead of an exciting situation people quit describing attacks and just rolling their most effective attacking against the most threatening target or weakest target, it honestly doesn't matter to the players at this point. They just want the fight over with and while the GM may have some surprises left they quit caring too and just want to get back to the "fun". Which is a big problem, as the entire gaming experience should be fun to some degree.

There a few factors in what causes a fight to be a boring grind, and like my title suggests  it's all about the abstracts used in games. The majority of games like the hit point concept, have 1 and your fine. They also like a simple way to reduce them, straight up damage rolls. Simple enough you can get how long you're expected, in a boring fashion, to take down a monster. Hitpoints/average_damage gives you how many turns it's likely to take down that monster in the bread and butter fashion. Though most games have an attack roll to hit the monster, making the formula a bit longer Hitpoints/(chance_to_hit*average_damage) making combat longer. In D&D and it's general rule of thumb 50% chance to hit a target of the same level you're effectively doubling the length of fights. Some system also let the defending player negate attacks leading to something akin to Hitpoints/((chance_to_hit*chance_to_negate*average_damage). Give a player a 50% chance to hit and the defender a 50% chance to ignore that hit and you've effectively quadrupled the length of the fight. At these stages you could reduce the hit points of the target to taste and arrive at something that would take an estimate few rounds. This presents a problem as the formula takes into account the player missing and the negation chance happening according to average static terms. Dice don't have memory and typically like to ignore averages in the short term scale, long term 10000+ rolls not so much. Generally called "swingyness" where a few rolls control the fate of a character you can end up with the monster in one hit your designed challenging monster can happen enough that you'll question dice randomness. On the other side the one hit mooks you send out could prove more effective than any boss encounter you carefully prepared.

How to solve this problem seem to be a dilemma in gaming at large and various solutions have come up for it. Action point systems let you reroll dice is a common one. Some others give you insurance that if you get taken out in one shot letting you ignore it that time. Either way a lot of systems require a lot of taste in how combat  works to enjoy it. I prefer mine a little more swingy. I'd rather have a battle short and over and deal with the consequences than to have the battle take too long.

Monday, July 4, 2011

Battle Formulater Scribbles

Suddenly, out of nowhere a horrendous formula. Technically not even all of it but I'm not encapsulating it in another font 60 set of parentheses and multiplying it by "attack stage".

That Formula up there is from as near as I can tell is the Pokemon damage calculation equation. A bit of Googling lead me to a certain web page and I'll take the benefit of the doubt on it. Math oddly enough is not my strong suit so excuse the horrific display of that, I figured it looked neater than the typed in one line my source provides. Though why this formula? Well I'm getting into damage mechanics for Combat Tester and Pokemon formula always comes up when I think about damage.

First a little story. My first RPG was Pokemon, kids in middle school played it and I was interested so after some grade and favor trading with grandparents I got a game boy color and red. There starts me maxing out my hours in the time played. Many years later and a few scraped projects ago I look into how Pokemon worked as well as a few various combat systems I have played only to find some of the most hard to follow and mind boggling decisions in design to my eyes. They just seem like needless obscuration of what your stats actually do. I may have been raised on computer RPGs but I honestly prefer the simplicity of Pen and Paper resolution of damage for the most part.

Now onto the here and now. So after evaluating the damage system of purely being attack successes - defense successes I came to the conclusion that I paint myself into a design corner with that. Instead using a commonly done solution of dice+modifier-damage resistance to get that job done. Specific details as to how I'm getting the numbers and such would be a little long for a post topped with a monstrous formula so I'll wait until later to go into those details. While not as unique as I like it'll work for now, I'll work on it more to see if I can go anywhere with it. Though it does open a few combat options I like, namely reducing or increasing your attack compared to your final damage.

In other news I'm going to be shooting for getting/starting a blog up every day around 5 o'clock central. With the current unemployment going on I could use something besides my Tabletop game schedule to set something up for me.

Edit: Happy forth to those of you in the United States. It's too hot and I'm without transport to care or get to the festivities.

Saturday, July 2, 2011

The five room campaign

I actually have a minor in art. Not that any of this shows it.

Bad MSPaint diagrams aside I'm going to rant on a bit about Game Mastering table top games. I've been running one campaign online for a very long time under a very simple scheme of typing up a paragraph for each session then supplementing it with everything I planed going wrong. More often than not it does.

Game Mastering is practiced failure, you learn to fail in more amusing ways for your players to enjoy. Mostly because of your character actions. That spy you planted and were going to have talk to the PCs just to have a reveal later? The spy going to be punched by one of them and told to get out of the Players sight because he was upset over something the Spy said or other things that completely destroy that scheme. On top of that your players will notice your plots a mile away or otherwise not even notice them when you try to hint leading to frustration later. Player may or may not be intentionally wrecking the game, more than a fair share hate the dreaded "railroading" where a Game Master forces them to do a certain action. What qualifies for railroading widely varies for some it's having to listen through the BBEG's rant unable to do anything before he vanishes mysteriously for others it's the local law enforcement actually putting them in jail for breaking into someones house, smashing their pots, and taking their gold. It's always a challenge to meet a happy medium of your plans working and your players being allowed to do after all everyone should have fun.

So with this in mind, back to the whole premise of this article. The five room campaign. Earlier I stated that I put down a paragraph and other outcomes, keeping each session as modular as possible. This limits the amount of damage that happens the basic idea of the campaign, if a bad guy dies and the party though they were the main bad guy it just turns out he was one of the lieutenants, that sort of cheap trick most GMs do to keep the very frail plot from falling apart. The one problem with my set up was while it gave me an idea to dance with, it didn't give me the best stage to use it. I may have had a few scattered ideas for what I could do during that session. While I may have a plot for that time, I do not have as many things for the players to do as I like, and with out proper prodding or things they could do players get bored quickly which is not fun.

Some time later I discovered something called the "5 room dungeon". You can find a lot about it with Google or the one I have bookmarked to relearn the gist of it, there's a few places to look into it but it boils down to this.

Room 1 The Entrance:
Self explanatory it's how you get to the meat of the session. Be it defeating guards, talking to townsfolk about events, opening a magic seal on an artifact they found, or anything that takes the players doing something to start this chain of events.

Room 2 The Challenge:
Not as informative as the first.  The challenge can be quite a few things. It could be a set of skill challenges or logic puzzles to figure out how to progress, or it could be convincing someone or something to help them get further in the place. If really pressed for ideas it could be a minor fight to introduce what foes in this area could be like.

Room 3 The Delay:
This segment is meant to throw your players for a loop.It could be some red hering they spend their time on trying to figure things out, something that gives them missinformation about the whole over arching plot, or simply an obstacle that will give them the choice of dealing with or finding a differnt longer way to proceed. This choice should have some effect on the rest of the "dungeon" or even the overall game to a degree. It can also easily pad your time if it's something like a giant heavy locked chess that the players get to argue about and decide on having the fighter carry it the rest of the way.

Room 4 The Climax:
Here it is, the big encounter. The boss of the dungeon. Or if you're not into that, the situation that is possibly dooming a village and needs to be figured out. Anything that would effectively be before a "goal" or the "goal" itself could be the climax. Finding the lost treasure could be a climax with the delay just being a giant fire breathing lizard baring the path to it.

Room 5 The Twist:
The anticlimax, the part after the most exciting event. This is generally where plot is revealed or you get your things, though maybe not as you expect them. Personally I don't like calling it the Twist but more often than not it turns out that way when designing just to keep it from being a pure plot dump. This is where it ties into the rest of your game, something got accomplished, learned, or gained through all this. It's the reward of the entire session for better or worse.

While this is a "5 room dungeon" it doesn't necessarily have to be underground. It could be a loosely connected series of events that may not require brute strength to get through. For example the 5 non room dungeon.

The non room Dungeon.

Room 1: The Rumor
For sake of simplicity this game is about modern investigators who try to stop horrible things from coming into this world. One of their contacts informs them that something has been shiped leaving everyone coming in contact with it mysteriously dead in their wake.

Room 2: The Investigation
After this the players are left to follow up on this or possibly go about other things, but with such a juicy lead they go about collecting information. One player starts hitting up contacts to see where this package came from, another looks through old books to see what this could be, and the last tracks down the most recent person with intent to look through his house when the other two are done.

Room 3: The House
After breaking through police tape the players are free to wander the house. However it does not do much, everything is mundane except for the mysteriously exploding boiler where the owner died. Nothing is directly mystic or supernatural in any way and lots of time could be wasted here. The only thing that might lead them to the next place is a few letters (Are in the trash, or some other way of finding them) hinting at a disagreement with a man about not releasing names of a family line.

Room 4:Security Box
The players come up with the plan of breaking into the security box. This presents a lot of challenges for the PCs as they could likely get caught and put in jail if they set off alarms. 

Room 5:Inside the Box.
After gaining access to the box the players are presented with some lists and a strange black yet light metal bar. The bar at the moment does not bring up any information though looking at the names gives a line of accidents, more on the list showing people not yet killed but somehow related to the others. On the end of the List is one of the Player charcters. Both these could be plot hooks for later sessions.

Not a dungeon in sight yet the idea stays the same. One problem though is what happens if the player can't find anything in the house? Or if they fail to find the latest victim. A bit of leeway is going to have to be get given. In fact it's simpler to call room 3 "place where they can find things" and room 4 "hard to get to place where they find the list" just so you can easily shuffle it to a logical location or if you are not into that shuffling in a generic delay event to get their attention. Such as another mysterious death happening or one of the previous plots picking up so they don't have to sit around doing nothing all session.

Running a game can be hard, but it is quite fun if you enjoy constantly building things and testing yourself against player actions.