Wednesday, July 17, 2013

Back From Unemployment Hell

The Search For Steady Employment

It's been a while since I've updated the blog. I've had quite a few things happen between September 26, 2012 and today. I lost my job at UNMC in November of 2012, tried and failed to get unemployment benefits, worked for 3 months of night shifts at QuikTrip, and finally landed a Researcher job in Lincoln at UNMC College of Dentristry. I research Candida albicans and oral candidiasis. (my work station also has a lousy keyboard)

Games ++

I also have continued to work on game design. I went to Games ++ last October. I worked with a group of people and managed to learn the basics of level design in Construct 2 while slowing the rest of the team down. :D Our project was titled "A Certain Death". The game is a plaformer where a cube becomes transformed over time by the novel deaths it suffers - a grinder shaves it into a sphere, spikes turn it into a wall-clinging spike ball, electricution allows it to activate wired devices, etc. We managed to get the ball to the spike death, but struggled to get wall jump to work.  I stumbled upon an unorthodox method of allowing a ball to cling to a wall: change the wall colliders to steep stairs, only 1-2 pixels wide - wide enough to catch the ball, but not allow it to clip past the wall graphics. In the end, our game was mostly a prototype with working controls on an Xbox 360 controller. On the bright side, our game won best music (completely not my contribution).

So now I'm back, and I'm ready to design games again, but I'm out of time for today ...more posts to come!

Wednesday, September 26, 2012

September update - Job Hunting, Learning Frustrations, Back to School, and Great Anticipation

Greetings all, long time no post!

The following is what I have been doing over the past month. There's a lot of personal stuff and some game design stuff mixed in. If I figure out how to make a page jump to the GD stuff, then I will link it HERE.

The Job Hunt Continues...

I've been spending most of this month trying to find a job. Since my formal education is in Biology/Chemistry research, I haven't been seriously looking at any game design jobs in the Omaha/Lincoln area. Don't get me wrong... I am looking (and dreaming), but not seriously yet. I've been focusing my efforts in restoring my soon to be lost income at either academic research labs or industry. Recently, I've had a couple of phone interviews with Novartis, a pharmaceutical company with a plant in Lincoln. I'm being considered for their Microbiology QA position that is open at their Lincoln branch. The interview process is the longest one I've ever experienced: I've waited nearly a month just to get the first phone call to schedule a second phone call for a first interview (phone tag), followed by waiting another week to receive a third phone call to schedule a fourth phone call for a second interview (phone tag 2: the redialing), and finally a fifth phone call to schedule an on-site interview (2 hours in duration), two weeks later (Friday, September 28th, wish me luck!) Overall, the process has taken about 2 months since applying (not uncommon for jobs like this, but the interview process is over a month long!) I really hope they offer me the job, as I do miss my microbiology roots.

Over the past 2 weekends, I have been suit shopping in preparation for the upcoming Novartis interview. I finally settled for an inexpensive black suit from Men's Warehouse with a nice wine colored dress shirt and a black tie with white and silver designs (the ones that kinda look like leaves/drops). I feel quite snazzy while wearing the suit, and my wife gave me a nice buzz cut to go with it. I clean up quite nicely, I think.

 The Joys of Parenthood... Again!

In addition to job hunting, my evenings and weekends have been dedicated mostly to getting my house ready for the new addition to the family: Dexter Alexander Williams. Dexter's room has been ready for him for a while now, but we still needed other supplies like clothes and diapers. Fortunately, about a month ago we had a baby shower in Des Moines, and got loaded up with lots-o-swag, including a pimped-out Radio Flyer wagon. This thing has cup holders, seat belts, all-leather interior, satellite radio, GPS, and a spoiler! Well, only the cup holders and seat belts, but WOW! All my red wagon ever had was hot metal, rust, and the ever-present threat of tossing me overboard. (good times) Dexter should be arriving any time within the next 15 days, and hopefully not the day before my interview.

We also celebrated Celia's second birthday a few weeks early by having a party at our house with my in-laws. Happy Action Theater stole the show as the best party game, and the only one, really (she is only 2 after all).

Back to School... Back to Work!

In other news this month, my second job is in full swing now; teaching Introductory Biology at IWCC! I have a small class this semester (only 14 students), but every student seems enthusiastic and energetic during the lab/lecture. (that's 40% of week nights no longer accessible for game dev or game play) I'm not a huge fan of teaching this particular course, as it covers a broad spectrum of topics, but does not go very in depth. However, of all the possible part-time jobs I've found around here, this one pays VERY well for the time invested. Teaching is how I generate extra funds needed to pay down my debts. If it weren't for people like Dave Ramsey, my family would probably worry considerably more about my recent layoff.

Finally... Some Time to Make Games!

Immediately following Celia's birthday party, I hopped onto my computer to view the OGDA live stream interview of Raph Koster! I very much enjoyed his talk, but was not able ask questions before the stream ended. Of course, I didn't have anything to ask at the time, and haven't taken the time to think of any.

Other than missing out on the Raph Koster interview on site, I haven't really made any earth-shattering progress on my game design training. I've hit a roadblock of sorts attempting to complete the Robot Repair game in "Unity 3D Game Development by Example Beginner's Guide" By Ryan Henson Creighton. The problem I've found arises from trying to pass a string from one function to an array. The Guide uses nested arrays in JavaScript as the original method of storing these strings in a grid for making a memory game. unfortunately, the code does not work while #pragma strict is being used, and I'd rather work the solution out without removing that. I've been trying to replace the arrays with generic Lists instead. I'm close, but the same problem arises. I think the real problem (for either method of making a grid) lies in the fact that the Guide's code passes a string to an array/list that is intended to hold Objects. I could be totally wrong, but a few small changes may fix this.

While trying to divide my desk in half with my forehead working on the above problem, I've also been working on learning C# (my intended programming language of choice). I completed the four tutorials (and a few of the challenges) included in Visual C# 2010 Express. (Picture viewer, maze game, math quiz, and matching game). All of these tutorials were very well written, and I really like the IDE; the intellisense works much better than MonoDevelop IMO, and you can hide more unnecessary lines of code than with MonoDevelop. Unfortunately, I am out of the general tutorials, and have yet to try any that combine C# with Unity. I found a handful of Unity/C# tutorial options by googling for a while, but I haven't settled on just one yet. I will update/tweet later if I decide on one.

I also had an extensive conversation about LD24's evolution theme with Zembar, my old friday night game night buddy. We talked about how metroidvania games have characters who grow as the game progresses: each power-up adds new tactics to the game, and new ways to explore earlier areas. Evolution is often misinterpreted as the improvement of a species over time, when often these "improvements" are context sensitive (e.g. growing thicker fur in a colder climate, or growing less fur in a warmer one). Thicker fur in a tundra is beneficial, thicker fur in a desert is detrimental. Also, certain features of evolutionary ancestors are lost over time (often as vestigial structures). True evolution makes the new species unable to mate with the ancestor species, so in a video game, if the main character is to "evolve", it must become radically different from its original form, losing some features and gaining others (setting aside the whole "individuals don't evolve, populations do" concept).

Take Super Metroid, for example, imagine being given the option to choose between using the charge beam, (with a single powerful shot) or using a new hypothetical power-up that when charged makes normal shots moderately more powerful or faster, but individually not as strong as the single charge. Both options give you potentially limitless attacks against bosses, but tactics will vary based on what the player is fighting (e.g. Phantoon is only vulnerable when his eye is open, so single charges would work better, but Kraid only opens his mouth after getting hit in the face, making the mini-charge a better option.) Providing the player with two options for an equivalent powerup gives the game more potential for replay. This would be an example of divergent evolution - one origin that results in more than one ancestral lineage.

We also talked about how it would be fun to make/see a metroidvania game where every power-up had a counterpart, but choosing one meant losing the other (and subsequent areas of exploration that they unlocked), but both powers would grant the player access to enough new areas to complete the game. Once the player beat that game, they would have the option to play a new game+, where they got to keep any power-ups they found the first play through, and got to choose the other power-ups they missed out on. Also, a special area would have to be accessible at the end that required the use of all power-ups to find, which would house a special boss mode: a randomly chosen battery of bosses with a gate that required the temporary deactivation of about 75-80% of the player's powers to enter. All bosses are beatable, but may be more challenging without certain powers. ...There I go again, designing more than I could possibly create by myself in one lifetime...

Games, Games, and More Games!


My sugar-daddy, GundamX, AKA Vinnie the Fish, has bestowed upon me two highly anticipated titles for which we are to play until the holidays (when new addictions pile up).

Borderlands 2

The first shiny new game is Borderlands 2 (BL2). BL2 is the sequel to BL. It takes place some time after BL + DLC. I've encountered Roland (Soldier class from BL), and I hear the other characters make appearances as well. The game has the same look and feel as the first, just with new story/classes/characters, etc. I'm playing the Gunzerker class when I play Co-op, and the Assassin when I'm derping around solo.

I chose the Gunzerker first because he represents the best of the two classes I loved in BL: The Hunter, and the Berzerker. I loved both of these classes in BL, but each had drawbacks that left me wanting more...

Brick the Berzerker had awesome survivability, and an action skill that was amazing for survival, but not my preference for offense. Losing the ability to shoot during berzerking really frustrated me later on in the game, as it felt more like a free heal and escape than a viable offensive tactic. Brick also didn't have many good gun skill options - rockets or bust seemed to be his motto.

Mordecai the Hunter I liked a bit more than Brick - he had awesome firepower, and a few more offensive options than Brick... but he was made of glass. Mordecai's action skill didn't seem like it was worth it to me. I felt that Morty functioned much better with insanely powered mashers and revolvers than with the bird.

Both classes I played in BL had major drawbacks directly related to their action skills, but Salvador appears to get the best of both worlds: survival and guns! I'll write more on this later when I play some more.

Torchlight 2

The other addiction I'm nursing is Torchlight 2 (TL2). Torchlight 2 feels like a mix between Diablo 2 (D2) and Diablo 3 (D3). D3 had a slightly better control scheme than D2 by adopting a skill bar in addition to left/right mouse buttons. However, having only 6 active skills is a big part of what gives D3 so much of a challenge. A major flaw in D3 is that all max level characters have the same base stats and access to the same skills. This loses the specialty classes we saw in D2, and causes the endgame to degrade quickly into cookie-cutter builds or FotM builds (based on skill changes after new patches). In D2, the skills were diverse, and required a certain level of commitment to a character theme or role. Early on, D2 had a huge variety of ways that people specialized their classes. Stat points and limited skill points made these builds so unique. Torchlight 2 capitalizes on the best of both: limited stat points (not predetermined), and limited skill points (but no prerequisites other than level). The idea of skill tiers is also fantastic! Certain skills that may be cast the wayside have more chances to be useful if their tier unlocks are worthwhile. E.g. Heal Bot skill for the Engineer class: early on, the bot heals seldom, for small amounts of HP; pumping points into him unlocks tiers that also add mana regen and other benefits while improving previous stats as well (more healing, more hp/heal etc).

I'm still trying to adjust to the play style of the game, and I'm faced with the same problem that I encounter every time I play Diablo 2: What is a good build, and how do I progress to it. Diablo 3 spells out in plain language on their tool tips what each stats affects and what classes benefit most from which stat: (Str for Barbs, Dex for DH and Monks, and Int for Wiz and WD, although there are variants here too (e.g. high strength witch doctors for high armor stats which pass over to their summons)). As usual, I will read countless builds and guides for each class until I find a build that suits me. I'm leaning towards the Engineer as a class of interest, but I'm also enjoying the sheer killing power of an Embermage.

That's all for today, folks! I'll post again (hopefully) soon!


Edit: This just in... Vinnie the Fish says: Resident Evil 6 ships next week! My life just got busier...
(-_- " )

Monday, August 27, 2012

Achievement Unlocked: "I Ludum Dog Dare You!"

Hi all,

This weekend was Ludum Dare (LD48) #24, with the theme of: "Evolution". I wasn't sure whether or not I would participate in LD48 or not. For those who are not familiar with Ludum Dare: LD is a 48-72 hour game jam that challenges game designers (or wannabes like myself) to make a game in 48 hours (solo competition) or 72 hours (group jam). The catch? The games that are submitted must adhere to a theme voted on by participants and chosen the moment the jam begins. Essentially, everything in a LD game submission must be fabricated by the participant(s). These include graphics, sounds, music, etc...

When the competition started on Friday night, I spent the evening relaxing and brainstorming. I considered making a platformer where choosing different paths unlocks different abilities/weapons for future levels (like Metroid, but without acquiring every ability in a given playthrough; choose one, lose the other). That idea, while good on paper, was impractical for a 48 hour solo jam session. The next idea I came up with was to make a scrolling shooter that featured evolving the main character and the enemies (also too ambitious, and not incredibly original). Finally I decided to evolve the game itself: take a simple game like Keep-Up or Pong, and evolve it into another game. I chose to take a Keep-Up clone and evolve it into a scrolling shooter with a Breakout clone intermediate.

The angle that I approached designing the game was to connect primitive early levels (rough, crappy designs with few mechanics) to progressively complex and vibrant end-game levels (better controls, more game mechanics, and better graphics). Not only would the game evolve, but so would my ideas.

I decided to use my most comfortable game design SDK: GameMaker (the free Version of GM8.1). I spent most of Saturday relearning how to use GM8.1 and building the Keep-Up and Breakout mechanics. I did relearn most of what I had forgotten about GM8.1 from my days making 1945. I had a tough time properly triggering thought bubbles at appropriate times. My Google-Fu did not let me down, and I was able to quickly solve problems other people encountered before - remember kids, if you don't understand something, don't ask your parents, just Google it! (not a real PSA, Google is not a substitute for good or mediocre parenting). Sunday I spent making the scrolling shooter level and wrapping up. In spite of my triggering issues, I was eventually able to make a finished game with a (crappy) title screen, and a (crappy) end screen.

Things I learned from this experience:
1. Never use test number of instances in a step event to create an object, draw a sprite, or set a timer, as it will often repeat these actions infinitely. Instead use another variable as a pretest before the number of instances test that is designed to only run once.

2. I love making pixel art to a fault: too much of my time was spent making complex sprite animations, particularly the Breakout blocks. (Although they do look very shiny and have a decent looking shatter effect.

3. Your game will never feel complete given time constraints- sometimes you just have to pick a cutoff point and start wrapping things up.

Speaking of time constraints... I managed to make my game while still performing a minimal number of required living activities like: grocery shopping, running to work to check on a freezer that was failing, eating, and getting two full nights of sleep. It is quite difficult to make a game at home over a weekend while attempting to watch a toddler, by the way...

Here is a copy of the finished submission. Overall, the game was the manifestation of my original design, but with much less content and polish than I had hoped to include. I feel like if I had more time, that I could make each mechanic more gradually introduced, and the final level more polished.

Completing my first game for LD is a landmark achievement, as I have a truly original creation under my belt now, but I don't feel much closer to becoming a game designer than I was last week. Once I become more comfortable with Unity, I may participate in another LD (most likely as a team member in a Jam) and use Unity to make my next game. Hopefully then I will feel closer to becoming a "real game designer".

I hope you enjoy my simple little game, and have a better understanding of why it appears to be inconsistent from level to level - it's intelligently designed that way.


Friday, August 10, 2012

Thursday Night Game Night 8-9-2012

When I was in college, every Saturday night, my friends in town would tear ourselves away from our World of Warcraft addictions for a few hours to meet up and play other games. Most often, we would play board and card games, and would only play console video games if there was a new title that we all could play together. We played games like Twilight Imperium, Robo Rally, Warcraft/World of Warcraft board game, CCGs (World of Warcraft and Magic: The Gathering). Every weekend, it was something different. We would still occasionally discuss the goings on in WoW, but often we were drawn into the games in front of us. I thoroughly enjoyed those nights, and would come to miss them when I entered graduate school.

Years later, I still keep in touch with my old friends, but I no longer live near any of them. Recently, I started playing games online again with one of my old friends: GundamX. GundamX and I have been friends since high school, and have started weekly gaming sessions again: this time on Thursday nights. Most often we play Xbox 360, but occasionally we play games on PC through Steam, or other online games. Setting aside one day a week to unwind and distance myself from late night game dev training sessions has been good for me. I use the opportunity to relax, but also to be inspired by new game experiences. Often times, AAA titles like Diablo 3 and Team Fortress 2 dominate game night for several weeks on end, but occasionally we turn to other titles, if only for that night.

This week, we tried Killing Floor by Tripwire Interactive. The game is an FPS that is made with the Unreal engine, and is available on Steam. The game has mechanics that remind me of Counter-Strike, Call of Duty: Zombies, Left 4 Dead, and Borderlands.  Overall, it took some time to get used to the controls, but quickly became fun, and it is likely that I will play it again soon.

The theme of the game is co-operative survival horror: several zombie-like specimens will spawn and attack the players' positions from several attack points. Many of the areas have multiple points from which these enemies can attack from, so camping one location is ill advised. The game play is divided up into several waves, where each wave spawns an increasing number and variety of specimens. In order to survive, players must constantly reposition across the map in pursuit of the game's only friendly NPC and part time narrator/cheerleader: the Trader. As players rack up the kills, they earn money, which can be spent on better weapons, ammo for those weapons, grenades, and body armor. The aiming system utilizes iron sights and has no targeting reticule. These attributes remind me of the zombie mod from Call of Duty.

Also, any weapons owned or found (except for the two starting weapons) can be sold to the Trader. Items take up carrying capacity (called blocks) for each player, each block that is used also slows that character down, so if you're the type who likes to bring the big guns to a fight, then you'd better know how to kill with it, because you won't be able to outrun some of the faster specimens while lugging it around. The economy created by the Trader, and the effects of weapon load outs on move speed reminds me of Counter-Strike.

The specimens that make up the enemies of the game each have their own unique skills. Clotters look like ordinary zombie type enemies, but have the ability to root you in place until you kill them. This mechanic alone can get a player killed fast, and greatly contributes to the frantic run 'n' gun nature of the game. Other examples of specimens have bodily fluid projectiles, ranged weapons, cloaking, and super-speed, (just to mane a few) providing a nice mixture of player tactics when encountering each. Most of the time on the easier difficulties, shooting at range in the general direction of the enemies is sufficient to dispatch them, but with higher difficulties, other tactics may apply. Having a variety of enemies with unique abilities and strategies reminds me of Left 4 Dead's Special Infected.

Finally, there is an RPG-like element to the game, where each profile you make can choose a specialty, complete with a list of perks. Performing actions that match that play style (using explosives with the demolitions specialty) earns points that contribute to new levels and better perks in that specialty. In Borderlands, each weapon class has a similar system of weapon proficiencies that boosts damage on the weapons your character uses the most often. This encourages new players to branch out and try new weapons once they get comfortable in the game. At any time, the player can switch perks that they want to level or use on the fly.

These are only a few observations I made about the game within the 2 hours that I played it. At first, I had difficulty coping with the iron sights (as I often do in recent FPSs), but once I adapted, the game became fun!

I will continue to log these gaming experiences along with my game dev training progress as often as I can.

Thanks for reading!



Wednesday, August 8, 2012

Our Journey Begins

Let's Tarantino it:

Back when I was in high school, I took a programming class my senior year. This was a big mistake: I should have taken it much sooner! I loved that class! I learned most of what I know about programming from that class. The class was in C++ programming. I learned variables and declarations, how to manipulate variables through code and user input, loops, and switches. We also briefly worked with some simple graphics programs too. One of the two final projects was to make a bill tracking system that calculated what portions of a given user's payment went to interest, and what portion went to paying off the balance. The other was to make a screen saver program (not actually implemented, just the animation) what involved making a random number of circles, with random color assignments, that had collision detection with the screen edges and each other. Very similar to the bubble screen saver, but with solid circles and a solid white background. I don't have any idea what happened to my old code files. They probably wound up on a floppy somewhere, and eventually were lost.

In my early college years, I took "Computing for Engineers". I worked with another programming language (I think), Matlab, and Excel. I don't remember much about it. Later on, I did take an intro computer science class that brought me back to C++ all over again. It was much easier to learn the second time around, but I wasn't as thrilled about it as I was in high school. I think my brief loss of passion was due to my infatuation with research. I worked with Dr. Mark Merchant, who researches alligators and similar species, particularly their immune systems, which have excellent anti-microbial properties.

Flash forward to recent years: After graduate school, I came to realize that my lifelong passion for playing video games had evolved into analyzing and studying them as well, and has started to rekindle my passion away from research. One example, in my TF2 days, I used to spend a fair amount of time spectating and watching the top players on each team (or each class) and studying their play styles: whether or not they stuck with a group, if they attracted medics (pocket medics), direction of attack, etc. I also spent a fair bit of time on some TF2 forums reading and posting about the game, but my favorite posts were speculations on new weapon load outs (after the medic update), and proposing new classes.

I enjoyed posting ideas so much, I decided to look into the field of game design. I read Tom Sloper's FAQs and other resources, I contacted a few developers from Iowa: Intuition Games (the closest game dev contacts I was aware of at the time), and got started with Game Maker, with the intent to move on to Flash. I was getting excited about designing games and was hopeful about the future.

Recently, I discovered OGDA, a local game dev association! This group supercharged my interest in the field, and has been instrumental in establishing contacts right here in Omaha. I have met several aspiring game devs, who want to succeed in the business as badly as I do, and even a few who have! I cut my game testing teeth on Vince Twelve's Resonance. I also showed up for the last Ludum Dare, which had a low turnout, but was still an excellent experience! After meeting at OGDA for a few months, I decided that I wanted to learn to use Unity, so I changed gears, and started studying C# and JavaScript, as well as studying books and other resources.

Two weeks ago today I was informed that I was going to lose my job in 90 days. I was surprised at first, but I decided to make lemonade (so to speak) and use this opportunity to kick my self-training up a few notches. I now have redoubled my efforts to learn JavaScript and Unity, as well as game design exercises. At the same time, I am applying to a variety of biotech companies to take advantage of my current education and work experience. When I am ready, I will start looking for opportunities in game development locally.

As for my game dev progress:

I am almost done learning the basics of JS, I just need to learn how JS handles classes, and I will be able to complete the next set of WBS Unity exams. Incidentally, I passed the first two exams last week.

In Creighton's Unity book, I am about to learn how to make a GUI, which I did a small amount of in Game Maker, but only scratched the surface.

As for the Challenges for Game Designers progress: I have read chapter 2, and have created a simple race to the finish game similar to chutes and ladders, except involves racing up and out of a sinking ship before the decks flood and a player is eliminated. The game so far isn't playable yet, as I still need tokens to represent players, and the water level. I also need to determine how the players will move, and I am favoring 1D4, to keep the game slow paced for the players and keep the pressure of impending doom upon them.

The other game exercise is a territorial acquisition game, with triangular tiles on a star shaped map. Players draw tiles from a deck every turn. The number is dependent on how many tiles their opponent has captured (still working on balance: how many occupied tiles equals an extra draw?). The method of capture: rock-paper-scissors (RPS). a tile and capture token may be placed on the board tiles to capture that tile. Neighboring opponent tiles will contest the placement of the new tile via RPS. If a player wins the contest, his or her opponent's tile is converted to the player's by replacing the capture token. If they tie, neither player wins, and each players' tiles retain their capture tokens. If a player chooses to, he or she can also intentionally lose a tile to the opponent. The game tiles will have a random assortment of symbols on each edge: rock, paper, scissors, gun, or dynamite. Rock beats scissors, scissors cuts paper, paper covers rock. Gun defeats rock, paper, or scissors, ties to gun, and loses to dynamite. Dynamite destroys all 3 surrounding tiles, removing them from play but is destroyed in the process. I love games that involve strategic planning, combination strategies (combo moves), and a smidgeon of luck - so far I like this second game more (if you can't tell...).

More to come, wish me luck (again) on the JS exams!


Thursday, August 2, 2012

WalkerBoysStudio Unity Exam 1 and other news.

I just finished watching the first 60 Unity 3D tutorials from WBS. They did an excellent job introducing all of the basic interface and functions in Unity. Later today, (after I sleep, I suppose) I will take the first exam, and try to plow through the material for Exam 2 as well... I can't wait to try their game tutorials!

I am simultaneously following Ryan Creighton's intro to Unity book: Unity 3D Game Development by Example. I completed the first four chapters now, and made a simple version of keep up, with nothing more than a camera, a sphere, and a very flattened cube with a short script attached to it. The original version of the game in the text did not work as well as I had expected on my laptop; the movement of the paddle seemed limited and restricted to a small area. Also, I could not figure out why there was a need to move the paddle along the z-axis. For these reasons, I made a few modifications on a separate script to make the game simpler and more responsive.

For some unknown reason, after I did this the paddle decided to turn into a crazy pinwheel, propelling the ball in a random direction if I so much as breathed on my mouse! (0_o) I wound up rewriting my modified script a second time from a copy of the original. Now I have a simple keep up game in 2D with a paddle that (for the time being is on Ritalin and) responds naturally to mouse movements across the whole screen. Joy!

Both Unity 3D resources are now directing me towards basic scripting (the real skills I need to develop). Wish me luck!


Sunday, July 29, 2012

Early works in the land of Game Maker 8

Back when I first started making games, I trained myself in the basics of Game Maker by following the tutorials. I made "Catch the Clown" and moved on to the scrolling shooter demo "1945". The tutorial file provided all of the graphics needed to make a scrolling shooter. If you have GM8 (not sure about later versions), you can try it out yourself here. Press F1 in game to view the instructions.

I completed the tutorial, but I wasn't satisfied with where I left off, so I increased the speed globally, designed some power-ups, added 2 bosses, changed the difficulty such that new enemy planes were introduced after every boss fight. Here is the modified version with my own special touches. I don't take credit for most of the sprites or the idea of the game, however I did design the power-up graphics, drop rate, function, and the ability to choose between shot styles (rapid shot and spread shot). I originally had a combined rapid/spread shot style with three levels of each shot, but the rate and spread of fire became so extreme that you could sit in one place and kill most enemy planes long before they reached half way across the screen! The solution was to reduce and separate the shots... which posed the new problem of including a weapon selection system. After making a switchable weapon system, I needed a way to display which shot was selected, so I added a display to the UI.

The first boss I designed was inspired by the submarine sprites included on the master sheet in the tutorial file. Figuring out how to make a bullet-hell like shot pattern was tricky, but the patterns I used are basic compared to the more complex (read: insanely difficult) patterns used in other games.

The second boss was an experiment to test the pathway system in Game Maker. The tutorial didn't make any use of the pathway system, so I played around with it until I found a movement pattern I liked... The second boss moves in a predictable pattern, but covers a large area with spread shots and makes attack runs firing targeted (but not homing) shots, much like the silver enemies.

This project was a fun learning experience, but I didn't choose to pursue GM8 any further in favor of learning Unity 3D. I am currently working through the Unity 3D training course provided by WalkerBoysStudio, as well as reading and following Unity 3D Game Development by Example by Ryan Creighton, and Challenges for Game Designers by Brenda Brathwaite and Ian Schreiber. As I reach new milestones, I will share them here.