Hello and welcome, I've been in the software development industry for quite a while. Here you will find comments on game development, my two boys and my extra-curricular activities.

rpgCardz.com


I did some major enhancements to a game that has been sitting on the back burner for quite a while.

I remember when I first worked on this game, it took me about 2 days to write and I wanted to make something quick and addictive to play.

I guess I succeeded as I wasted about 2 hours last night trying to get my "Rare" cardz.

What a time waster.

http://www.rpgcardz.com

Visual Resume





A Visual Resume...for those who might be interested.

A friend of mine got me into "Visualization Techniques" this would be my first effort.

Charlotte BDPA - President Elect for 2010

Hello, my name is Markus Beamer. I have been nominated for the 2010 President Elect position within the local Charlotte chapter of the BDPA. I look forward to getting your help in securing this position.

A little about my history with BDPA, I have been involved with the Charlotte chapter for the past 8 years, particularly with the High School Computer Competition (HSCC). I have assisted and trained over 200 youths in the Charlotte area during that time. I am extremely happy to say that during each of those years Charlotte has taken at least 5 youths to the National Competition.

During my time with the Charlotte chapter I have always been a confidant for the president and vice president of the organization. This year I took an extended step of becoming the VP of Strategy for the local chapter. Both roles have given me a unique perspective on the workings of the local chapter.

As for my agenda during my presidency, I believe that the local chapter needs to re-solidify its foundation. I have a simple plan to do this.

  • First, find the right people. This is where it all starts. My first action will be to setup a process to find passionate people in the area who are willing to contribute to leading people from “the class room to the board room”.

  • Second, set standards. Once we have the right people gathered and we decided on a course of action. My job will be to ensure that we setup a “process” for each project we work on. This will ensure that in future years the local chapter can continue on the successes of our prior work.

  • Finally, ensure a line of succession. The final item I will focus on is ensuring that the local chapter of BDPA has a viable group of candidates that can provide solid leadership and continuation of our successes.

While doing the 3 actions above, we must keep the mantra of BDPA in mind “From the Classroom to the Boardroom”. My underlying goal is to see that the Charlotte chapter is able to create a systematic process for delivering this chain of movement. Starting with those teenage youths learning new technology and ending with those of you who may be sitting on the edge of boardrooms.

Finally, I leave you with this thought. The Charlotte chapter is in a time of re-birth. We know that rebuilding is needed. The chapter has become a boulder of potential at rest. My only hope is to nudge the boulder. If we can make it move the first foot, the second foot will be easier. If we can get it to roll a mile, it will roll forever.

And why do we do it? Because one day we will want to look back with pride in our hearts and a smile on our face from the good that we caused.

My High School Programmers

On August 7th, 2009, 3 freshman and 2 sophomore students from Charlotte, NC faced a field of programmers. They made up the youngest team of African American students that competed in this years Annual BDPA High School Computer Competition. Regardless of age they had intentions of winning and they represented Charlotte very well, placing in the top 10 teams nation wide.

They had committed the last 8 months worth of Saturdays to training and learning. Some did not now the very basics of web development when they started. On that day they were tasked with building a professional website using only the most basic of tools, but they had their wits about them.

They were asked to build a venture capitalist site, where companies could track monetary request and ROI on the request. And they were asked to build it in 7 hours.

Today, I can say that I am especially proud of these five Charlotte youths. Their accomplishment was no mean feat considering that the field of competition was selected from over 1,000 students and many other teams featured senior high school students.

Every year the BDPA, Black Data Processing Association, holds the national HSCC program in a different city. Every year between 20 and 30 teams come from all over the United States to compete. And every year the local Charlotte BDPA chapter has opened its class to any rising high school student who is willing to listen and learn about technology. From these young students, 5 are selected to compete in the regional or national competition. This years national competition was held in Raleigh North Carolina.

This year the national competition gave out the assignment to the students. It required that they build a venture capital website. On this site a company could request funds and track the requests. In addition to this users of the site could calculate a ROI on the investment. They were allowed no tools other than Notepad and Textpad and their own creative skills.

They were asked to build the site in 7 hours. This is a testament to their talent as I know some professionals who would be hard pressed to provide results in this amount of time.

For those of you who do not know, each year we, the local BDPA chapter, operate a learning class where we teach rising high school students how to build .NET web pages. We have students of all levels walk into our classroom, some having little to no computer experience, some having programmed for years. Regardless of their level of expertise, it is the programs responsibility to see that they walk out having learned a little more about technology.

The BDPA's mantra is "From the Classroom to the Boardroom", the Charlotte chapter strives to provide exactly this.

In previous years multiple HSCC students have gone on to internships within software development groups in the local area WHILE THEY WERE IN HIGH SCHOOL. Winners of the national competition will recieve scholarships to schools of thier choice. And this year BDPA and affiliates provided a full 4 year paid scholarship for an HSCC students from Columbia, SC. We follow through with these students progress as thier professional careers develop.

If you have a student that is interested in the program, we encourage them to come to our classes. They being the weekend after the Superbowl. The sessions are not expensive. Find out more by visiting, http://www.bdpa-charlotte.org

If you are interested in helping this program, in any way, please reach out to me. Someone reached out to you when you were younger, you should be returning the favor. It makes you feel good!

CIFS, SANS and NAS for the Non-Techie

How to explain a CIFS, SANS and NAS to a non-techical person...

Be forewarned a lot is lost in translation, but I think I have the majority of it correct. Do your own research if it is that important. This was quickly written with a humorous mind.


CIFS are the next generation of SMB protocols. To understand a CIFS one must first understand SMB.

SMB is a way for networked machines (computers and printers) to talk and share files with one another. If a computer has SMB "turned on" it will periodically shout out on the network that it is available and ready. This is known as broadcasting. It provides a nice way for computers to find each other.

Think of a dark basketball gym, you and a few friends are standing in the dark and you have to find each other. You do this by shouting till you can find the one you want to talk to.

This works fine, until your friend list gets a little long, say 21 people. Suddenly you notice that when you shout it's hard to hear the reply amongst all the other shouts.

This is what happens with SMB when you have more than 20 machines on the network. It gets worse as you add more machines. There are ways around the problem, but usually the solution is not elegant.

Being the solution finders that we are, we (programmers) thought there had to be a better way. Thus CIFS was born. It was like SMB, think shouting in the dark, but had a number of features that made it easier, think flash lights and fire. Well maybe not fire.

The rules of CIFS live within a Microsoft application called SMB 2.0. The most interesting tool/addon that CIFS provides is the ability to share its file system and structure with other machines that could understand it.

Enter the SAN


Though you might be told differently, SANS are large dumping grounds for data. Anyone with proper access and authentication can dump a file in the playground. Anyone (or thing) with proper access could pickup the file and do things with it. The coolest thing about a SAN is that you can have multiple machines pick up the file at the same time, you can copy the data multiple times, you can backup a SAN while it is being used. All these things that make your system admin's life a lot easier.

Usually, though not all the time, SANS also have a plug and play feature to them. Plug and play sounds cool, but all that means is you can think of it as a flash drive. Except that the flash drive can be as big as a house. Very handy when your fortune 500 financial server dies and you have to move all the data to the next one.

SANS come in handy when you have 300 machines responsible for handing out the same document to a few million folks. Mostly cause you only have to store the document in one location.

SANs also come in handy when your not quiet sure how much data you will need to save. You can give a group of computers one SAN and say hey you can only save a few 1,000 GB of data in this SAN, I know you have to share but at least it's more than the silly 20 GB on your hard drive. Plus...well you can share your iTunes with everyone in the office. Oh that made you sit up huh.

Continuing...A SAN sits on it's own machine/computer that handles all of the a fore mentioned coolness. Using CIFS, or SMB 2.0, or as some folks call it Samba, allows the SAN to shout to other machines that it is available. The SAN can also hand out it's file structure, you can think of this as a Map of where and how to get to all of its goodness.

This communication is where CIFS comes into play. It easily allows all of the goodness of SANS to go cross network and enables multiple machines to easily access and consume data from the SANS.


As an FYI a NAS and a SAN provide similar to the same function but with different technical implementations. Personally, I think it ironic that one spells the other backwards; this suggests that one solution is worse than the other. If you had to buy one, I'd by a NAS...but that is a different subject.

The Snow Day - From the mind of a 6 year old

I write this in hopes that my two sons will read as they get older. Maybe it will help them understand the quirkiness of their father. I hope it puts a smile on your face boys. I love you both. Be Aware: Dad (me) has a faulty memory so while some things may not be factually acurate, this is how I remember them.

I was born in January and grew up in Tacoma Washington, a town near Seattle. At that time, and probably to this day, it snows a good bit. On my fifth or sixth birthday, lets just make it easier and say it was my sixth, we had a pretty good snow storm blow through.

It was the kind of day that a kid loves. Snowing outside, not a lot of wind, the snow is the soft kind that makes great snowmen and provides just the right amount of cushion to jump off the front porch. Which, by the way, I was forbidden to do but being six and knowing Mom was always wrong I did it anyway.

Mom kept the hot cocoa coming, so I remember alternating between the running in the snow and sipping hot brew at the fireplace. The easy life of a kid.

At the time my father was in the army but was on leave so was home. This was a highly unusual event, but made for a great day even better. Because as all six-year-olds know, when Dad is home all rules are open for new interpretation.

Dad and I spent the better part of the morning building a snowman. I gotta say Dad knew what he was doing. This snowman must have been 6 feet tall and about 4 feet wide at the base. We actually carved arms out of some icy snow and put them on thing. It come out pretty muscular and hulky looking. I remember being a tad bit frightend as it was so very very big. Remember I was six so I was still coming to grips with how tall adults were. (Side Note: Do you remember in 1st grade, how big the 5th graders seemed...giants they were. Or maybe that was just me.)

As I was saying before, it was my birthday and we had our little family celibration in the living room. After the cake my mom wipped a bed sheet off of my present, which was sitting in the corner. HOLY MOLY, I had gotten a Green Machine.

Now, let me enlighten you as some of the newer generation may not know what this awe-inspiring vechicular man-child toy is all about. Back in the day, big wheels were the state of the art way to travel for a six year old. (I still think they should be, but times change). A big wheel is like a tricylce except it has a huge wheel in front and was a low rider...sort of.

Well, the Green Machine, was the cadalliac of Big Wheels. Green and slick, it did not have a true wheel, instead you used these levers to spin the beast left and right. It was as tall as or bigger then me, and I could bareley touch the peddles. It was great for donuts and drifting though.

Now my Mom and Dad were never well off, so Mom had gotten a used one from the thrift store. (remind me to tell you some of my thrift store stories). So yeah, it was a little used. But hey this beautifull, speed demon of a machine was MINE and mine alone.

About 10 seconds after the un-vieling I was out the door. Now, use your imagination and paint a picture for yourself...Your looking at a street, covered in about 2 feet of snow. The side walks are sholved, but some of the snow has melted on them so thier pretty slick. We also lived on a pretty good sized hill. The hill stretched about 5 blocks and was probley at a 20+ degree angle. We were about 75% up the hill, so there is a long way down.

I'm slipping and sliding all over the side walk, my Dad's trying to show me how the levers work, but I won't stop peddling so he can't quite show me what I need to know. But I'm a clever kid so eventully I think I have the hang of it. Sorta.

I think at this point Dad got a little disgusted and figures he would let me do my own things. He goes to play with my younger siblings.

I in my infinite wizdom as a six year old, think that all I need is some momentum. Speed and momentum and then this Green Machine has to go stright.

So I push this thing, which is almost as big as me, up the hill about a block. Now this is the part that I remember most vividly about this day. I'm sitting on this thing, I can barely see over the levers and the wheel. I'm in the middle of the sidewalk and I'm looking down the street. The sidewalk looks like some type of roller coaster. A dark, icy wet rollercoaster ... with snow bumpers on the side to keep me on the track. At this point I begin to have second doubts.

But then I see my Dad, he's just noticed that I'm not "in the yard". He turns and yells "Markus", this startles me a bit, I lift my feet and ....... we ........ are ......... OFF!!!!

Fast and faster, At T minus 4 seconds I'm going to fast to bail out. I grab a lever. The beast scoots towards the road. Dad runs out waving at me to stay out the road. I pull the other level. The beast scoots toward the yard. I'm thinking "nice, this might work"...then I glance stright and realize that the sidewalks goes on for about 3 blocks, an eternity, and it is .....all .... down... hill!

A moment of panic sets in...I grab both levers and pull at the same time. The beast of a machine goes into a spin, throwing me out like a snowball shoot from a sling. I hit the snow bank and kinda... sorta... launch over it. Only to see the 6 foot tall GIANT CHILD EATING SNOWMAN looking to eat me. Screaming, I face-plant into it's enourmous stomache.

Dad's running over, but slips and falls and I guess he nudges the snowman because at this point it's arms fall off. Suddenly it wasn't quite so scary a snowman.

I remember laughing a lot, Dad not so much.

I don't know what happend to the Green Machine.

But to this day, I love the snow and I love birthdays.

Sample Code: Merge Gifs with PHP

For those who need it, and for my bad memory. The following code will take two image files, lay them over one another, and print some text on the top.

An easy way to create dynamic images.

//
//base image (is under everything)
//
$image = imagecreatefromgif("background.gif");
$width = imagesx($image) ;
$height = imagesy($image) ;

//
//create the final image to be output
//
$image_final = imagecreatetruecolor($width, $height);

//
//create a few colors, for drawing
//
$black = imagecolorallocate($image_final,0,0,0);
$white = imagecolorallocate($image_final, 255,255,255);


//Get destination coordinates
$dst_x = 75;
$dst_y = 75;


//fill image with background
imagefilledrectangle($image_final, 0, 0, $width , $height , $black);


//copy background to output image
imagecopyresampled($image_final, $image, 0, 0 , 0, 0, $width, $height, $width, $height);


//
// Add another image over the top
//
$overlay = imagecreatefromgif("unit.gif");
$width_o = imagesx($overlay);
$height_o = imagesy($overlay);
imagecopy($image_final, $overlay, $dst_w,$dst_h,0,0,$width_o,$height_o);

//
// Write some stuff on the image
//
imagestring($image_final, 3, 15, 32, "Hi there", $black);
imagestring($image_final, 3, 200, 32, "Holy Moly", $black);


//
// Send the image to the browser
//
header("Content-type: image/gif");
imagegif($image_final);

Angels and Demons – Traps

I recently added a new feature to the Angels and Demons game. To date the game has consisted of a pretty simple game model. You build buildings, research and level up till you have the best units you can get. You then start to attack the Holts (player maps) around you. Seeking to take them over.


When a battle takes place, the Attacker decides on the number of warriors to send on the attack. They send the warriors on their merry way and 10 min later the battle takes place.

When a player is attacked, the Defender, all available warriors will participate in the battle.

Now with Traps, Defenders can take a part of their Army and "hide" it on a specific Holt. Once those warriors are hidden in a Trap the Defender cannot use them to attack anyone. However if an Attacker launches an attack on the specific Holt the "hidden" warriors do twice as much damage and have twice the defense.


An Example:

The Demon "DemonKnight" is consistently attacking "Heavens Path" which is owned by the Angel "Eternal Life". Eternal Life decides to set a Trap and hides 300 Arch Angels on Heavens Path. This leaves Eternal Life with 1,000 Arch Angels to play with.

DemonKnight attacks and finds himself facing 300 Arch Angels at (*2) attack and (*2) Def. And an additional 1,000 Arch Angels at normal attacks and defense.

He is routinely demolished.


My Thoughts

I think this adds another dimension to the game, as players can bait Holts by making them look like easy targets. Attackers could be suckered into attacking, but when facing a unit with 2 times the attack, the Attacker units die faster. And because the Defender has 2 times the defense, the defender units die slower.

This seems to be a clever way to slow down an aggressive player.
























The Warriors of Angels and Demons

I changed the stats on the warrior classes within Angels and Demons. Some people might like to know the thought process, other just want to know so they can rule in the game. Either way, here are my thoughts.

Level 1
New Users will need to have some cheap units, so they can build an army quickly and feel properly impressed with the shear volume of warriors they have. I also want to encourage them to build some buildings and get used to the whole research / train/ fight. So for all of that I have created the following:

(Att: 1, Def: 1) Dark Warriors, Holy Soldiers : Starting warriors, a little attack, a little defense, really cheap. Build away

(Att:1, Def: 0) Grimlins, Soldiers: Cannon Fodder, a little attack, no defense. Good to train a bunch of these if you are about to attack.

(Att: 5, Def: 5) Angel, Fallen Angel: Good soldiers, some attack, some defense. These will be your staple warriors until you can advance a few levels. They are not bad and even as you advance you should keep a good bit for defensive purposes.

Level 2
Now at this point in the game, you've attacked a few folks and discovered that while the Angel and Fallen Angel are good for attacking newbies and weak players, they just don't cut it when it comes to a real battle. This is when you begin to pay attention to the actual attack and defense value of your Warriors.

(Att: 10, Def:100) Warlock, Cleric: Your first real warriors. These warriors become available after you have played for about 2 hours. Great defensive warriors and good for attacking.

(Att: 50 Def: 25) Hero, Dark Lord: Your elite attacking squad. It will take about 5 hours for them to become available, they cost a lot but are worth it if you are attacking.

Level 3
So, you've collected a few Holts. Maybe you have opened a Realm Gate. You know how to time your spells and attacks. But there is this one major bad a** who keeps attacking you. You really want to plan something special. An attack of massive proportions, one which can wipe out a whole Holt in one swoop. Now it's time for you to train the big boys.

(Att:150, Def: 50) Arch Angel, Lower Demon: Now your talking, send these guys in and they can wipe out a watch tower by themselves. They do cost a lot of souls.

(Att:300, Def:150) Demon Priest, Demi-God: The strongest unit in the game. By the time you have these guys you should be fighting battles over multiple Holts and Realms. You should only be able to afford a few thousand of these at a time.

What is Angels and Demons?

Angels and Demons is the latest game I have been working on. It is a resource management game where the primary resource is souls.

The game starts of simply and gets more complex as you progress. There is a certain language or culture that goes with this game as you will see.

When you start you have to choose a side to join. You can either join the Angels or the Demons. Angels defend a bit better and Demons attack a bit better. Once you have made a choice, you can not change sides.

After you have picked a side you are given a piece of land, called a Holt.A Holt consist of a 7 x 8 grid of land. It is your base of operations...of sorts.
On a Holt you can build structures, each structure allows you to do take different actions. Certain structures train warriors, others will gather souls, others will cast and maintain spells.

Each building that you build increases your Holt's attack and defense powers. Not important right now, but critical later on.

You start the game with 1,000 action points. Action points are the life of the game, they allow you to perform actions. You receive 1 action point per min up to a max of 1,000. (This may change depending on the game server and general feelings of the developer). Action points can not be purchased.

You start with the ability to build three types of buildings:

One that will train warriors. One that will gather souls. And one that will defend your Holt. You can build as many as you want although each building cost a different amount of action points and souls to build.

Each building allows you to "Research" another building. These research able buildings can not be built by you yet, as you do not know "how" to build them. Spend the action points and these buildings will become available to you. The first few are easy to research.

Now this game takes a bit of thought, initially it would appear that if you build a bunch of stuff you can win easily, but you will find that your action points will not be enough. You can not win this game by being the fastest "clicker" or the person who visits the most often. You have to do a bit of planning. Strategy some might say. *grin*

Once you have an Army go exploring, visit the Holts around you and figure out who deserves to die.

The Next Level

There is a meta game, to Angels and Demons. You have your Holt and you can explore the surrounding 8 Holts. These 9 Holts, yours and the 8 around it, make up a Realm.

Initially you are competing with just those folks in your Realm. But when you begin to dominate and hold 3 or more Holts you will receive a "Realm Gate", sometimes called a Neather Rip, this gate will allow you to travel to other Realms.

However it's a double edged sword. Until a Realm Gate is built your realm could not be attacked from other Realms. Now that one exists, other Angels and Demons can enter.

So at this point you are now competing against other Realm holders.

Ranking

You will always see a ranking for just players who have Holts in your Realm.

You can see a game ranking which ranks you with all players as well.

Tokens and Membership

Members can purchase Tokens. Tokens allow you to perform certain actions quicker but still take action points. For example you purchased a "Fallen Angel" for 500 Action points....normally you would have to wait about 3 hours before that unit is ready to fight. Member tokens can be used to bring that character up to speed immediately. There is a limit to how many tokens you receive each day, and every time a member uses tokens, free tokens are given to Non-members.

Members have special avatars in the rankings, chat and online boards.

Members are able to name their Holt and lay down different floors on their Holts.

Members are able to view a full list of all their buildings and all the outstanding actions for those buildings.

Thanks for reading the post!!!