Times, trials, and turbulence.
Category Archives: Real-Life
Whew, it’s been a while.
Exams are long since finished — which went well, to all parties who are curious — and I’ve been ‘vacationing’ back home until the end of the month. It’s nice to see the family, but I’m eager to get back to uni and get rolling on my co-op position this fall.
I’ve been project-hopping pretty badly for the last few weeks, which means that lovely screenshot of that dungeon crawler in my last entry is probably the last that will be seen of it. I need to cut the ambition down a few notches.
I’ve been toying with the idea of a small not-too-ambitious little Wolf3D-like game, which I think grades nice and low on the ambition-o-meter. According to my “research”, this might fare well:
I figure if I embark on a project that’s pretty darn simple, motivation should be a plentiful commodity, since there’s less tricky stuff (like networking :P) to get caught up on. Membrane Massacre began much the same, and it resulted in a completed game. We’ll see where this one takes me.
Several days ago a little bundle of joy arrived on my doorstep. No, not a baby, my precious little GP2X. It’s every bit as groovy as I had hoped, and after acquiring a 2GB SD card I’ve already installed a ton of software. The community has already matured enough to have produced many emulators, so I’m playing Genesis, SNES, NES, and GameBoy games on this thing like nobody’s business. Not to mention ports of other excellent PC games, such as Duke3D, Quake, Cave Story, and CDogs.
I’m not sure if I’ll be getting into the homebrew gamedev scene for this device, but for now I’m more than satisfied with just being a gamer. 🙂
Fall of Skirmish
No, Skirmish isn’t dieing, I’m just making a pun. I’m still really busy with studying for exams, and simply just haven’t been in the Skirmish mood lately. I’m slowly working on a side project at the moment, for the month of August or so. I want to pick Skirmish development back up in September, thus making it the “Fall of Skirmish”. Ho ho ho, get it? Sorry.
The code-name of my side project for August. I don’t think it will be finished within the confines of a mere month, but I just felt that I needed a change for a little while after a year of working on Skirmish. I’m not sure exactly where it will go, but I’m satisfied just with working on it for now.
The viewstyle, as you can see, is a sort of 3D-rotatable-isometric type. I’m not sure what other game it’s comparable to, so for now it feels sort of unique.
The original plan was to use voxels for the map components and draw them in real-time, which fell through as I became less interested in writing tricky rendering optimizations and more interested in actually making a game. So I’m currently working on moving it over to use OpenGL and 3d models for rendering, after which things should be a lot easier to work with. This is particularly interesting, since I’ve been looking for a chance to play with 3D programming in OpenGL and 3D modelling for a long time.
We’ll see where things go, but I’m leaning towards a sort of fantasy hack ‘n slash adventure, which the existing tiles might suggest. 🙂
I have my new development journal set up now on the free wordpress.com webspace. It’s not as fancy as before, but it’ll do for the time being. Unfortunately I wasn’t able to migrate my post attachments with everything else, so all of my posted images/screenshots will be vanishing sometime soon. I have them all on my harddrive still, so I’ll have to see about getting a gallery set up.
Progress on Skirmish has been deathly slow as of late, since final exams are just around the corner. I finish these around the middle of August, so I expect progress to leap back into action somewhere around there.
I finally ordered one of these awesome handheld gadgets, and am impatiently awaiting its arrival. I just learned that manufacturing has just recently been discontinued, :(, but I’m happy that I will at least be getting one of the last ones left.
These things are geared really strongly towards homebrew developers, and I’ve always dreamed about developing on limited non-PC hardware, so this will be a huge adventure. No doubt this will suck up a good chunk of my development (and exam studying 😉 ) time as soon as it arrives!
I’m very curious if anyone managed to find my new journal location amidst the sudden and spontaneous host change. Please take a moment to place a comment, if you wish to help sate my worries. 🙂
Things have been particularly hectic lately, with my co-op term coming to a close, classes starting tomorrow, and the lengthy work-term report that I’ve spent the weekend frantically composing. Things should balance themselves out in the coming week or so, and Skirmish development will resume once I get a solid hold on my upcoming homework load.
Since my last update, I’ve finished the User Settings/Configuration set of menus and windows. This means that the only item left before actually game networking (ie. the game actually starts to become “playable” online :)) is the game host tracking on the Master Server’s end. Exciting waters lie ahead!
The “Fun Stuff” Begins!
It seems like the quantity of updates to the dev-journal are fairly proportional to how exciting the development I’m currently doing is. And, I suppose, it should be. But it does make for large lapses of quiet when I’m working on less “visually notable” aspects of Skirmish. 😉
Nearly all of my work lately has been focused on getting the communications between the game and Master Server operational. This meant lots of low-level socket and TCP/IP code using the (moderately convoluted) Java NIO API, and getting the connections working the way I like both client-side and server-side. In short: a lot of nitty-gritty code that needs to be written for correctness and speed efficiency, and doesn’t lend itself well to screenshots. 🙂
After spending a good chunk of the day finishing this work up, it felt very nice to realize that I had some more interesting features and goals to work on, now that the under-the-hood labour is (hopefully) out of the way. Small but more enjoyable things, like cleaning up the mini-map and making some improvements to the game timing logic.
With the underlying network code written, it was time to finally bridge the gap between the client and master server. I’ve had the MySQL back-end code and account handling logic sitting around on the master server for a while now, so it was nice to get the chance to see if it all actually worked properly.
The first order of business was to create a window for players to log-in with. Just a small minimalistic dialog to facilitate account creation and logging in, to lead into the main “lobby nexus” window soon-to-come, where the player will be able to manage their account, join and host games, and modify local configurations.
(Logging into Project Skirmish!)
While creating the dialog, I gained some more appreciation for the work I had to put into the GUI system while I was developing Battleforge. It was a challenge to put it together at the time, but it’s certainly paid itself off in spades at this point. It was a snap to toss together this dialog, with automatic component centring/arrangement and the like. I had to rearrange some logic with the actual dialog system to function properly with stacked dialogs (which Battleforge never needed), but all is well now. Secondary dialogs pop up when the user logs in (or fails to) or creates an account, properly phasing out control from the underlying log-in dialog.
Like I said, the Master Server is totally functional in terms of allowing clients to connect and create accounts, but a lack of a full-time server to host it with dissuaded me from bothering to put anything online for public to play with just yet. Not that reserving your account name in advance is really a big deal for anyone but the most hardcore of readers. 😉
As always, thanks for reading. I’m looking very forward to writing about the account system in more detail, and showing the development of the main lobby windows.
I have been getting some solid work done on Cyberspawn, which I mentioned a few times back February. Development on it has struck up again, with my Skirmish interest waning a bit at the moment. It’s been a lot of fun so far, and it’s particularly exciting to work on because I’ve never really explored 3D game development, and it will (eventually) be my first game with a true focus on atmosphere and storyline.
The most recent item has been the conversion from software raycasting over to OpenGL.
Aside from the bilinear texture filtering and large FPS boost, the changes are very subtle. The conversion has just been a verbatim change-over of functionality from software to OpenGL. Since the project has made the transition from “toy project” to “making this one happen” status, I’m opting for a more practical approach to writing a 3D game than old 2.5D raycasting techniques. 🙂
I’ve been continuing my fun quest of becoming better acquainted with Linux, and have been using it 90% of the time over Windows for the last few weeks without issue. Aside from playing the “newer” games, and Visual Studio, I don’t feel any major force pulling me back towards Windows.
Also, recently I made the move from Gnome to KDE for my desktop environment, and I can candidly say that I won’t be looking back any time soon. It feels overall much more established, polished, professional, and above all, functional.
Upon deciding to move my development over to Linux, the next big task became finding a good IDE or text editor, and learning how to use makefiles. I had previously been using a lame script that I wrote, which would simply recompile ALL source and relink after every single change. Hoy was that slow!
As the astute reader might be able to discern, the above screenshot was taken from within KDE, and I now have a solid development environment for Cyberspawn established on Linux. I’m using jEdit as the text editor, which has a vast plug-in system, enabling project management, buffer tabs, a built-in console and error/warning log, and other excellent Visual Studio-like functionality. I’m surprised at how happy with it I am, and that it’s easily rivalling my productivity — perhaps beating — from back in Windows with Visual Studio.
In short, I really strongly recommend looking into sliding over to Linux for your desktop and/or development needs. Not from an esoteric Linux elitist sort of viewpoint, but just because it’s such a hugely viable platform for any user willing to learn a thing or two. I can only see my experiences here as being huge pros on my future co-op terms and beyond.
Question to the Reader: What OS do you primarily run? Have you ever tried a Linux distribution? Do you plan to?
Have you ever killed a man with your bare hands? Do you plan to?
First Week of Co-Op
For those of you just tuning in, I just started my second co-op term last week, where I’m working at Sony Creative Software in their office in Waterloo. We’re really just the ‘satellite’ of the real SCS, which is located in the US, in Madison. Our office is staffed by a small ~10 people, so it’s pretty cozy. 🙂
First and foremost, I’ll say that it’s a real thrill to be working on “real” code. I know that some internships like to toss play-code at students to fill time, but I’m working on a significantly large product which will be competing with another certain well-known product. It’s going to be supremely cool to play with the final product once it’s released and see folks tinker with a couple of the additions I’m implementing.
The codebase I’m working on is well over 50 megabytes of source, which might explain why I spend a lot of time every day just compiling. 😉 Generally it’s only a couple of minutes if I’m doing a quick make, but clean-builds tend to take a little over 20 minutes on my dual-core 3.4ghz processors. Gah!
All of the workstations are equipped with dual widescreen monitors, which I’ve become hopelessly addicted to. Coming home to this lone, flat box is a little depressing. I also have some very nice speakers and a killer subwoofer on my system. I need to get one of these setups at home.
There’s no shortage of recreational possibilities at the office, either. I still can’t believe we get any work done, heh. A ping-pong table, a Playstation 3, a Foosball table, and a decent DVD collection make it hard to focus on work all of the time. 🙂
That was a very hastened hodge-podge description of the job, but it’s overall a pretty nice place to work. In short: pure adrenaline. Software developers lead the high life. 😉
It’s been more than a little quiet on that front, hasn’t it? As I learned during my previous work term, it’s notoriously hard to code all day and then come home and try and code some more. Thus, a lot of my development will be somewhat constrained to the weekend.
My motivation for Skirmish has felt a little on the low-side as of late — which I think is understandable given my disposition towards map editors — so another tangent-of-a-project might be in order. More on that as it develops. 🙂
First and foremost, a very happy new years to everyone and their families. Another year flew by, which means another whole twelve months of opportunity and potential are just waiting to be had. 🙂
At the end of every year I like to go over my own accomplishments during the year, my goals for the year ahead, and take the time to offer congratulations to some of the developers that I know who have been making some killer progress during the year (or are just generally awesome).
Accomplishments and Fulfilled Resolutions of 2007
I didn’t do too bad on fulfilling the resolutions I made last year. Although I didn’t accomplish all of them, I think I made up for it with some other accomplishments along a slightly different vein.
- Learned more 3D graphics programming. I made this resolution last year, and I think I’ve managed to fulfill it. With completed projects like the Voxel Renderer and the Raytracer, I’ve made considerable strides towards gaining competency in 3D graphics and math.
- Completed Membrane Massacre. I spent the first quarter of 2007 developing and finishing Membrane Massacre, of which I am still ridiculously proud of. I learned heaps about applying polish to a game, and about managing larger quantities of code.
- Finished my first co-op term. Commuting to Toronto every day was a pain, but I somehow managed to pull through and learned a heck of a lot in the process.
- “Almost” finished my first article. Ah-heh. I feel a little guilty adding this, since I technically haven’t completed my Metaballs article just yet. However, it is literally at the brink of being finished, so writing this here should spur me to finish it up and get it online. 🙂
- Finally got into serious development with Project Skirmish. A project that you’re all probably familiar with by now, Project Skirmish is really and truly on the road to completion. This year saw five months of development on Skirmish, and things are only looking up.
Developer “Awards” for 2007
These ‘awards’ don’t really mean anything, but I really like to point out a handful of fellow developers every year and congratulate them on their excellent efforts. Being a hobbyist game developer isn’t usually a job full of thanks, so why not proffer a pat on the back for some great work, and for being a medium for motivation for myself as well. 🙂
- Jonathan Chung. Once again the first developer on my list, Jon has worked tirelessly for the last few years on Stencyl, a suite of easy-to-use game creation software. His unwavering dedication to the project still leaves me staggering, and I wish him the success that is surely headed his way.
- Mike Stedman. Mike has dedicated his whole year (and then some!) to Novarunner, an Elite-like space exploration game project. It’s come a long way since its conception, and Mike’s dedication to this game after such a long period of time has been a huge inspiration.
- SteelGolem. SG has put a good portion of the year into his Action RPG project, which he’s made some very solid progress on over the last several months. He’s considering restarting a former project, Space Fortress, but I’m sure he’ll end up with something great irregardless of the route he takes.
- Jussi Lepistö. A hobbyist developer thoroughly dedicated to the marriage of Python and game development, Jussi has been working non-stop on his 3D engine and his current game project: Red Nebula. He’s been making solid progress over the last few months, and it will be exciting to see what developments the new years will bring.
- DarkCampainger. DarkCampainger (also known as “The Visible Man”) has been working hard over the course of 2007 on more than one project, such as Cosmic Peril and his own online action game, Final Horizon. For what it’s worth, I’d like to also mention that DC has been a supporter of Skirmish since the early days, and his thoughtful ideas and efforts into Skirmish have been greatly appreciated.
- David McGraw. A dedicated student and developer. David is just completing Snowball Fight, an interesting online game project. I’m eager to see what the next project is that he will tackle in the new year.
Resolutions for 2008
My aims, goals and ambitions for the 365 days to come:
- Continue development of Project Skirmish. I’m committed to seeing Skirmish through to the end, so a goal of unwavering development of Skirmish throughout 2008 is certainly a fair goal. To be a little less insubstantial, let’s say a goal of being in open to the public by the end of the year, at least. 🙂
- Complete a 3D game using OpenGL. With plenty of experience in the small 3D demos I’ve made in 2007, I think it’s high-time I write and complete a fully 3D game. I’m putting no minimum on how ambitious it will be. Even a Wolfenstein 3D-èsque game would be a sufficient accomplishment.
- Get a personal gamedev website online. I’ve been wanting to get my own personal website about game development up for ages upon ages. This year is the year that I get on this, and learn some more HTML and CSS in the process.
- Resume creative writing. I used to be hugely into writing stories and such in my spare time, but programming and real-life have come to consume that hobby years age. I’ve been bugging myself to get back into this, and I think there’s no better opportunity to do so than now. We’ll say a fairly light goal of at least 10,000 words and a minimum of one completed story. 🙂
- Write another gamedev article. With my metaballs article just about done, I’d really like to push myself to finish another article this year as well, if not more. Fingers crossed!
- Continue my language studies. I’ve been learning German for the last two terms at university, which I plan to continue. I’ve also been very interested in learning Japanese, which I will also be spending time learning independently.
My goals never feel too excessively ambitious, which I suppose is a good thing. I don’t want to weigh myself down with more goals than are humanly possible. So, a light load that gets mostly completed within the year’s time is far better than a mammoth list that receives little more than a dent in it. I can hardly wait to see what items I’ll be checking off while I’m writing my resolutions for 2009. 😛
Have a safe and ambitious New Years, everyone. 🙂
Another year older, another year wiser. Another year of fun and games, of studying and learning and growing. Another year of experience under my belt, and another year of game development to look forward to. 🙂
Sorry for the lack of recent updates. Just got Crysis, so you’ll have to excuse me. 🙂