Saturday, March 1, 2014

New Game Assets and an updated release date

When I first started Farmageddon, it's purpose was more get-a-game-done-for-a-change motivation than anything else. At start, I'd given myself a month to throw together a quick game. After that month, I realized that I had a game with quite a bit of potential, so I decided to push the release back a month to spit-shine things. Well, now that date is quickly approaching, and I am not ashamed to say that Farmageddon's release date is pushed back one more time. I am absolutely confident that this will be the release date for the game, as I've given myself enough time to do what I need to do 10 times over. That math may seem extreme, but it comes with my experience over the last two months... call it the solo-indie-developer factor.

There are a lot of things I did not take into consideration when first starting this game; in my defense, this started off as a hobby that would end up in app stores.  I now realize that I've got a fun game that provides both a challenge and endless replay potential that is completely family friendly, which means my target audience is anyone and everyone with a mobile phone or tablet (if/when I decide to add iOS to the mix anyway).  I've since come to the realization that this game deservers more than a spit-polish, and so with the majority of programming out of the way, I will proceed with Alpha and Beta testing phases while reworking all game assets for the final release.

Farmageddon is challenging.  It's fast-paced, but not aggressively so.  The gameplay is incredibly smooth.  Most important to me, the game masks your opponent with the use of a timer and game pieces... but I can tell you from experience that it's you vs. you all the way.  Watching the combo timer fall with your peripheral vision as your eyes dart across the screen to find any collection of three animals in a row means that you're attempting to do two things at once, which never works out.  The trick is to ignore the combo timer, but as Morpheus said, there is a difference between knowing the path and walking the path, and this is no exception.  In other words, it is not as easy as it sounds.

The leaderboards will provide you with a never-ending goal to reach.  Chances are you will never be the best, but in my humble opinion, what makes a casual game fun is that while attempting to achieve an ever-escaping goal on the horizon, you have a lot of fun.  Add personal achievements to the list, and you've just described any casual game that has ever kept my attention.  And for me, that's what being an Indie developer is all about.  It's not a means to an end; it's not a career move in a blind attempt to get my 15 minutes of fame; it's about creating games that I want to play in the hopes that there is a group of like-minded gamers who will enjoy what I've created as much as I do.



I've spent a lot of time since the last post on finishing the leaderboards and stats system for Farmageddon.  Anyone who is registered with the game will have their stats automatically saved, as well as their scores posted and ranked in the leaderboards.  The system also keeps track of some personal bests like chain length and combos.  This data will all be synced across all devices with no effort from the end-user.  For example, I can play a quick game on my Windows 8 tablet before leaving the house, and then login via my Android phone and continue playing on the go... all my stats from either device are synched automatically, so my hiscores on both are always the same.

After finishing the leaderboards system, I realized that the ability to move to an Open-Alpha release was getting closer and closer.  It was time to take a step back and remind myself of what I set out to accomplish back on Jan. 7th.  The goal was to take the 2D match-making game type and convert it to 3D.  Looking at Farmageddon, I decided that the game needed to emphasize the 3D a lot more.  There were two ways I was going to accomplish this:
1)  Better game assets.  The barn, while 3D and barn-shaped, lacked character.  The animals had potential, but lacked charisma and personality.  This needed to be remedied.
2)  Cameras & Animation.  The positioning of the cameras up to this point emphasized trying to make a 3D game look 2D.  It now seems ridiculous to me that I was trying to do this, but I had tunnel vision.  All I would need is some good camera tricks and some relatively simple animations to make it blatantly obvious that this was not your normal 2D matchmaking game.

I've made progress on both items 1 & 2, but this post will focus on #1 and save #2 for another day.  Starting with the barn, I made up my mind that I was going to learn texture painting in Blender3D, no excuses.  The barn was the first asset I'd ever created from start to finish in Blender, so it seemed like a good starting point.  My UV's were already layed out (haphazardly) and I had successfully colored the sections of the barn the appropriate colors, but had always lost my way when trying to apply a texture.  I had resorted to the fact that all my texturing was going to have to be done in an image editor, and 2D graphics have always been my Achilles heel. 


After rushing through a quick tutorial, I figured I had enough knowledge on the subject of texture painting to be dangerous.  It took a lot of bouncing back and forth between Blender3D and Google queries, but eventually the barn had gone from this:




to this:



The results were far beyond my expections, and although my UV Map looks incredibly unprofessional, the model is going to work perfectly for the game.  After moving the new barn into the game, I realized that it needed a little work to really fit the scene.  A few more tweaks yielded this, which at least for now, is the final version of the barn game asset:




I moved on to the animal pens, and after a lot of work rearranging my UV maps, this is the final result:



I'm anxious to rework the farm animals with my new knowledge, but for now the game programming needs to be completed. The current assets will work for as long as needed, and I will need to wrap up work on my admin system before getting too far ahead of myself.

In closing, Farmageddon's release date may be pushed back, but it's for a good reason.  The plan is to get a Webplayer version up for Alpha testing on the website next weekend. Alpha testing will be for working out any major bugs that players experience, and hashing out other minor details that aren't finished. Beta will be the release of both the Arcade and the Zen game types, and debugging those before final release. This stage will also be used to implement the trophies/achievements system and the Paypal checkout system. This will leave me with plenty of time to work on game assets in the background, and prep everything for the new release date.

There are two things that I can saw with almost absolute certainty after two months of working on Farmageddon:

1.  I love making games, and Unity3D has provided me with an opportunity to do what I have dreamt of doing since the day my child-like ignorance was replaced with the realization that people make video games, and I am as much a part of people as anyone else.  I will be making games for a long time to come, whether it provides income or not.

2.  Farmageddon will now be released on National Hamburger Day, or May 28, 2014.  The advertising for http://www.savebessie.com almost writes itself...


Related links :

Official Website: http://www.farmageddongame.com/
Indie DB Page: http://www.indiedb.com/games/farmageddon/

Tuesday, February 18, 2014

Website Finally Complete!

I have spent the majority of my dev time this past week on continuing updates to the Farmageddon website. After quite a bit of CSS styling and graphics work, I have finally published what is the first-final-draft of the website, complete with video, screenshots, a contact page, and the ability to register for a newsletter. You can check out the complete Farmageddon website at farmageddongame.com



Unfortunately there isn't a lot of gameplay updates to post right now, but I will be working to put the finishing touches on the game this week to get it ready for Alpha testing.

Wednesday, February 12, 2014

Major Website Update

After spending quite a bit of time working on Farmageddon's in-game menu system, I decided that the website was overdue for an update. Up until now it has been a very basic layout with outdated background graphics that simply displayed blog posts one after the other. Updating/adding the blog posts on the site was all done manually as well, increasing my chances to make a mistake.

The resulting website took about a day and a half to complete, and I'm still working on adding a lot more content. The main update, other than the layout, is the use of an API to automatically pull blog posts from the Farmageddon Dev Blog. This is going to save me the time and frustration that updating the website used to create.

I'm currently working on the 'Contact' page, which will also include an option to join our newsletter. Once the contact page is complete, I will be working on the main landing page, which will become the default page once the game is in Alpha testing.

I should have the newsletter sign-up scripts finished shortly for anyone who wants to receive updates about the game.

Wednesday, February 5, 2014

New Particle Effects, Environment Features, and more

Technically, Farmageddon should be done in 2 days time. It's pretty obvious at this point that I am not going to finish this game in 30 days as I had originally stated, but I'm not deterred at all. That deadline stood more as motivation to complete the game rather than a time limit, and considering how much I've gotten done in that last month, I'm convinced that Farmageddon will be in the Android and Windows Store soon.

The majority of my work since the last post has been on the environment. I traded in my default Unity3D particles that were swirling around the tornado for some leaves. I reworked the terrain as well, adding rolling farmlands in the background to contrast with the skybox. I also added some grass and wheat blowing in the wind.

A view of the new environment via the Unity3D Scene window...

...and via the Game window.

As you may be able to see from the screenshots, there are now animals flying around the tornado at the login screen.. adding a bit of character to an otherwise boring part of the game.  Here's a better example in the form of a GIF:




The next few days, my free time will be spent adding the main menu system, as well as putting the finishing touches on the end-game/hi-scores screens. Once the "Play Again" button is done, and any other small tasks are taken care of, Farmageddon will be ready for a round of Open-Alpha testing on the website.

Be sure to check us out on IndieDB at http://www.indiedb.com/games/farmageddon
Farmageddon

Friday, January 31, 2014

New Sheep Game Asset and Environment Effects

Lately I've been dabbling with Farmageddon more than getting anything major accomplished. Most noticeably, I've been adding some environment effects and details in the hopes of making the game a bit more immersive. A yellow-tinted fog has been added to the entire play area, casting a dull glow on the farm. I've added a particle system that simulates rain, as well as a light that simulates lightening every few seconds. Aside from the environment work, I also finished work on the third farm animal: the sheep. This model is basically the pig game model with a smaller nose, and certain areas of it's body extruded to simulate the wool.


The newly finished sheep model

The final farm animal, the chicken, is slated to be done in the next week. I'm still debating on whether it should be a chicken or some other animal, since the chicken would be the odd man out with only two legs and very different topology when compared to the other three.

After several hours of reworking my code for optimization, the game is running at very nice frame rates on Droid and Windows tablets, even with the added effects. Within the next two weeks I will be tying the login GUI in with the rest of the game, as well as adding UI elements to better show the score at game end, as well as what previous high scores were, a play again button, etc. After that I'll be adding the global leaderboards, and will probably do some test work with other gametypes (ie. classic vs. arcade, etc.) as well.

For now, the following video shows the game as it exists while writing this (minus the lightening). I plan to get right back to work on it when finished this news post, and hope to have more to show in the coming days. Until then, here's the latest gameplay video for Farmageddon:

Monday, January 27, 2014

Saturday, January 25, 2014

Pigs, Cows, and Pens! Oh My!

After fairly good results with the barn, I decided to take a bit of a break from programming and focus on modeling some more game assets. I am still pretty new to modeling, but the little experience I have had with 3DS Max during my career as a freelancer has made Blenders learning curve a bit easier on me.


Having never created my own models for use in-game, I did a ton of research on the subject beforehand.  Considering my lack of experience, low-poly assets were definitely in order.  I opted to go with a cartoony, obese shape for the farm animals, keeping the base shape the same throughout and using only features and textures to differentiate between species.  Beginning with the pig, I slowly but surely extruded features from a sphereified cube, and ended up with the following:



From there I quickly seamed out a uv map and a texture based off of materials.  With a lot of adjustments, I had a model that was really starting to look like a pig:



Then I repeated these steps for a cow, working with the pig as the base model and adjusting features to make them more appropriate for the species.  While these are not necessarily my final drafts, they will definitely work as first drafts, which I can bring into the game, allowing me to put the entire concept to the test.  The first draft of the cow:


Repeating the same basic steps as with the pig, I also got some foundation work done on a pen for the farm animals. My goal was for the fence to have a bit of character while keeping the topology simple, so I added some damaged boards to the model. The result is the following:



Each of the animals averaged me about two hours total, textures included. This is my first time producing my own game assets, and while I am happy with the results, I'm anxious to have a final blender > unity3d pipeline in place so that things come together a bit quicker.  I continued work on the textures for the animals, and repeated the steps for the barn and the pen.  The textures are currently flat colors with some ambient occlusion baked on; I have not done any of my brush work in Photoshop as of yet.

With these models nearing completion, I figured I had enough to start working an updated scene in Unity3D.  This will hopefully allow me to hash out any problems that may arise before modeling the rest of my assets.  After about an hours work in Unity3D, this is the result:



The only assets in the above scene that I did not create myself are the barrels and the grass texture.  Considering this is my first time creating my own game assets in Blender, I'm more than happy with the results so far.

The next step will be to apply all these changes to the gameplay, followed by creating the rest of the farm animals and also adding some more props to the world. For now, though, it's back to my full-time job... gotta pay the bills right?

Tuesday, January 21, 2014

What Good is a Farm Without a Barn?

It's been a while since my last post, but I've made some good progress lately. After adding login screens and a registration system for Farmageddon, it was time to start working on some game assets. My modeling program of choice is Blender 3D, and while I'm still far from a professional when it comes to modeling, I am confident that I can produce some great quality game assets for Farmageddon myself.



I decided to start with the barn, given it's relatively rectangular shape and it's symmetry. I decided the best way to do this would be to work on a single corner of the barn, then apply a mirror mod to it when completed, allowing me to make changes to the entire model while only needing to worry about 1/4 of it. The results are below:



As I said, I'm still relatively new when it comes to modeling, and this barn is my fourth draft, but I'm very happy with the results. Although it took a lot of extra time to get the "cartoon" look and shape done right (without overlapping faces), the extra work was worth it in the end.



As you can see from the screens above, the barn is not quite finished, but I'm getting closer and closer every chance I get to work on it. The last steps are attaching the silo to the side of the barn... doing this while keeping my topology in tact has been a bit of a challenge, but I now have a system that works for me, even if it is incredibly tedious. I'm hoping that with experience will come more and more tricks I can utilize in Blender that will shorten the time required for me to come up with game assets, but for now, I'm just happy to be almost done with my first.

The next step will be texturing the barn, with which I have limited experience as well. When I get the barn textured, I will have finally completed my first 3D object for use in a game, from start to finish. And when I can confidently say that this barn is completed and is in the game, I know that with hard work, patience, and the support of some incredibly online communities, I can create entire worlds in Unity and Blender and bring them to life.

Thursday, January 16, 2014

Hiscores and more!!!

It's been almost a week since my last post, and with good reason. Life got hectic pretty quick around here, and after a misunderstanding between my client and I, things are getting back on track and starting to feel routine again.

Anyway, in-so-far as new features for the game, there are a few. First off, I fixed a few bugs with the player controls, and added a small score label that appears when you complete a chain that shows the score being added. Next, I setup my webserver with scripts for posting user high scores. The system uses a salted hash to post score data to a url on the site, and if the hash checks out, then the high score is added to the database with the users account tied to it (more on this later). The server then sends back data on whether the score is a new high score for that user or not, and the client reacts respectively. This system, with some added work, should allow me to do just about anything I want with the high score system, but what's important for me right now is that the encryption is in place with some very easy-to-use functions I've created.

The video below showcases gameplay as it stands now. I know, I know, the graphics need a lot of work, and that's putting it mildly. They will come in time, but for now the foundation for the game programming needs to be laid, otherwise this game won't have a leg to stand on.



The next that will be added is user registration and logins. The game will allow players to play as a guest account, but they will need to register a username and password with the system in order to post to the high scores table. This provides potential customers with the option to quickly try out the game, and then if they decide they enjoy the game, they can register an account to partake in the high scores. I have plans to do weekly and monthly high scores, and possible even some in-game achievements for making the high scores list. Registrations then become a way for me to monitor whether first-time-players are enjoying the game or not... if I can convert a fair portion of guest users to registered members then I'll be a happy dev. Coming soon: user registrations, logins, and combos!

Friday, January 10, 2014

We're almost playable!

Not a whole lot new to post here today, but a few things are noteworthy. Work has been keeping me pretty busy, but I always find time to work on my own stuff when I can. Farmageddon is very close to being a playable proof-of-concept, and I am hoping to have some actual game-play video within the next week.

I have successfully converted the scripts that controlled my 2D jewel-match game to the 3D interface for Farmageddon. You can now drag to match "animals", and when you do points are added to your total score (the score is added, but not yet shown on screen). Animals are then replaced with other randomly created animals, and the game continues, as depicted in the video below:



The total score is being calculated by the game already, but I still need to work on the GUI in order to display it, which is one of the things I plan to tackle next.

Unfortunately, while playing the game for any extended period of time on my Windows 8.1 Tablet, things get a little dizzying. The solution may be to rotate the game automatically every X seconds, which adds a sense of urgency (since you will lose any animals still left on one side of the screen) as well as keeping the players focus on making chains, rather than having to worry about rotating the board as well.

Wednesday, January 8, 2014

Already Starting To Look & Feel Like A Game

I got some sleep after finishing my work last night, and I've spent my afternoon adding a few things to Farmageddon. Previously, the "cows" were created manually in the Unity Scene window, but I have switched over to a system that creates the game board programmatically at run-time. It's completely dynamic, and allows me to specify the number of rows and columns, allowing me to easily change the size of the board if necessary. I also have four animals created, it's just at the moment they are exactly the same shape and using different versions of the same texture, color being the only change. Animals located on the far side of the tornado (in respect to the camera's position) are now faded out, to keep the playable board clean and free of anything that pulls your eye away from the animals too much.

 
I also added the ability to move around the game board. Rather than rotating the board itself, I opted for rotating the camera around the tornado and the animals, in the hopes that the resulting effect makes the game more immersive. If nothing else, it reminds you from time to time that you are, in a way, playing a relatively familiar 2D game in a 3D world. I've tested a system that moves the entire tornado and game board around the scene, which really brings life to the tornado, but I've reverted back to a static one at the moment... I like it, but I'm not set on it, which means what's done is good enough for now.

Lastly, I added effects to the tornado itself. The game object rotates at a rate that seems consistent with several tornado videos I watched on YouTube. I added a simple cone-shaped particle system at the base of the tornado, and am merely rotating it at a speed that is faster than that of the tornado itself, giving the effect of fast moving debris. I'll need to spend some time on YouTube watching tornado clips to get it just right, but for now, it does what I need it to.



As you can see from the previous screenshots, and the video below, the basic concept and mechanics of the game are becoming apparent. Different animals are suspended in the tornados vortex and you drag to match species (ie. cow, pig, etc.) and save them. I am anxious to begin modeling the animals, but I need to have proof of concept done before too much time is spent on assets. The game may not be practical, or may fail as far as gameplay experience and entertainment value. In short, it might not be a fun game to play. I'm pretty confident it will be, but only time will tell. That's why proof-of-concept is #1 on my list right now... to get a version done that I can play, to ensure that you feel you are getting progressively better at the mechanics as you go, but still being a game that you can never be perfect at. You'll (in theory) always have the opportunity to beat your last high score, which adds replay value.



Next step is to take my 2D game mechanics I have done for a previous game and convert them to work with 3D objects. Once that is completed then a scoring system will be put in a place, and the game will be, for all intents and purposes, playable.

Edit: One final thought, I want to give credit where it is due. The barrels seen in the screens/video were downloaded from Unity3D's Asset Store. You can find them here:
https://www.assetstore.unity3d.com/#/content/3399

Tuesday, January 7, 2014

Unity3D project is setup and ready to roll

So far things are coming together well. One of the first things I do when starting any new project, be it an app, game, or website, is to start with the main font. I find that a font, and the colors used in it, can set the tone for the projects look and feel very early on. Here's what I've come up with for Farmageddon.



It's not much, but it's a start, and right now that is all I need.

I have my project setup in Unity, connecting to my asset & cache server, and I've got my hierarchy setup in way that makes managing this project easy. Using Blender, I've created some very simple objects to stand as place holders.



As you can see from the screens, the cows will be orbiting the vortex of the tornado. The player will then drag across matching animals (currently we have plans for cow, chicken, pig & sheep), and matching three or more will lasso the animals down into a holding pen. The animals rescued add points to the players score, and players will be able to earn combos and bonuses depending on the length of their chain.

I'll be keeping these posts pretty short and to the point, so that's it for now. I'm hoping to have a proof-of-concept video of the gameplay ready in the next few days. For now, I need to get some work done for my client.

Start The Countdown

I have decided to take a break from the VERY large Unity3d + SmartFox Server project I've been working on in order to get some app publishing (and completion) under my belt. My goal is to create a full game, from start to finish, in 30 days time, single-handedly. I will be blogging as I go, and am going to try and dedicate at least 2 hours a day to this project.

The concept I have settled on takes place on a farm. A tornado has hit, and unfortunately your farm animals are all caught in an endless orbit around the funnel. Using your rope, you must tie farms animals of the same species together in order to weight them down enough for gravity to take over and release them from their funnel-shaped prison.

I am hoping to get a user registration and login system built, which will allow me to have detailed and up-to-the-minute leaderboards, as well as open up the game to a lot more options in the future.

Enough talking, time to get to work...