Sunday, March 28, 2010

Being faithful to the vision

This idea has been in my head for some time now, about this couple who made this famous wooden chair, and how they said that the hardest part of creating something great was simply being faithful to the original design, and having to say no to all of the other ideas and concepts that come up through the creative process...

This idea of being faithful to the original vision or design is something I have been struggling with in my game making project. I keep coming up against all of these great ideas that come about as a part of the creative process... but simply sticking to the base, simple, original idea is really the best way to ensure you have something great.

This weekend, I went over the first design document I wrote, and pulled out of it the original two key pillars I had for the game, and have been making sure that everything I have been adding to the idea is based very strongly in one or both of those two key tenants of the design.

Those two are 'Create' and 'Explore'.

I need to ensure that the foundation is set before I start building upon it, and that has been my project for the past few days (that and creating more art assets).

I admit that I have been putting off developing some of the much needed features of the game editor... but I feel the areas I am investing my time are also very important, and will start the week with finishing off the world object editors 'save' and 'load' object feature.

With much of the new art that I have made, the game is starting to feel like it has it's own unique look, and that has been encouraging me through the more difficult parts of development (the parts that don't actually produce any playable results). It's been this kind of progress that has taken up a significant part of my week. Building helper classes (a timer class that lets me set and listen for alarms, several enumeration lists that help me build menus, and a draw helper that makes it easy to build contextual help and instruction).

Now that the week is over, a new week begins, and planning out what I want to get accomplished is the first step in ensuring that there is productivity... if it weren't for these lists, I wouldn't believe I have gotten anything done (and that can just kill motivation).

Thats all for this week's post.

fidget widget out.

Monday, March 22, 2010

Game Making is Hard

This blog post being a little later than I had hoped, I decided to share a piece of concept/design art from my game project (it is WIP, and maybe a little small and hard to see).


The actual image is about 4x the size... and is a tool to help me design the world you will explore in the game I am making.

Thats all from me this time. This piece is taking some time to do (that and creating the smaller pieces of art that will be in the game based on this larger piece), and has been the majority of what I have been working on the past few days, so instead of write about it, I decided to show it.

Wish me luck
fidgetwidget

Saturday, March 13, 2010

While I could just write about the progress I've made (in both directions) with my Game Project, I felt that could get boring. So I am going to do this in a few parts, and break it up a little.

GDC (game developers conference) just happened, and I wasn't there. Not because I had planned to go and things just didn't work out... but because I didn't plan to go, I don't have the money to go, and I am in no position to pick up my life for a week and just go off to invest in the gaming industry. I am taking a rather huge risk investing the amount of time I am in working on this little game making project of mine as it is!

I did really like to see what came out of the IGF (independent games festival), with "Monaco: what's yours is mine" taking the grand prize. I love to see games that are both creative and fun winning over other projects that are more artsy, and less about being interesting and fun. I am also excited to see that something with a more retro look can take the win (seeing as what I am making has a distinctly retro feel about it).

I've been reading this series of articles being put out by the guys who made another Indie game Kaleidoscope (http://www.playmorsel.com/) about the lessons they have learned with regards to Xbox Live's Indie Game marketplace (the place I am planning on releasing my project). It is both exciting and sad to read, as the success stories of "I made a game with zombies in it" create a striking contrast to what they are experiencing. It reminds me of the comments made by some other Indie game makers (Wepon of Choice Developer, and Clover Developer).  But I am hopeful that I can make a solid run at this!

As for the progress on my game development project... I have a lot more features in my editor... unfortunately, I have encountered a number of issues (while I have solved many of them as I go, I don't really know what is causing them, and so it is making it hard to solve all of them). I am feeling like I am going to need to put a better framework underneath it all.
I keep coming up against the way memory is managed, and loosing the texture data of sprites that have been in the editor... its really frustrating.

But I press on. Working hard at implimenting some really exciting things. I hope to have some pictures and maybe even a youtube video of my work ready by the end of the month! (fingers crossed).

Wish me luck!

And congrats again to the team who made Monaco!
-Fidgetwidget

Sunday, March 7, 2010

A weaks worth of effort (spelling error intentional)

After a week of fiddling and finagling my game project, I am not much farther along than I was last time I wrote.

I have a 2D camera system that tracks the players movement, and chases after it to varying degrees depending on its distance from the center (though I still think there is a better way of doing it). I also made it so that the world zooms out the farther away from the center of the screen the player is (that part I am slightly more proud of).
But what I don't have done are the pieces that make building something more fun and playable possible. Namely the world object editor, and complex collision detection (the per pixel thing just didn't work out... but I am not giving up hope). I can place down lots of little squares, and fly the ship through the mazes I create, but until I improve the systems I use to create the mazes, the time it takes to build something is much longer than I am happy with. Also, the inability to put anything in the maze that behaves differently limits the creative potential of the level design... and while flying the ship is fun... it's fun that only lasts a short while.

I have spent some time on some of the less visible aspects of the game. Things like an inventory of items, keeping track of quantity, and in the case of limited cargo space, limits the inventory based on differing factors (simple number, or total weight/volume variables). I also spent some time making existing systems I use more modular... but again, without anything in the world to interact with, right now all of that has no practical use.

So, prioritizing based ease of development, instead of need, seems to be costing me in the types of productivity that give one a sense of accomplishment. Namely the kind that adds to the play test experience.

Something I did do this week that was somewhat thrilling however, was pushing the project to my Xbox 360, and playing what I have right now on my TV screen! I learned that I need to make sure that I keep everything within the safe area (http://creators.xna.com/en-US/sample/safearea), because a number of things I display (debug text, and the current world editor) use the outer edge of the viewport variable (its a property of the graphics device... basically it tells you the width and height of the screen. Unfortunately, when working with a TV screen, those values aren't entirely accurate).

So, head down, and fingers on keyboard, working away at the things that will make the project move more quickly are still at the top of the list. Putting more on the screen, and adding new things to interact with are key to ensuring that in the end, the game will be fun, and people will buy it.

Wishing me luck, because I don't know that anyone is reading this
- fidget widget

Monday, March 1, 2010

game development journey

I am not about to turn my blog into a developer diary of sorts, but I do want to start to do a weekly update of where I am at with the game. That way I will have something to look back on after a month or so, and learn from my experience in review better than I could otherwise.

So, state of the game:
The game has some of the more external mechanics completed (screen/state manager, title screen, options menu, pausing, and confirmation dialog boxes), but the core of the game has been giving me a number of problems.

I have spent the majority of my time on the 'exploration' portion of the game, working on getting ship control and collision detection working. And after almost two weeks of working on this in my spare time, I finally have a collision detection system in place that I am confident in, and isn't simply something ripped from someone else's game. I know how it works, and I know what it is doing at each step of the process, and I feel it's not going to be resource heavy, and minimize the number of, and complexity of collideable objects in my game.

Basically, I scoured the internets to find information on how to handle collisions, examined the Collision Manager class of Net Rumble, and using bits and pieces of understanding I gleemed from these various sources, I put something together that checks bounding box collision, and if there is a collision there, it will go a step further and do per pixel tests on the objects in question.

Its a simple way of doing it for anyone who understands geometry and vector math... but having been out of school for a long while, and never having been all that good at geometry, it was a difficult process to get working.

Something good that did come out of it was my implementing a debug system that allows me to see visually the bounding boxes of each object (and potentially be able to draw on screen the thought process of the AI components).

What I have right now could certainly be cleaned up (and I still have to get the per pixel part of things finished up), but I like how it feels when my ship collides with a solid object.
Next I will work on getting the camera to chase the player, and add in different types of collision reactions (such as the transfer of momentum from one object to another, in the case of smaller floating objects).

I hope to, by the end of the week, have my game object editor fleshed out, with the ability to select and move world objects (world objects are a collection of sprites that I plan on assigning behaviors to), as well as breaking them apart and allowing me to edit their sprites after they have been created. The per pixel thing, and chasing camera as well of course. And if I am really productive, maybe put together some sort of 'map' thing.

More on the progress at the end of the week (I hope).

fidgetwidget out.