December 27, 2010

Failure never tasted so sweet

As you have probably guessed from the title of this post I have failed to deliver once again. My Christmas game fell through because my personal library decided to stop working. So by the time I debugged it, rewrote the faulty functions, and implemented them into my game it was Christmas eve.

Yet I am still happy. In my rewriting of my engine I made it more organised, added more safety checks, and overall made it more easily read and used. I feel as the phoenix; how it dies in flames, but is yet reborn into something that can be better.

As to my current project I am creating a game for a competition. The boundaries are that it must be a survival horror game, without zombies, and it must do something with lighting. Lighting could be like using a flash light to see in the dark, or making it so enemies can not see when you hide in shadow.

For this project I want to fix a problem within myself. Several people have told me that I am a good game designer/programmer, but I lack the ability to set goal and there for get side tracked and/or "lost" once I reach a certain point. To combat this flaw I plan to use the calendar evolution to make a goal scheduled for myself and try and reach each goal individually. This way I can have a sense of progress while getting stuff done without loosing sight of what I am truly working on.

For my entry to the project I plan on making a Top down shooter based on the theme of you being a program inside a computer. Game play would consist of you(an anti-virus program) combating many foes with computerized weaponry in order to protect your host machine. Your host machine will have a thin barrier of firewalls that will only keep the opposing forces at bay for a short time.

The graphic style will consist of a green cyber-esc background, with dark-toned squares for walls. The actual game objects will have a glowing neon effect to emulate that of the movie "hackers" computer scenes. I may use more simple shapes to give the feeling that this is what computer warfare really looks like.

I shall try this time to keep a updated log of this project on a weekly or biweekly basis, but I make no promises.

December 19, 2010

Its been a while.....

Where has the time gone? We are almost to Christmas! But you don't care about that, you just want to hear what has been going on. Well for starters I am no longer working my top down shooter project. I abandoned the project because I lost interest. But I haven't been relaxing these past two months. On the contrary I have been working quite hard.

After I stopped working on my top down shooter I started to create my own library of functions. In my libraries current state I have basic game functionality, a system where I can add in game objects and images, and the functionality to easily add sounds and music. Also I have developed and published a puzzle game, based on the classic 15 puzzle. Then after that I made my own level editor. All using my new library. Currently I am working on a Christmas themed space invaders clone called Jingle Bells. I will be developing it for Linux, and possibly windows if I can get it to work in time.

So other interesting news is I am doing art for an rpg called The Eternal Quest. I am making tiles and some npcs. I hope to update my blog more with my projects and such. I will make a post once my Christmas game is done. Till then, have a happy holiday.

Its been a while.....

Where has the time gone? We are almost to Christmas! But you don't care about that, you just want to hear what has been going on. Well for starters I am no longer working my top down shooter project. I abandoned the project because I lost interest. But I haven't been relaxing these past two months. On the contrary I have been working quite hard.

After I stopped working on my top down shooter I started to create my own library of functions. In my libraries current state I have basic game functionality, a system where I can add in game objects and images, and the functionality to easily add sounds and music. Also I have developed and published a puzzle game, based on the classic 15 puzzle. Then after that I made my own level editor. All using my new library. Currently I am working on a Christmas themed space invaders clone called Jingle Bells. I will be developing it for Linux, and possibly windows if I can get it to work in time.

So other interesting news is I am doing art for an rpg called The Eternal Quest. I am making tiles and some npcs. I hope to update my blog more with my projects and such. I will make a post once my Christmas game is done. Till then, have a happy holiday.

October 14, 2010

When Robots Attack. Part 2

It has been about a month since my last posting on my project. I feel that I got a lot of things done that I shouldn't, and a few things that should have been done, but didn't get done.

For starters I didn't get AI functioning or camera system working. I didn't get the AI working because I greatly under estimated the difficulty of it. I didn't get a camera system working because I just plain forgot about it. I know I should have at least implemented a camera system, but I feel that what I got done in these item's placing is greatly better.

As you can see in the picture to the right I have greatly improved the game. The red cross package will give the player health. The Pac-Man ghost things are the enemies for now. And the person with the mini-gun and the blue hair is the player. The player can spin 360 degrees in accordance to the mouse location.

Some other unseen improvements are that the game performance has been boosted and enemies now come from the four sides of the screen.

The project at the moment is at about 600 lines of code and the project is about 4 megabytes (including recourses, .exe, and dlls). One of the hardest parts of the project was making the code so the player to face the courser. It required me to learn some trigonometry and use some logical puzzle solving to make it work.

One time consuming task on this project was the fact that I had to rewrite the classes to be inheritance based. I made it so variables such as x,y,w,h, alive, and visible were available to every object in the game. I also centralized the drawing function so I just have to pass a the screen location and image to draw, were as before you had to do that and include x,y,w, and h.

As to the future of this project I hope to get a lot more done on it within the next month. I want to get some form of AI working. As well as the dreaded camera system. Then I want to put in some more power ups like: EMP bombs, score bonus, and other game modifiers. Then maybe I can look to getting some more weapons in like pistole, AK-47, SMG, and grenades. If I am on the ball I maybe able to get some more enemy types added in.

I will see in November!






September 9, 2010

When Robots Attack. Part 1


I am going to do something different tonight. I have been working on making a engine in c++ for a Top down shooter game. Like i made a game with zombies in it or Robotron 2084. I was originally create my master piece, but I decided to make something less ambitious so I can get my feet wet in the genera. As stated this project will be programmed in C++ and I will work on it in my free time.

I don't plan on making regular blogs about this, but more or less of showing off what I get done as I progress with the creation of it. Anyway you probably want to know what type of game I am making. All I know about the game so far is the enemies will be robots and you will have a gun with upgradeable rate of fire. Beyond that this game is a blank slate ready to be filled.

As for programming I have done quite a bit of work on the core element of the engine. So far I have a player(red square), who shoots bullets(not shown), walls(dark grey, and enemies(dark tanish brown color). These are all displayed in the picture below.
Now please don't leave comments saying that the graphics look like crap. I know that they are just place holder graphics till I can make or find good ones.

Now I shall explain what you see. The player can move up,down,left, and right. The enemies automatically run towards the player. By pressing the mouse button the player can shoot a bullet. One thing I am proud of is that about 3 times every second a new enemy is created and yet there is no slow down. Even though I am doing some very heavy lifting for the enemy AI (floating points, and division every frame) the frame rate so far has not hiccuped on my middle end laptop.

What I hope to get done within the next few weeks is get stats like health and score. More entry points for the robots. Improved AI so perhaps the enemies can go around obstacles and perhaps camera functions for larger levels.

August 20, 2010

Silent Torture

Tonight I realized how much my kind is misunderstood, or at least how little experience I have in this world. Perhaps both. I was in the car with my brother who is a freshman in collage and we got on the topic of how much people change over time. Drawing on my own experience I said that people change the most throught middle school(grades 5-8). My brother just graduating from high school said that people change the most through high school. Obviouly we are both drawing from two different life prospectives.

From that subject we got on the subject of the different groups in high school. Now before I go on I am going to give some context to the two of us. I am a super nerd who likes computers and science fiction and I usually get good grades in school. My brother likes weight lifting and stories of war and get average to poor grades in school. As you can see we are near polar opposites of each other.

So how the conversation got started was I said that I believed that Nerds were playing a closer "game" to reality then other people in my same age. My brother on the other hand stated that he thought that nerds are off in there own little land of fantasy. So in response to this I said how we nerds have to learn how to hold our tounges and make friends outside of the social norms. He merly stated that he has seen nerds talk out quite a bit.

At this point in the conversation I decided that this was a battle that I can not win because my brother and I have totaly different life experences, or at least different life experences as of 5th grade and up. Now I wonder if it is possible for me to descibe what sort of "silent torture" I go through to someone with out my life experences. Or perhaps I am overblowing the entire issue.

August 17, 2010

Freshman Orientation- and all the confused kids

Freshman orientation was interesting today. We got all the usual stuff; planner, schedule, ID, and achievement test scores (apparently I am not stupid). We were lectured by the staff about dress code, involvement in the school's activities, and other such boring topics. All this, of and in its self was not important enough to blog about. But a few things seemed to catch me off guard from what I expected.

For one other then the normal clubs and sports, I found that they have a place to sign up for being a tech for the school. This position allows the signed up student to work with the school's computer system and such. Also we will get payed for our work. I was so excited about it till I talked with a student already enrolled in the program. He said he just bluffed his way in and all they really did was sit and do nothing. I guess I will still give it a shot because I get payed and it will look good on a resume.

Another thing I realized is that I am still viewed as kid. Things like them walking us around and making sure we don't get in trouble tipped me off. I guess I can not blame the considering what I have seen of my class. Maybe I am just over analyzing what I see or perhaps I always look for the worst in myself. Then again on the off chance that I am right, all I am is a immature kid.

August 8, 2010

The Beauty of Small Communities

It seems as though it is a very rare occurrence these days for there to be small communities such as forums, and websites. Either the community is way to small and there is nearly no member that post often. Or the community is to large and the average user feels lost in a world of ideas, and words.

I think I have found a community that hits just about in the lower middle of this scale. It is the wonderful forum at http://www.opticonstudios.co.cc/forums/. This forum main purpose is for C++ game development and related subjects. But it is not rare for there to be subjects about a persons favorite video game to people's thoughts on religion. The community is small enough (about 8 active members) that you don't feel lost, but big enough that there is a constant stream of forum posts.

Another forum that comes to mind is Moosader forums at board.moosader.com/ . This community is a lot larger then the Opticon Studios forums, but there is still a strong feeling of companionship and friendliness. You see many crazy antics on this forum, from game programming contests to tutorials for beginners.

Perhaps what I am saying is that I am in love with these small communities that no one has ever heard of. So I would invite you (if any one is crazy enough to read the blog) to join us in these wonderful communities to voice your opinion and knowledge to anyone that bothers to listen.

July 2, 2010

Lesson learned from the past.... Maybe

Video games have been around for at least 30 years, and yet we still know little of the art of creating a good one. Sure we know features that help, but there is no formula for a good game. The "road" to this current point in the history of video games has been a rather difficult one, with the Great Video game Crash in the 80's, and video games under constant attack since Columbine.

We have gone through multiple controller designs. From complex with consoles like: Colecovision, Intelvision, and Jaguar; to simple with the Atari 2600, NES, and Wii. But which one is better? In my opinion it all mater on the type of gamer you are. If you are a "hard core" gamer then you would be more likely suited to a complex controller. If you are a "casual gamer" you would be more suited to something simple. But is there such thing as a overly complex controller? I would say yes. I think that modern controllers like the ones on the Xbox 360 and Playstation 3 are pushing it because I have found myself looking down at the controller a few times to figure out were the buttons are, and in my opinion a controller should not be even a worry of a gamer. It should just be "natural".

Now one of the aspects of gaming that is always changing is the complexity of the games resources such as: graphics and sounds. Now while this in and of itself is not a bad thing, I becomes bad when people think that a game must have great recourses. My case in point is the game Roller Coaster Tycoon 3. (I know this game is old but it works well in this situation and I don't like the game too much) The main selling point of the game was it was in full 3d and you could "Ride the rides!" Now if you bought the game only because of that you wouldn't be disappointed, but the game play is nothing near as great as the first two games. Another example is the humble game of Pac-Man. It is one of the most beloved games of all time, but it isn't a graphics "power house". And yet people love this game because its game play is so damn addicting. It seams as though a lot of modern games only care about great resources and nothing else. I say screw that, give me great game play over great resources.

Now the moral of this story is that perhaps there are a few lessons that could be learned from our gaming past. I mean why make the same stupid mistakes that some other guy made!


June 17, 2010

Motivation and Planning are Key

You may ask "What is the hardest part of game development?" The truth is that staying motivated is almost alway the hardest part. And without motivation you are sure to quit. But then you may ask "How do I keep motivation in a large project?" My answer is to PLAN!

Before you even think about writing a line of code you should make a design document that is detailed enough that you don't get lost, but not so detailed that there isn't any room for improvement. Some examples of design documents are: Al Lowe's(the creator of such wonderful games like Leisure Suit Larry and Torin's Passage) at http://www.allowe.com/gamedesign/index.htm and LusikkaMage's video on the topic at http://www.youtube.com/watch?v=IUDl52roY_w.

You may say to your self "I still don't see why I need a design document". Well think of it this way; if you don't have planning you will most likely build most of your game and then want to put in a really cool element, but you realize that you have to rewrite half your code to make it work. This will more than likely cause you to become less motivated.

So you want more proof? Well just recently I was working on a project with two of my buddies on a pong game. Sound simple right. WRONG! From the get go we made some concept art of what we thought the game should look like, but we didn't make a design doc on what we wanted. So when it came time to add in cool stuff like power-ups and menus we were at a loss and didn't know what to do. Also one of our guys was working on a graphics engine for the game which didn't get done in time to implement. So all these factors set us up for failure. We lost motivation to work and quit.

The moral of this story is that If you fail to plan, you plan to fail.

June 12, 2010

Indexes are key!

Have you ever been programming had run into problem of not remembering what a function name is, it's parameters, or what is does? One good way to fix this problem is to have books or online indexes of functions and general programming practices. I own 2 books on C and C++ programming, a iPhone app that has references to various C functions, and book mark tab in my web browser full of C and C++ oriented web sites.

Some good online sites are:

Specific Function help:

C and C++ tutorials:

Text:

Video:
General/OpenGL/Win32:http://www.youtube.com/user/xoaxdotnet#p/p (make sure you check the play list)

If all else fails you can always Google your function or problem and usually find an answer.

June 10, 2010

Who am I and why should your read my blog.

Hello world!
My name is Chris C. and I am a freshman in high school, and probably the nerdiest student there. In my free time I program computer games using C++ and SDL. I enjoy science fiction and a good retro game.

But all that is beside the main point. You want to know why you should listen to me in the sea of all these prick teens who think they are better than every one else. Honestly I don't know why you should listen to me, but I can tell you what I will talk about in this blog. I plan to talk about subjects about programing (obviously), gaming, creation of games, and anything else related to nerd culture.

You can follow me on YouTube.