Wednesday, December 24, 2008

Of Map Editors and Men...

The past 5 days have been really exciting. Zedix and I have been working ceaselessly. Our progress has been nothing but phenomenal which is kind of amusing since everytime we try to do something like this our attention wavers. This time is different because we both have something to show so we feed eachother's motivation and we end up working harder and harder.

As far as the map editor goes we're pretty much recreating an interface similar to RPG Maker's own. It won't be as feature rich but it will be more specific so that we can use the tools we build ourselves with 100% feature utilization. By building our own system we can add certain functionalities without having to google how to do it for hours with someone else's design and/or have to resolve it with a hack. That being said the editor is looking shhhweet especially since it's using our own map format.

As far as pixel art goes I figure pictures speak louder than words. Here are a few mockups:


Friday, December 19, 2008

Holy Crap, it's December!

I'm just going to post this and pretend like I haven't been absent for the past 5 months.

Zedix and I got back on the horse last night and decided to make a simple RPG. To make things easier on myself we decided to pick a modern setting. In fact the feel of the game is strongly influenced by the Mother series and Peanuts. The cartoony look allows me to use colours without always having to fill in the blank with details. The grundgy look can be pretty draining.

That being said Zedix brushed off the dust of his C# skills and managed to rebuild the map editor I had posted so long ago.

Anyways here are a few characters I drew together and a mockup. 


And the mockup.

Wednesday, July 16, 2008

Chrono Trigger Meet Bill Murray!

So Chrono Trigger is being released on the DS and aside from wetting my appetite it has me wondering what made the game so good great fantastic. Now aside from the fact that the game was designed by a dream team it also told a very compelling story that included time travel as an important theme.

I am also wondering how time travel could be incorporated into a game as an interesting gameplay mechanic. I'm sure a lot of games explore it but how many actually use it to make the game fun and how many have it as a central theme?

This also got me thinking of Groundhog Day (brilliant movie by the way). Obviously this spawned a game idea but I'm not sure how well I could execute it. Essentially the player would relive the same day over and over again like Bill Murray does in Groundhog Day but every time he accomplishes a goal that has a significant impact on the time line it creates a "time scar" (if you will).

This time scar would make it so this event happens (or happened, semantics with time travel are so confusing) through every iteration of the day. The goal of the player would be to place enough time scars throughout the day to break free of the loop and live the rest of his life.

Though the premise of the game is vague enough it is also clearly an idea that would allow the player to explore various aspect of the world without ever being punished. Say he decides to get shot by a police officer; he would only wake up at the beginning of the day again with all his previous achievements still accomplished. It would be a game about exploration and experimentation.

I used a violent example, possibly to compliment Bill Murray's failed suicide attempt in Groundhog Day, but non violent experiments could take center stage like trying to hook up two strangers or helping a cat stuck in a tree. Heck this could be a lot like Quantum Leap, man what a sweet show.

Tuesday, July 8, 2008

Ramblings of a Bored Fool

A friend and I were discussing his data driven architecture he's coding for his game he is programming. He got to the point where he had a working system when he realized that he had no idea as to what to make with it.

The most obvious choice was pong. He kind of grunted at the idea but we started talking about different takes on the game. There are a millions flavours of pong including (but not limited to) plasma pong, pong RPG, all flavours of battle pongs, etc but how were we to make a new pong that is still interesting?

One of the good ideas we had spawned from a joke. I hate kid's TV shows about kids with cards who duel using said cards and take their game very seriously. I'm takling about winning or losing a match is the difference between life or death (it's a freakin' card game!). So hence card game pong was born!

Essentially the game starts as a regular pong match. Every time the ball hits a paddle the player draws a card. The player can hold five cards in his hand. These cards would have effects in the game whenever they are put into play. An example of this would be a ball split card or a temporary paddle extension card.

What's interesting about the ball split card is that it could be used strategically for the owner of the card by using it against himself. Since the player draws a card whenever the ball hits his paddle if he used the split card just before it hits he would have the right to draw three cards (assuming the ball splits into three balls).

I guess the controls would use the arrow keys or wasd to move the paddle and the mouse to choose cards. My only concern is whether the player will have trouble keeping track of the cards he has while the ball is in play. It would be an interesting experiment nonetheless.

So what are other cool ideas?

Wednesday, May 28, 2008

Summer Projects

So summer is here and I've broken another promise I made to myself. With an actual routine of getting up for work everyday I figured that I would get into the development mood but it hasn't happened. So what's going on with the adventure game that was in the conceptual phase? We scrapped it.

I'm too worried that an adventure game, ala classic Zelda games, will be too demanding on the content level. Instead we decided to use some of the lessons we learned in the Outpost project and make a new Top Down Shooter like Shadowgrounds or Moonpod's War Angels.

I won't go into detail about the project just yet because lately my projects don't seem to lift off the ground. I figured I'd post something after a month of silence.

Monday, April 28, 2008

Not Flat Lining...

Okay so exam season is lasting forever. I managed to get my java architecture working with some extreme volatility in the frame timing so I'll have to look into it some more. Sadly I haven't had the time to touch anything since then. Studying has taken up most of my time but to stay on topic I will show off the final result of our CG class; the vogager introduction:



We got an A+ for it. I have to say my partner deserves most of the credit since he's the C++ guru. I did a little bit of modeling (not enough to actually deserve a mention here) and the scripting for the scene. It's pretty neat how it works in the back, I can create objects from a script file defined by us and change the file without having to rebuild the whole project. It really streamlines the whole process.

Tuesday, April 15, 2008

Java and Game Development

It really bothered me that a lot of people couldn't run NSR. I knew XNA was exclusive to Windows which I thought was fair enough thinking most people would have access to a copy (or use an emulator). However even if we ignore the non-windows demographic so many didn't have a video card that supported shaders 1.1, what a bummer.

Well while I wait for the end of the exam period and for Zedix and I to have time to fully commit ourselves to our new project I decided to explore java game development. I decided to install Eclipse and use java's own java2d stuff. From what I read it's not the best for game programming, especially when there are APIs dedicated to graphics like JOGL or GTGE, but for what time I have to invest in this project I think it will be just fine.

As far as design goes I figured that I didn't want to divert too far from the way XNA works. Now I know I can't develop something as fancy as XNA (ooh-la-la) but I could design a simple architecture that would emulate the coding feel of it.

Seeing how the major architectural feature that I use in XNA is the drawable component I made an abstract GameComponent class with the basic update and drawing functions. From there I implemented the MainComponent which would hold a list of all updatable and drawable components and iterate through them in every iteration of the game loop.

I'm unexperienced in the whole field of game loops but for how simple my project will be I will simply define a default frame per second (60) and make sure that only one frame can be executed per 1/60 seconds. I'd post some code but nothing in my design is concrete just yet.

Here are a few links that I found useful:

Wednesday, April 9, 2008

End of Semester => Deadlines

Well things haven't been flowing too smoothly. Little to no progress has been done on our latest project but that's mostly due to school. However since my fan asked for an update I'll add an update.

Narcoleptic Soccer Rush

Well voting ended today and we finished 7th out of 48! Crazy! We were hoping for top ten and our hard work paid off. I think all the games did well and that the voting was fair (though with so many games some games didn't get as much credit as they deserved). Congratulations to all those who entered the competition. Keep an eye out on the TigSource front page for more details.

Avoid the Asteroids

We are presenting the demo and the XNA framework tomorrow morning at 10:00am. After seeing some of the other projects I'm a little nervous seeing how our demo can't possibly last more than thirty seconds (plus the presentation).

Star Trek Voyager Introduction

I haven't really mentioned this project but we are currently putting the finishing touches on it. The presentation is tomorrow morning at 8:00am. I'd list the project's details but instead I'll point you guys to the Assembla wiki where we took the time to add everything. Right here.

Adventure Game

Well not too much to add here but I'll post the sprite I made for it. I'm pretty proud of it considering that most walking animation I end up studying a current sprite extensively, this one was done looking at the walking cycle.

Wednesday, April 2, 2008

Finishing Touches

Well I figured that I was done with Avoid the Asteroids but the project required a testing phase which then led to an improvement to the system. Seeing how it isn't too obvious to test a game using software metrics put forward by a program like SEG we decided to "tighten up" the collision detection and add sprite font support.

XNA makes this really easy for us so basically all I had to do was pop in a font I had drawn a while ago for Outpost and added a few functions to my GUI class. Beforehand I was cheating with my user interface by simply overlaying an image (I know, I know, it's dirty) but I didn't feel like adding the font seeing how I only had to display the introduction text and the game over screen. However the addition of the timer forced me to put it in. I think it looks much nicer.



Sunday, March 30, 2008

New Project

Well NSR is out and has gotten some good reviews, though they are rather scarce. I'm having fun googling it to see where its mentioned. So far it isn't found very often but there are a couple of hits. It's still cool to see a complete stranger find the game and think it worthy enough to mention on his or her blog.

With the competition over and the polls opened until the 9th of April we find ourself wanting to work on a new project. Sadly we decided to cancel work on Outpost for various reasons. The main one being that we used all the lessons we had learned while coding Outpost into NSR and going back to a game with code of lesser quality isn't as appealing.

We dabbled with the idea of a space RPG/turn based strategy game but decided against it considering just how much work would be needed it to complete it. Being a pretty young team I think it was a wise decision to avoid a project that could have taken us a year to complete.

We also thought about making a platformer but Zedix isn't as a big of fan of the genre as I and we couldn't come up with a concept that would seperate the game from the rest of the noise. We both agreed on an adventure/action game similar to the early Zelda games. This choice will allow us to explore simple behaviour (for the opponents) and allow us to build editors to simplify content creation. Heck Zedix already has a basic build to show off.

Friday, March 21, 2008

Narcoleptic Soccer Rush has been released!

Check the thread on the tigsource forums for more information:

http://forums.tigsource.com/index.php?topic=1255.0

Thursday, March 20, 2008

Long time no update

This is probably the last update until we release the game on Monday. We have most of our features plugged in which includes:
  • Title screen,
  • team selection screen,
  • timer,
  • out of bound code,
  • basic AI
What's left:
  • Streaker/Referee
  • End of game sequence
  • Various bugs (however all show stoppers have been stomped)
What's kind of neat is that the game is pretty fun to play even though it's a basic soccer game. I think the narcolepcy actually adds an element that makes it different enough to be interesting (and pretty darn funny).

That being said, we're probably going to get work done on Outpost soon enough.

Sunday, March 16, 2008

Narcoleptic Soccer Rush! (Update)



Well there's a small video showing some updated features. We finally added some walls and the billboards I spent a good chunk of time making. You can see some screenshots in the tigsource thread about the game.

Saturday, March 8, 2008

Tuesday, March 4, 2008

Video Game Name Generator Competition

It seems a little hypocritical to use our lack of time for the slow progress of our current game and then join a video game developing competition. In my defense the entries are mostly simple games and so they are relatively simple to develop.

The basis of the competition is to have a video game name generator choose the title of our game and from there we make a game. We were lucky enough to have a hilarious title popup:

Friday, February 29, 2008

Avoid the Asteroids Video

Avoid the Asteroid

The game has taken a hit to productivity. It's not that we don't want to finish it but more that school is interfering.

However my game developing hasn't stopped completely. In my Advanced Design and Reengineering class we have a project where we have to introduce a new technology to the class and develop something with it. Our group has decided to use XNA which is awesome enough because I didn't really get the chance to work with it in Outpost (having focused primarily on graphics).

The game we decided to work on is an Asteroid type game but instead of shooting at the asteroids you just have to avoid them. Your little saucer follows the cursor so it's a very simple game. I have been slaving at it for the past two days and got it to a playable state. Well it's more than just playable; I added sound and introduction/game over screens.

Tuesday, February 12, 2008

Sounds Effects

So the game is progressing well but we are slowing down a tad bit. Being much closer to the end means we have to start smoothing the rough edges which is a lot tougher to do. Nevertheless we march on.

I started dabbling in sound effects over the weekend. I bought a cheap mic (Sony F-V120) and walked around my place trying to find stuff that makes noise. I'm using Audacity to get rid of some background noise and apply effects to try and distort the source of the sound (and to also make it sound more like the actual emulated noise).

I was considering getting our SFX from a free source but some of the sites I visited requested that I credit every author for every SFX I used instead of the site itself. Well considering that I needed a boat load and that they were all of sub par quality I decided to make my own. My stuff isn't great but it's better than most of the free stuff I found.

Thursday, February 7, 2008

Not a Big Update

I haven't done too much work in the past week. A lot of it has to do with school and the rest has to do with the fact that I'm about 90% done with assets that need to be drawn. The 10% that is left is by far the most time consuming stuff (title screen and such).

However I did manage to make the window for the resource counter and made a new boss enemy: a mech! Here's a gif showing the mech walking. Sadly there's a graphical error in the firing but it's barely noticeable (it's already fixed for the game).


(click the image to see it animated)

Monday, February 4, 2008

Oh My Gooses!

If this isn't an important milestone I don't know what is! After a couple weeks of hard work and late nights we managed to implement some wicked stuff including but not limited to:
  • Multiple weapons
  • GUI for switching weapons
  • A freakin' beating heart!
  • Our custom font
(Click on the thumbnail for a full screenshot)

There was a lot of optimization on the back side since we were already getting weird slow downs. We found out, through various sources, that early optimization is bad so we were extra careful only removing various memory allocations inside our update and drawing loops that weren't necessary. I think we did a pretty good job (by we, I mean my partner who learned to use the CLF profile and Nprof pretty efficiently).

Wednesday, January 30, 2008

Random performance loss...

Went to bed around 2 a.m. last night trying to figure out why our framerate would drop to 30 fps randomly when the game was running on a perfectly. Every other module was commented out in the code except for the map drawing and map coordinate updating loops and we found that we'd still get a jitter.

Since we count on XNA to time our loops perfectly we get smooth movement by increment/decrement the x, y value whenever we want to move. If a draw pass is missed and the game updates twice then the position will jump two pixels, something we thought was very noticeable (considering that we are working on a very small scale). We tried pretty much everything to try and slim down the functions but it never fixed the problem... then we stumbled on Shawn Hargreaves's blog and his explanation on random slowdowns.

Our conclusion, based on his explanation of the GameTime class, is that the random framerate drop (for only a single frame every 100-200 frames) is caused by garbage collection. Gah...

On a good note I managed to make a GUI that I'm pleased with, check 'er out!


Monday, January 28, 2008

Game Design

So I finished reading A Theory of Fun for Game Design by Raph Koster and it is wicked. I have never finished a game so I can't call myself a game designer but I'll gladly say that when I do finish a game I will be a better game designer.

What's so interesting about the book is that it doesn't tell you how to make a good shmup or how to make the coolest flight simulators, instead it focuses on the psychology behind fun and games. So what makes a game fun? Well I'd be spoiling the book if I told you, wouldn't I?

Though I'm going to swear by Raph Koster's book as if it was the Bible and he was Jesus (because Jesus wrote the Bible*) I have to mention I found other great resources on good game design. Some of these are more axed on specific aspects of it (like level design) and some focus on the higher level details.
(I didn't find all these resources by myself but I think it doesn't hurt that I redistribute the links)

*Don't quote me on that...

Sunday, January 27, 2008

Pixel Art

So I don't have much to show except for some gifs I put together. I studied pictures of explosions to get a basic colour palette and some youtube videos for the progression/movement of the flame. This is my first attempt at making one of these and I'm pretty happy about the results. I think it's good to note that I was also trying to stay true to the old school look.



And so you can imagine having those explosions tile and igniting in a cascade motion all over a tank sprite... just wicked...

[edit]I'm using Photoshop Elements 4.0 for my pixel art but that can be a little pricy (I was lucky and got a copy with my Wacom Tablet). In case you want to use free software and think MS Paint is a little dated here's a good tutorial on how to setup the GIMP for pixel art.[/edit]

Saturday, January 26, 2008

Project Outpost, wow...

So the new project is a pretty cool idea that took a different approach when being designed. The constant failures of all my projects could always be traced back to wanting to do too much with the little experience that I had in game development.

Knowing this I knew that I had to scale back and start with something small. My first idea was to make a breakout clone that had a small story tacked on to the gameplay. The reason behind this choice was to be able to stay motivated and finish the game with a degree of polish. I never started on the coding of the project because I had told myself that I would start as soon as I knew I'd have the time to invest in it but most of the sprites had been drawn.

Two weeks ago my buddy who had worked on Popo contacted me telling me that he had started coding a shmup with base building elements. He showed me a screenshot and I knew right there and then that I had to get involved.

All his artwork was placeholder art taken from various online sources. I figured that since the project had a simple enough scope we'd be able to finish it.

So we got together, discussed some of the games feature and came to a consensus. So far my involvement in the project has been pixel art for all the sprites and tiles but I hope to move onto coding once the graphics have all been assembled.

The project uses XNA 2.0 and C# for development. All graphics were made in Photoshop Elements 4.0 in a 32x32 pixel grid to achieve the SNES-era look. We have already invested a large amount of time into it and reached an important milestone at the beginning of the week:

  • Tile engine that picks random tiles from a specific set to avoid the "grid" look.
  • Placeable walls that link up together when placed one next to the other.
  • Placeable turrets that look in a specific direction and will only fire once an enemy enters its perimeter.
  • Monster generation with layered sprites which allows us to make breakable parts.


Thursday, January 24, 2008

All Formalities Aside...


<A little bit of history> So as a teenager I was convinced that I wanted to make video games. I ran a Message Board Based Role Playing Game called Oblivianatus for about four years and thought I had the greatest ideas for RPG story lines. Like any snot-nosed teenager who has no clue about such things I would sit on the couch playing games thinking "oh they should have added this or that feature" and that my ideas would make me millions. So far they haven't.

After my first year of university I wanted to make a video game so I started work on a project I simply called The Adventures of Popo. It was supposed to be a Zelda-esk game where a monk traveled through a magical/oriental land exploring various temples trying to unlock the mystery of his past.

A friend and I started work on it (my friend did all the programming, though I helped a little with some of the algorithms)... I'm pretty surprised at how far we got into the game. At the end though our inexperience would kill the project; it was way too ambitious for a first project and all the different hand made pixel art I had to do was wearing me out. (Though working with DirectX7 and C didn't help much either!)

I attempted to work with directX9, mdx, opengl, sdl, allegro, and whatever else but I never really got the hang of any of them. My first completed game was a console application tic tac toe and connect 4 clone that I, so cleverly, called QuadConnect. Screenshots, preview, and source code can all be found on a thread I wrote on the gamedev forums.

Fortunately time and patience has rewarded me and my partner in crime and we now started work on a new project (expect many posts related to it later on).

On a completely unrelated note I would like to point you in the direction of Ravuya. He was the major character in inspiring me (indirectly) to join the indie gaming community.

Introductions and such...

Alright so I'm Gazillion and as much as I would love to have had that handle as the url to this blog I wasn't able to secure it. As mentioned in my profile I am a software engineering student at the University of Ottawa and hopefully I'll be graduating one day.

I have always loved video games and anything related to computers so it seemed like a logical choice to pursue it as a career (though I don't really know what I'd like to specialize in).

I don't really like to spread private information for the world to see and I'm sure if anyone ends up reading this that you don't want to know that my girlfriend and I had a fight or that my cat* vomited on the carpet.

I'll try and keep posts oriented around video games, software engineering, and game design. If this changes with time: I sincerely apologize. Oh and before I publish this, I would like to let you all know that I am not an expert, I do not pretend to be an expert, and if I ever post code on this blog it will probably be riddled with bugs, inconsistencies, and follow bad practice. Feel free to correct me and criticize everything and anything I do.

*I don't have a cat.