Showing posts with label game programming. Show all posts
Showing posts with label game programming. Show all posts

Friday, January 11, 2013

What's completed?

The game is coming along nicely! I got a lot done tonight. It's kind of annoying not being able to use graphics at this stage, because I really would like to know what things looked like, so I wouldn't have to completely rework something later if the graphics don't "work" for how I designed it (if that makes sense). I'm just using primitives and solid-colored boxes and stuff like that...

Anyway, here's what is fully functional in the game!

* The time system works perfectly... everything takes time as it should, and the calendar moves along like it should. Monsters go to sleep after it gets so late. I will have to make shops have closing times soon...
* The shops, other than opening/closing times, are fully functional, too! You can now go to town and buy items! There are 10 meals/foods and 10 teas in the game right now. Shops restock every day with 3 items (and the ones from the previous day are lost!) so please check shops regularly, and be on the lookout for rare items, too!
* Training in facilities works perfectly! There is only one kind of facility right now (empty lot) but it is easily expandable, I just have to decide on the base increases and stuff for each facility. The facility will function no matter which one it recognizes you as being inside, so all I have to do is add to the facility database.
* Inventory is working and you can feed items to your monster. The monster gets full when eating meals, and can only have one a day. The items also affect your training like they should!
* Sleeping 'updates' the game as it should... your monster will recover a little from fatigue overnight, more if you didn't make it train that day, and will also update things like hunger and stuff.
* Some sounds and minor polish are integrated into the game. Partly this is because state transitions needed to be smoother/take a bit to make certain parts work, so now the screen fades when you go between areas, and there's a walking sound effect, too! There are also keyboard sound effects and stuff... a level up sound, and some music.

Here's what I'll be working on soon:

* The farm upgrading system and all the facilities. I need to add the shop where you can upgrade your farm and facilities and get new ones. This will be easily completed and will probably be done tomorrow.
* The "house" menu where you can go to save your game and sleep. I will not add a savegame feature until the game is near complete, however, because I am still not 100% decided on which method I will use to implement it.
* The "sick" and "injured" states for the monsters when you work them too hard or when they get hurt during training or competition. These are special conditions that will change how many things work, so I will need to go back and make sure other systems properly check for these states.
* Possibly more artwork, since right now everything is just text and rectagular placeholders :)

The music is also coming along really well. Seriously, the soundtrack is going to be EPIC! It sounds really professional, even better than some commercial games. I am really happy with the way it is coming along! I will ask permission from the composer to post a piece of music publicly before release. I wish I had the money to hire an artist to do all of the drawing and spriting for me, because it's really way too much for me, and I'm not the best artist in the first place.

If you know of anyone who would work for free for now, let me know :3 Just kidding. Kinda.

Monday, January 7, 2013

Items

The inventory system is coming along really well! I finally finished the base for it today, so I can search through and sort items and display the current user's inventory. It's ready to be integrated into the shopping system, as well.

I have also programmed 12 items into the game, minus their image files which I have not drawn the art for yet (right now, they are all grey boxes). I can't guarantee those twelve or any I discuss here will be in the final release, of course, but I project there will be around 35-50 different consumable items you can give to your monster.

Items are, at the most basic level, categorized into two types: meals and non-meals.


This traditional Japanese dish can help your monster's Power.
Monsters need to eat meals every day in order to thrive. If you forget to feed your monster a meal, it will become hungry, which can stress it out, tire it out, and make it refuse to work. Your monster's lifespan may decrease if you often forget to feed it, and if you starve it completely, it may get sick or die. So meals are very important to monsters.

Not only do monsters need to eat to live, but how they grow also is influenced by food. Monsters eat human food in the game, and I used real-life nutritional properties of food as inspiration for the different meals you can serve your monster. I researched health benefits of many types of foods, and tried to create a world buffet of foods for your monster. For example, Japanese fermented soybeans with rice can help your monster beef up and become strong. On the other hand, if you regularly feed your monster caldo verde (a Portuguese green soup loaded with kale), your monster's brain will stay healthy and you will notice it will succeed more in intelligence training. Other foods you may see in the game include the Italian pasta dish pesto cavatappi and a spinach and feta Greek favorite of mine, spanakopita.

Can you guess which training this carb-loaded meal benefits?
There will also be "larger" meals available that may greatly help with training, but make your monster more sluggish and tire out easily from overeating. These "supermeals" can be helpful if you don't have a lot of time for training and want to get the biggest boost you can, or if you forgot to feed your monster until later in the day.

In addition to the meals you can feed your pets, there will be the non-meal items. Most of these will still be foods of some sort, but more like snacks. I am considering other consumables like soaps and balms, but right now there are no plans for such items.

One primary type of non-meal you can give your monster is tea. While meals are best for the beginning of the day, to prepare your monster for training, teas are better for afternoon or evening when your monster has been growing tired and stressed from its training, but you still have work to do. Teas can help relax and soothe your monster while offering some training bonuses. Unlike meals, they will be somewhat expensive (especially the rare teas!) so they are best used as a way to unwind on days of rigorous training rather than as training boosters.

There will also be some more risky items, like supplements to use in place of meals that can greatly help with training but may decrease your monster's overall health (since they are not getting a truly balanced diet) or junk food that makes your monster very happy but makes it do worse in its training.

And no items will train your monster for you; they will only supplement the training. No matter how many servings of natto you give your monster, they can't grow that muscle without working out! So the key to a healthy and strong monster is to eat right and exercise regularly! (And don't forget to rest when needed, too. Rest is a very important factor in Skitter!)

Thursday, January 3, 2013

Facilities, and crit success at programming!

In Skitter, you begin the game with not much on your ranch. You have your home, your barn for your new pet monster, and an empty lot. As the game progresses, you can buy land expansions which essentially give you more empty lots. On these empty lots, though, you can build facilities. Facilities are where you can train or play with your monster. Each facility has one function, so if you want a variety of training options, you will need to build many.

"Facility" is a sort of weird term, because a "facility" can be many things. For example, the empty lot is itself a facility where you can let your monster run free. This free play-time will allow your monster to train itself by playing, much like children stay healthy through playing outdoors. You can also turn your empty lot into a vegetable garden, another type of facility where your monster or yourself can toil away at the land to produce crops that you can sell for money. You could use your empty lot to build a track where your monster can practice running. This type of facility can really help your monster become faster and learn to love running (or, depending on how you use it, maybe make your monster hate running!)

Of course, those are just a few examples of some early facilities you can build. As you progress through the game, expand the size of your ranch, and make a lot of money, you will be able to upgrade to plantation fields, training gyms, exotic zen gardens, and more!

Using training facilities is easy. Wherever you go, your pet monster will follow you. So just go to the facility on your farm, and you will see your monster wandering around. To interact with your monster in Skitter, all you have to do is tap or click on the monster. If you are at a facility, your monster will start training! It's that simple. Training at a facility will take a large chunk of time out of your day, as it is the main way you interact with your monster. Plus, abusing facilities to try to get a powerful monster can cause your monster to get frustrated or bored and refuse to cooperate. So you have to choose wisely how to utilize facilities and make the most of them.

Anyway, this fun aspect of Skitter was the focus of my coding tonight. I essentially wrote the code that recognizes which facility you are visiting, pulls needed data from the facility database (which I can expand on to add new types of facilities to the game easily), and then makes your monster respond accordingly when you click on it while at the facility. Of course, this had to be a code that would work with any kind of facilities. So it essentially takes a lot of numbers from the facility database and uses them to generate a training sequence...

I guess it's kind of hard to explain exactly what I did, but I will just say that it was hundreds of lines of code across multiple objects and files. I also added the "boredom" system, and created the formulas for calculating boredom, talent and interest skewing, fatigue, stress, and more. Of course, these are subject to change in order to balance the game.

But the key point to explaining all of this is that I programmed this all in one go without testing, and then when I tested it, it all worked! There were no crashes, no glitches, no unexpected behaviors... Everything worked perfectly! Even though I had never "played" the game where a facility was able to exist, I was now able to leave the barn, see my facilities on my farm screen, choose a facility to go to, and click on my Skitter to allow him to play freely for 3 hours, raising his stats properly!

Normally, since I'm a noob programmer, when I code even the tiniest snippet, I test the game. Half the time, even that results in some kind of error or unexpected behavior... and whenever I code something larger, it's almost guaranteed to crash the first time I run the program.

So I'm really happy that I was able to create a lot of complex code and for it to work fine on the first go! Some of the code is probably a little sloppy, but it works, and that's what's most important :)

At this rate, I should have all of the major systems done in a few days, and then it will be on to tackling both the design and programming for the contests, which is going to be where the bulk of the entire time spent in coding will go. I usually code a new "system" (like the text input system, barn system, clock system, whatever) in a day, sometimes multiple systems in a day. But the contest system itself should take a day or two, and then the actual contests themselves will be like programming entire games in themselves.

The actual specifics of how the contests will work are not set in stone, and I will most likely as for input about this as I get to the time when I'll actually be creating them. So I would hope that anyone interest in the project would like to offer suggestions. Of course, the core of the idea is set, but I would like to know some things for some specific directions. So stay tuned :)

A little progress information.

I am progressing quickly with Project Skitter, and it seems like I could finish the coding side for a playable beta by the end of the month (or even in as little as two weeks). The problem is the art is going to take me forever. it took me an entire day to paint one background, and it was easily the easiest/most simple/quickest one I'd have to do. I have like 50 more of those to do. And then I have to draw the sprites for the creatures... it took me all day to draw ONE creature's sprite with only a few frames of animation... and with all that, it's not even halfway done for that one creature.

Plus I really don't feel like doing all the art, I just want to code and design the game... I certainly understand why entire teams are required to work on games. Even if I was extremely motivated to do all the parts included, imagine if this game had a story that needed written... I'd have to write that, do all the art, write all the music, etc. (luckily I have a composer for this game!)
Perhaps if the beta is popular enough I could get the interest of an artist who'd like to help, or at maybe even start a small kickstarter to hire one. I mean, even if I did all the art myself, it wouldn't look nearly as professional as other games. I mean, it won't look miserable, but it won't be as high-quality as I'd like. But then again, this is my first "real" game project, so what can I expect?

Hopefully by tonight the training and facility systems will be complete... so all I really have to code is the inventory system (which will be nearly identical to the facility system, but probably even easier?), the town/shop system (should be fairly easy), and then the contests system (which will probably take at least a week working on just that). Then I will have all the core systems complete... and it will just be a lot of linking them together and debugging them and smoothing up the GUI. And then I can apply some art to it and I will have the playable demo! (But like I said, the art is going to take FOREVER). I will prolly throw together some really bad dummy art and get the beta testing underway, and work on the art while that's going on.

I know I haven't put much in the blog yet... I just started it! But I plan on updating with information about each system, what the game is going to be like, and give you guys some screenshots to look at. To those of you following on thefacebook.com, you've already seen the screenshots, but hey :) They'll come with better descriptions and better organization now!

Tuesday, January 1, 2013

About SKITTER

Skitter (working title) is an independent video game currently in development. This is the progress blog where interested players can read about how the game is coming along in development and comment with suggestions.

Skitter is a monster-raising game that focuses on the care you give your pet monsters, as well as time management. Most of the actions you make in the game will consume time, and the game's clock and calendar will move forward as you feed and train your monsters, tend to your farmland, and travel around town. Because each monster has a set lifespan, you must use your time wisely to raise your monster before it passes away. In addition, how you take care of your monster will affect its interests, skills, health, and even its total lifespan.

I wanted to create a monster game that focuses on the time you share with your monster, and in which your success is based on how well you take personal care of each creature. I also wanted to separate the player from worrying about stats and numbers by removing a lot of visible numbers from the game, encouraging the player to focus on the monster and not the numbers. It's important to get a "feel" for your monster by seeing how it progresses and using clues, rather than to just watch numbers and try to make them go up.

I also wanted to make a game where every monster is a unique individual. When you play a game like Pokémon, you see something like Alakazam, and you think "This monster will be good at special attacks, bad at physical attacks, and have frail defenses." No matter how much effort you put into training it a special way, you're not going to create a bulky physical sweeper with that monster. I don't like this because your favorite monster can end up useless because its base stats are terrible. In Skitter, I am to create a game where the species of monster is not nearly as important as the individual monster's abilities. Each monster is born with talents and interests, which can also be influenced during its childhood. It grows and changes form based on how it is raised. So every monster has potential to be good at any given area. How good they get is based on your personal skill as a caregiver.

I also wanted to create a game where monsters do not exist for the sake of fighting. Depending on your monster's talents and interests and how you raise it, you may find yourself entering your fast monster in a race, having your sturdy monster help with the farm work, or encouraging your bright monster onto the stage of a pageant. You may try to keep your well-rounded monster happy and healthy in hopes of making it the perfect breeding parent. Of course, there will still be wrestling/sparring matches for those of you who like to battle monsters, but they will not be as complex and RPG-like as something like Pokémon.

Skitter pulls inspiration from many games, including Monster Rancher, Tamagotchi, Harvest Moon, and even Akitoshi Kawazu's SaGa series. I hope to create a unique play experience that incorporates fun aspects of monster/pet games and role-playing games that fans of those series can enjoy.