Tuesday, September 02, 2008

Google Browser (Chrome) -- I'm Lovin' It!

And finally, it's here! Google's own browser; Chrome. I was actually surpirsed to see a buzz all over the internet yesterday about Google's anticipated release of their new browser today. I couldn't wait to put my hands on it, and I did; I'm actually using it right now to write this post.

Simply put, it's at least as good as Firefox 3, which for me is saying something! I've been using firefox for quite sometime now, and I really liked Firefox 3, and to think that Chrome felt pretty much like home from the very first minute really counts for a lot. Of course, this is literally my first hour of using it; but I already love it! The interface is simple and light-weight, the speed with which it loads up is stunning, and there are some very nice integrated features that replace many of the plugins I use for Firefox.

There are also some very nice technical details about it, but these will reveal their true potential as time goes by; such as their multi-process architecture, which I think will greately improve the stability and usability of everyday use. There's a nice comic book that says it all; and the features page has a lot of other details about how it works and the concept behind it.

Of course, I'll be using it as much as I can from now on and we'll see how it'll hold up on daily basis. I already know the answer, though; after all, it's Made In Google ;-).

Sunday, August 31, 2008

XIII Game Finished

Remember when I was saying I was looking for the next game to play? Well, I asked one of my friends for a recommendation and he recommended XIII. So, I got it and sat down to it over this past weekend.

Honestly, it was nice. The game is cel-shaded, which adds a nice feel to it. Also, the comic-book style "Arrrg"s and "NoooOOO"s, not to mention how they utilized this in actual game play when far away and around the corners you would see soldiers' footstep sounds being written out, and you actually use it to know where the soldier is and where it's headed. Aside from that, the weapon recoil effect was also nice; far more realistic than many other games I played. As for the story, it's based on an old comic series with the same name; but they did a nice work with it and I actually enjoyed it.

One thing that did annoy me a little bit was how they handled saving. The game works in checkpoints; but since I rely on quicksave/quickload quite often; I expected that when I quickload after passing a checkpoint, the game would go back to that checkpoint, not to the quicksave point which was usually at least one checkpoint back! I guess it's my mistake, cuz I kept forgetting to quicksave after each new checkpoint, but it would've been much nicer if the game did that for me.

Overall, it was a nice game and it made for an enjoyable weekend.

I also found some free time to make some progress on The Fellowship of the Ring; so now I'm almost two-thirds of the way through it. I can't wait to get done with it and go into the next one! One thing to note, however, is how different the book is from the movie!! The first part of the book, the part where frodo went with the ring from the Shire to Rivendell; made for an entire part of the book, full of events and people and stuff. It got a little boring at certain points, though, so I'm guessing the people who did the movie knew what they were doing. It wouldn't have all fit into one movie anyway, that I can be sure of.

Thursday, August 28, 2008

Game Project Update: August 2008

Exactly two weeks ago, I came up with my new game project idea. Since then, I have managed to do a few small steps towards getting an initial 10,000 feet overview of things. Since I kinda reached that today, and we're at the end of August; I decided to make a post about how far things have gone. Also, since it's almost the end of the month, I had the idea to make this into a monthly update thing. So, if all goes well, I should be posting an update like this one detailing how far I've reached by the end of each month. That said, and without further ado; let's get on with the status update!

As I was saying, the first step I needed to accomplish was to get a wide overview of what I would need to do and how I would design my classes. I actually managed to put some time aside for this, and I started looking into the different components I would need, and how they would fit together. I also found myself compelled to start thinking of a good object-oriented design for a sorta-flexible game engine rather than just hard-wire everything. I'm aware of the time and effort this requires, but since I'm in no hurry; I think this is the best way to go.

For starters, I already know that I am going to use Ogre as the core graphics engine, so this was a good starting point since it would usually have a major influence on how everything else works. I started going around the Ogre Wiki to refresh my Ogre knowledge; and I came across a few articles that provided me with some nice pointers on my engine design. One such article gave me a few nice tips on the general organization and design of the game engine, and it opened my eyes to the aspect of game state management and how low-level input events should be abstracted by more high-level "actions", which would provide a certain level of flexibility if later on I decided to add network functionality. Another article also clarified the game state management concept a bit further; and so I finally have a fair idea of how I'm gonna design and build this functionality. But what the hell is game state management?

Simply put; the game works by transitioning from one state to another. For example, initially the game starts with an intro screen, followed by the game's main menu. After the player selects "New Game" for example, the game actually goes into action and starts responding to player actions, etc... In order for things to make sense, the game has to respond to user input differently in each of these situations: if a user presses the space key during the intro screen, for example, the intro is skipped; while if the same key is pressed during gameplay it might mean "jump" or "fire". In order for this distinction to happen, the game has to move between states, while each state does different things and handles input in different ways. That's a brief description as much as I could manage, but the original article explains it much better.

Anyway, after some reading and some thinking, I came up with the most-probable set of classes that would constitute the game engine. Of course, this will definitely undergo some refinements and a few additions when I try to design things with a little more detail, but here's the initial list:
  • Game: This is the main control unit that would control all the other classes/systems.
  • StateManager: Manages different states and switching between states.
  • State: Abstract base class for each of the different game states.
  • MenuManager: Manages menu display and navigation.
  • Menu: Abstract base class for each of the different menu screens.
  • LevelManager: Manages different game levels, including enumerating, loading, etc...
  • Level: Game level class; controls and runs a single level.
  • GameEntityManager: Manages a set of game entities.
  • GameEntity: Represents a single game entity and controls it.
  • InputManager: Manages low-level game input.
  • InputSource: Represents a single low-level input source.
  • EventManager: Manages and distributes game events to listeners.
  • Event: Represents a game event/action.
  • EventHandler: Base class for classes handling events.

I still need to work out some of the details of their interaction, but that's basically it. That's obviously quite a lot of code, and there's still some other "secondary" classes that would be needed, such as for loading levels, etc...

As for what's next, I would start working out the details of the class design, and start getting into the details of other subsystems such as input (OIS) and UI (CEGUI). I'm totally ignoring audio for now, but if the design is really as flexible as I hope; it should be as easy as adding a few more classes; possibly without even changing any of the other classes at all.

Thursday, August 21, 2008

What do people think of Windows Vista when they don't know it's Windows Vista?

While browsing some tech sites today, I came up on a Microsoft ad about Windows Vista. I don't know if it's new or has been around for a while, but I just saw it and couldn't help a big smile!

In the video commercial, they show a bunch of people saying why they don't use Windows Vista, and none of these people have actually tried it. Then, they're showing them a "new" Windows version called "Mojave", and they all seem to like it very much! Then, surprise surprise; that's actually been Windows Vista all along! Then, the commercial concludes with their new campaign's slogan: "What do people think of Windows Vista when they don't know it's Windows Vista?" followed by the link to the campaign's website; http://www.mojaveexperiment.com/.

Obviously, they're admitting that Windows Vista had so much negative publicity that the majority of people don't even wanna consider trying it! Why this happened I'm not sure; but I myself happen to fall in that category; I haven't used it and I'm not looking forward to! Although, I admit, in the very few and limited occasions in which I saw it or used it on someone else's computer, I didn't quite hate it. I just heard so many bad things about it, and I'm pretty comfortable on my current OS anyway; that I'm not really in a hurry to go upgrade. Besides, this whole gazillion editions of the same system thing is annoying; I don't wanna be stuck with the decision of which one to get.

I just find it kinda comical, for Microsoft to be openly admitting this about their own product, and actually using it as a proud slogan for a brand new campaign that I'm guessing would be expected to raise Windows Vista's sales!

There is some irony there; I just can't quite put my finger on it...

Monday, August 18, 2008

My Experience: Windows Desktop Search Vs. Google Desktop

Believe it or not, today witnessed yet another unsatisfactory installation experience of Google Desktop for me. This is like the 3rd time I've installed it only to reinstall it again on the same day! The desktop bar is still a bit unstable on my Windows Server 2003 system (which I use for web development), and indexing insists on going over each and every system file, which is quite useless and makes me lose track of the much fewer actual documents and files I have.

Overall, I have been reluctant to install any desktop search engine because I was worried about indexing slowing down the system; then Windows Live Search got installed with the latest windows update and I gave it a try; and I'm sad to say that it's much more "to the point"! It automatically limits itself to files in personal directories, and allows me to manually add places that contain stuff I wanna index, and control file types/extensions in a much more flexible and generic way than Google Desktop.

Eventually, I got disappointed with the whole deal and decided to uninstall it. What made me pause to write this review is the feedback box that came up during the uninstallation process. Of course, this is my own opinion; for all I know the rest of the world could be disagreeing with me right now! But this is my experience; and since I'm a Google fanatic, I really wish I'd been able to use their Desktop Search and be satisfied with the result.

For now, however, I'm using Microsoft's Windows Search, and it was done with the whole indexing process before I even knew it! True, it did not index file contents; but who said I wanted it to? When I do have too many files to keep track of, I would then choose to let it do so with a click of a button; and I don't think I'd have to worry about it taking up that much processor time then either.

Thursday, August 14, 2008

Thousander Club Update

Of course, as a direct effect of how busy my life has been recently and how I had abandoned this blog for a while, the whole Thousander Club thing was abandoned as well. Actually, though; not quite!

I did, at the beginning of this year, put a few goals for myself. Not quite as impressive ones, but still goals that I would love to accomplish. I did, to an extent, follow up on most of these goals, though some of them were unavoidably abandoned due to how hectic my life has been.

One of these ambitious goals was to finish 12 novels, one for each month of 2008. I actually started out half-way across the year anyway, so as you imagine I'm nowhere near close to this target. I started when I got the collection of "The Hobbit and The Lord of The Rings" which I'd always wanted to read. I started out with The Hobbit, and I'm currently stopped almost one third of the way into The Fellowship of The Ring. I actually barely set time aside for it anyway, I simply read my way through transport, which gives me around an hour and a half of reading every day. I currently stopped reading, however, in favor of another objective. But I do plan to continue the LOTR collection at least, simply because I want to. I hope I can get time for more this year, but I doubt it!

Another goal, this one may sound a bit weird, is to finish at least 12 video games this year! My argument for this is that, for someone who wants to be a game programmer, I certainly have a very shallow background on video games, mainly due to the fact that I'm always too busy with everything else. So I decided to put time aside for video games, and to always have a video game that I would be currently playing. Also since my current PC isn't too powerful -- I had it since summer 2003! -- and I couldn't play the more recent games, I decided to go for the classics that I never had the time to play or finish. I started with Doom 3, couldn't bear finishing it till the end (too stressful!), moved on to finish the first Starcraft, then Max Payne 1 and 2. I also finished The New Super Mario Bros. on my brother's Nintendo DS, so I'm gonna count that in as well. I just finished Max Payne 2 a week or so ago, so now I'm looking for the next game to start.

I might wait a while, though, and choose to favor my new game project and allocate more time to that, or to the other objective I'm also working on; for the time being. Actually, this other objective I'm currently allocating a lot of my time to is to get certificated! I've actually started studying for the MCTS certificate, in order to try and get that and the MCPD certificate that naturally follows it; in the field of Web Development. It's an inevitable part of my career development path; the day job! Until I can get me a game development job anyway... So, also one of my objectives is to get the MCPD by the end of the year. It's actually 3 exams, 2 for the MCTS and 1 for the MCPD. I'm still studying for the first exam, which I plan to take at the end of this month, if all goes well.

Anyway, that was a quick update to my semi-Thousander Club status. But basically, I don't think I'll be posting weekly updates or anything; let's just consider that my Thousander Club membership is on hold till the end of 2008. I will, however, update the side-bar of this blog with which book/game I'm currently playing, and how many done of the target.

Game Plan

Lately I've been getting an increasing feeling of nostalgia for C++ and game programming; and to writing challenging code in general (since I have been primarily working with C# and web development for over a year now!). So, I decided that what better cure for this than to start a game project! I've had this idea in my head for a while about a way of utilizing the mouse input in a sorta new way, and I've also been dying to make a classic-style top-down space shooter game like the ones I fell in love with on my MSX back in the day. I finally put the two ideas together and came up with an idea for a good game that would be fun to play without requiring a team of professionals to develop. I think it might even have the potential to spread around a little and be enjoyed by others; or at least others who have nothing better to play in their free time!

Basically the idea consists of a futuristic fighter aircraft (the player) doing missions in a world full of all kinds of enemies. The player can collect power-ups, weapons, upgrades, etc... and the main objectives are score, completing levels, and accomplishing a high kill rate in each level. Levels get unlocked as you complete them, and I'm thinking levels can be re-played to get more score and a higher level rating. I might even go as far as implementing a game-wide ranking/rating system, but that definitely won't make it to early versions.

Anyway, the new bit is that I'm thinking of using the mouse as a/the main input method, but instead of the linear axes model I have another, slightly different model in mind. I still need to experiment with that for a while to see if it would actually work, but I think it'll be fun if I managed to do it as I imagine it. Also, I think it would be a great idea to implement co-op play with the mouse and keyboard. I also have some brainstorms for other multiplayer modes, but I don't wanna get too far ahead of myself for the time being.

So, for now my objective would be to get started with the main game engine, and to experiment with my new input method. I plan to use OGRE3D at the core of the game; simply because it's open source, it's certifiably excellent, and I already know its API. My head already started working on the details of the class design, and I don't think it'll be long before I can have a working base with at least some basics like movement, shooting, and maybe even collision detection ;-).

Of course, there's the issue of me having absolutely zero free time, and lots of other things to do that I'm already committed to; so this might not be exactly the high time for productivity on this game. I do, however, plan to keep it on my mind and work on it whenever possible. I also think blogging about it would be a great source of motivation, so I'm gonna try to post updates about it as much as I can. Oh, and I also came up with a name and a backstory for it! But I'll keep that to myself for now; probably until I release my very first executable or something.

Friday, July 18, 2008


"I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.''

Alan J. Perlis (April 1, 1922-February 7, 1990)

From the dedication of the book: Structure and Interpretation of Computer Programs, second edition (MIT Press).

I'm Back! maybe...

I know, I know... It's been ages since my last post! Actually, I hope this extended period of idleness hasn't driven all of my subscribers and faithful readers (yeah, right! :-P) away, though I'm sure it most probably did. I'm gonna do my best to go back to posting, though, and hope I can get it back to a steady stream.

Naturally, lots of things have been going on with my life... I'm counting down the days to the end of my service year, which technically ends by December 1st; sadly still seems so far away (yet much closer than it used to be, of course). Days pass, and work makes them pass faster, for the most part. I've also made a bunch of personal targets and goals for the mostly-near future, which is to say the rest of 2008, and I hope I can keep up with them as much as possible.

Actually, getting back to this blog was one of these targets. Technology is moving faster than ever, and of course I've been too busy to keep up. That's why I'll try to follow up more, and naturally blog about it! I also think it's a good idea to blog about how much progress I'm making on my current projects/goals, so I plan on doing that too...

So, for the time being, let's say that I'm back! I just hope I can keep up, seeing how hectic my daily schedule is :-/.

Monday, April 28, 2008

A Post From 60 ft. Under: Prototype!

Is it just me or are they taking video game violence a little too seriously??

Punching through dudes? Seriously!

I wanna play it though, see what all the fuss is about...

Sunday, January 27, 2008

My Newfound Starcraft Obsession

Apparently I was missing out on a lot by not playing Starcraft earlier. It actually turned out to be a very great game! I know lots of people would read this and say "Duh!", and I guess when so many people agree on something, it's probably right...

The graphics isn't at all that old, in fact it's barely noticeable except during the menus and the low-res videos. As for the gameplay, and although I don't usually play that many RTS games, it looks fairly original, and I'm sure it was very original at the time of its making.

Bottom line, it actually had me pretty hooked up! I just closed it after playing it for 3 straight hours, which in fact isn't that good considering there are many other useful stuff I could've been doing -- not that playing wasn't useful, but variation is good. At least I could've played Doom 3 for a while too!

I have also been extremely lazy in doing something else I wanna do, which is thinking about and planning for a game that I wanna make. I don't know many details about it yet, which is exactly what I need to work on. I just don't get that much free time and free mind to think about creative details. All I know so far is that I wanna make an RPG, and I wanna use opensource technology from beginning to end. I'm still trying to work out the rest of the details, but it's not that easy. I just hope I can get it moving and stop being so lazy, especially that I wanna have it in a presentable state by the end of this year, at least as an interactive demo.

All suggestions and ideas are welcome, of course! Also, I'm thinking of using the OGRE3D engine; any thoughts on that??

Saturday, January 26, 2008

Happy Winter-een-mas everybody!

I know people might think it's weird, but this year I'm celebrating a new holiday, Winter-een-mas! It basically takes place every year for the last week of January, and it's a celebration of games, gamers, and the gaming culture in general. In the words of its original source:
Winter-een-mas is a holiday of sorts. More specifically, it is a celebration of video games and the people that play them. Video games allow us to do things, go places, see stuff, that we couldn't do in real life. They can be an escape from reality, a release after a long day, a fun activity with friends, or just an enjoyable way to pass time. They give us a lot of entertainment. So why shouldn't they be celebrated?

The idea generally appealed to me. Why not, indeed? And, for this year's WEMas, I've actually started playing Starcraft, and I'm enjoying it quite a lot. I'm also still playing Doom 3 in the tiny amounts of free time I have. The only problem is, this free time is very scarce, and I have other stuff to do besides playing (like blogging, for instance), so I barely get the chance to get immersed in either game.

Anyway, Happy Winter-een-mas everyone! And, to all the gamers and game makers out there goes a very special shout... Rock On, guys!!!

Sunday, January 20, 2008

I won Name That Game 34!

Gianfranco Berardi from GBGames made a post the other day about having won the Name That Game contest number 33 which I happened to read. I followed the link and found out about this nice contest which Anthony Salter holds occasionally on his blog. And so, when the next issue of the contest came around, I thought I'd give it a try. Guess what, I actually got it right! Yep, I won Name That Game 34! Of course, it wasn't until I embarrassed myself a little, but I guess I'm used to that by now. Besides, it was worth it, check the post and see what I won ;-) :-P.

All in all, it's a nice idea. I liked searching through old games and remembering the early days of gaming... Brings back lots of memories, MSX computers, those Atari 2600 game consoles and later models. Boy, those were the days! Even then, it was pretty obvious that computer games were here to stay, though of course nobody could have ever predicted the level of photorealism they have reached. Which also makes the mind wander; if that's how far the technology went in 10~15 years, how much further is it going? How much further till we reach the level of "virtual reality" that Star Trek and such futuristic productions fantasized about? I guess it's something to think about... I just hope humble old me would get to play even a tiny part in that play!

Oh, and by the way, I still have my old 1989 MSX computer, along with a cassette recorder, a color monitor, and a dot-matrix printer, all from the same year and all in good (used but unharmed) condition. If anyone is interested in any of these items, throw a comment or an email my way and we'll talk ;-).

Saturday, January 19, 2008

Finally, an update!

Yes, it's true! Finally, a very VERY long overdue blog update... It's been ages since I posted anything new, mainly cuz I've been lazy and occasionally cuz I've been really busy.

A lot has happened with my life since my last period of blogging activity. I started work at LinkDev as a Solution Developer, stayed there for 3 months (7/16/2007 to 9/16/2007), during which I got called for military duty. I went away for a while, till the beginning of December, then I came back. I've been wanting to update the blog since then, and I actually did do some visual updates on the style and such, but posts just seemed like a lot of work. Anyway, here I am, finally getting down to it.

So, that was a quick update of what I've been up to. I'm currently doing service during the day and going home every night around 4 pm (ish...), and I'm looking to change that by getting a part-time job during the afternoon/evening, so I wouldn't waste this service year without working and actually earning money and, more importantly, experience. I'm already in the process of setting things up with my original employer, LinkDev, and I should be starting work there soon.

A lot has happened on the computer/internet scene during this time, of course. A whole 10 pages post wouldn't even summarize it! I have been busy keeping up with it, though, I didn't get too lazy with that part. I recently paid more attention to my Google Reader account, increasing the number of subscriptions to a nice 50, most of which is active. I usually sift through 50 something new items every day.

I'm trying to get back up to speed with my regular life activities. I re-installed Doom 3 and I'm trying to actually play through it this time. I'm also borrowing Starcraft from a friend tomorrow, since I never played it and I feel I'm missing out. I also put a reading list for 2008, as part of a challenge/contest I had with a friend of mine. We're both gonna read 12 novels in 2008, one per month. I will post my full reading list at a later post, along with some other lists/targets I have for 2008.

Which also reminds me! Of course the whole Thousander Club affair went down the drain! I didn't meet the targets I set for 2007, in fact I actually stopped counting. I did, however, manage to read the whole 7-book Dark Tower series, and another book for Andy McNab called Crisis Four. The Dark Tower was, of course, even better than I anticipated, and I definitely wanna read it again just to re-live it and enjoy it again. Crisis Four was nice, though a bit predictable and generally not quite memorable, but it was fun to read anyway. That puts me at 8 novels for 2007, which isn't a bad number overall. That's why I'm hoping to reach 12 this year.

I guess that's enough for now.. I'll hopefully be a more active blogger from now on, especially that I have lots of things I wanna post about.

So, expect more soon..!