Friday, January 29, 2010

A Theme For Your Life

Periodically in our lives we come across music that seems to best describe our situation at this time. With my thesis defense finally booked and the end date in sight I feel like this is an epic battle to the finish line.

I just happen to at the same time run across this track which conveys perfectly if my life had a theme song this would be the montage background song that would go along with this event.



Epic Song Of Thesis

Sunday, January 03, 2010

Game Developments Thoughts

I haven't updated here in a while I've recently been busy with my current employer developing a casual video game for the PC market. A lot of details are NDA so I'll try and keep that info from landing on here.

Suffice to say after several tech considerations we decided that the most appropriate platform (read not best) would be flash with action script 3.

In the last month I've been plagued with flash surprises that just astound me. For one flash is the only language that when you add an object that's already on the stage to another container that's also on the stage the original reference disappears from the first container?! This is a bit of an oversight since you will no longer be able to do instancing. Worse still there's no built in .clone operation for display objects so you'll have to start writing your own workarounds for this. Again oversight.

Performance wise we've been discovering flash isn't great for example one effect we wanted to do is a full screen lens blur. To make the CPU requirements low we decided we were just going to pre-process a blurred version of the image and alpha blend the clear version into the blurred one... Guess what full screen alpha blending with 2 images on flash is painfully slow and we had to ditch the idea, in favor of a static staged blend animation.

Progress on this project is pretty good everything is on schedule I'll be throwing in more of the art assets this week. The game is starting to finally look right moving past just a mechanical place holder and starting to take the final form of the game.

There's a lot of "what flash doesn't have this?" that I've been collecting I'm going to see if I can post some here and discuss why it feels like an oversight.

Sunday, December 06, 2009

Winter's comming around


Well winter's finally comming around not much to report right now. I'm currently working part time for a casual computer game company. Being able to excerise more of your creative energy on your software projects is highly refreshing.

Along the side I'm also putting together a left 4 dead campaign. Currently we're in the final stages of the first map being complete. Were just retrofitting the layout and doing better lighting for some of the sections.



Wednesday, September 02, 2009

Finishing up Grad Studies

Well finally the end is in sight one way or another the graduate degree chapter will be over. Right now there's a lot of back and forth as final corrections are being thrown around and a committee is being put together.

I personally am a little bit panicky from time to time because I feel that I'm behind schedule but that is most likely because I like to finish things ahead of schedule so I schedule things in such a way that it will happen.

I'm hoping by next week I'll have a more accurate idea of when is the exact day I will be finishing. I hope everything is in order so schedules for post-graduate activities don't have to be pushed back.

I am looking quite intently at the beginning of my career post graduation a lot of exciting stuff coming up looking forward to it all.

Saturday, August 15, 2009

RC Day Out

The more RC's you get the long it seems these RC days out get. Today's RC'ing lasted over 1 hour! I had a chance to run everything in my fleet once. This includes both helicopters (Blade CP, and Blade 400) and the RC car (Tamiya TL01 using aircraft lipo for insane power).

 

blogpicfleet

 

I finally learned nose-in hover today. The funny part was I've been able to nose in hover for over 1 year now in the simulator. But whenever I took it out into the real world I always felt like I didn't learn anything and chickened out. Today I took the "learn or bust" strategy with the Blade CP. Basically I was going to force myself to learn it or allow the Blade CP to be destroyed in the process. After a slight initial adjustment period of about 1 minute it turns out I could hover nose in semi-accurately for as long as I want without returning to a more comfortable orientation. I was very startled by how long I avoided doing it but at the same time not too surprised as I know I could perform the same skill for very long periods in the sim. After confirming my skills on the Blade CP with the training gear I decided to give it a go on the Blade 400 a much more scarier bird. The results were even more impressive since the Blade 400 is more stable to begin with I hovered nose-in for the entire pack with only slight periods of drift and correction.

I think the lesson is if you have been able to perform the same skill in the sim but always felt uncomfortable with it in real life and have been stuck. Sometimes just forcing yourself to do it and accepting that your heli might be sacrificed has surprisingly positive results. When your brain realizes it can't just retreat it steps up to the plate and performs amazingly.

I also had a chance to try out my RC car with a very modified power plant. It's a standard RC car but it runs a 200A aircraft lipo compatible speed controller. The speeds were spectacular off the helicopter power packs which have much higher discharge rates than the car motor normally runs off of. Today's test was several runs that would stress the speed controller and motor to find out if any of the components would burn up after prolonged use. Although the motor did go above 125 degC and the speed controller equally toasty at 80 DegC none of the components started smoking or failing so I'm going to cautiously give this configuration a pass for race use. The car can now reach speeds beyond 70Km/h and you will quickly run out of space in even football field sized parking lots at top speed. I've noticed with this incredible amount of power the 23T pinion is starting to show signs of wear, I assume that I will have to change the pinion out periodically if I still choose to run the car in "insane" speed freak mode.

I thought about selling the Blade CP before I'm glad I didn't I would never dare force myself to train with the Blade 400 under do or die conditions the Blade 400 is far to dangerous to allow a crash on purpose with it. The Blade CP is still an awesome trainer regardless of what everyone says.

Monday, June 08, 2009

Dual Speaker Setup

Theory: If speakers all have their weaknesses (High, Low, Midrange) then would combining speakers with different strengths improve things?

 

Setup:

(outer)

Logitech Z-2300 THX speaker set:

Strengths: Highs, Lows,

Weakness: Speech, Mid range, Rumbling bass

 

(inner)

Yamaha MS201:

Strengths: Mid-Range. Accurate but weak bass

Weakness: Highs, Ultra low

 

(Connector)

Standard single 3.5mm to Dual 3.5mm splitter jack.

 

HiFi

 

Result? Well I've yet unconfirmed a true result but I do notice slightly improved midrange when compared to the stock Z2300 setup the vocals come through clearer and are more center stage rather being drowned out by the accompaniment.

I wouldn't recommend you go out and buy a setup to get this effect though the reality is that the Logitech Z-2300 does a pretty good job already. The Yamaha's do a very good job of filling in the mid range which was lacking in the Logitech. In particular the bass is now not only loud and thunderous but also accurate and fast which would be impossible with the vented setup. But now with two subs one vented one unvented I get the best of the mixing.

The satellites are more interesting it takes a bit of adjusting to get the mix right depending on your preference the mixing is about 40% Yamaha 60% Logitech now.

Do I see a sizable gain?: A slight gain yes, a sizable gain no certainly not if you didn't have the extra equipment on hand. However if you do have 2 speakers that you both like different qualities to it might be worth a shot to bring them together.

Tuesday, May 26, 2009

iTunes Monitor

ITunes_Icon

iTunes on the PC is quite popular but iTunes has a nasty habit of more often than not eating up way too many resources even while it's not running.

The culprit?

iTunes needs several services that it doesn't shutdown when it closes these are:

iTunesHelper

iPodService

AppleMobileDevice

BonjourService

(and a few others)

 

I found this unacceptable so I wrote a little program I call the iTunesMonitor. It's sole job is to set all these services to manual so you don't get them on startup and to launch them when it's started and then launch iTunes once all the services are up.

The program then sits idle in the background checking every 5 seconds to see if iTunes is closed. When it sees this it will immediately clean up any remaining services.

What about the media keys they don't seem to work one you don't have iTunes in focus. Well since my program has to sit in the background and wait for iTunes to close anyways I felt that I should fix the way media keys behave. Now iTunes will respond to media keys regardless of if it's in focus or not and the media keys are unregistered when the program is closed.

 

Try iTunesMonitor for yourself. It requires no configuration other than an installation of iTunes. It will automatically detect your installation of iTunes and launch it along with the supported services. No configuration is required however it is recommended you replace the iTunes icon in your start menu with the iTunesMonitor for transparent operation.

 

Download iTunesMonitor 2.5

Thursday, May 07, 2009

ToJam 2009

Tojam 2009 concluded last Sunday. By far ToJam is the craziest most fast paced game development competition around. Teams and individuals try and put a game out from scratch in just 3 days.

 

Most teams work around the clock forgoing sleep to nurture their creations.

TOJAM4

Team AnyKey pictured here this year went with a very ambitious project, and some members including myself are still spending a few hours a week tuning the final result for the arcade.

TOJAM4-TEAM

There were many days where we went from Extreme coders to musicians to artists in a way ToJam is less about what you know and more about raw talent. To anyone thinking of going to ToJam but fear they won't place, come anyway! Part of the joys of ToJam is being around great people doing what you love and learning in the process.

 

TOJAM4-FANFAN1 

There were plenty of awesome games to be seen many of them way too good for you to feel like they could've been created in 3 days.

TOJAM4-Will2

I can't credit these pictures above they were taken by David Vanvliet, another participant at the event.

Tuesday, April 28, 2009

A Better Game Sound Engine For AnyKey tojam#4

Today I had a thought about something quite interesting leading up to our game competition. Since none of us are music experts and all music loops are quite short and designed to be connected to each other I'm proposing a very interesting change to our game music engine.

Our original music engine was monolithic as in it only played one massive track.

< Level >
[Songfile]

We could in simple terms switch to a basic shuffle system

< Level >
[songfile1][songfile2][songfile3][songfile4][songfile5]


But then I thought of a much better idea which I hope to be able to be able to implement today or tomorrow. Each song data will consist of 2 parts the track itself and a linked list reference to another part. Music then becomes a sort of directed graph with cycles. Edges then can be taken randomly. This kind of thing is better explained with a picture.

 

Sound Engine

The advantage to using this system is that we can prevent one obvious section from continuously looping and we can enforce tracks that sound better after each other to happen. The end result is a pseudo-random music that will make the listener think it's more intelligent than it is.

Auto-generated in game music

Today I had a thought about something quite interesting leading up to our game competition. Since none of us are music experts and all music loops are quite short and designed to be connected to each other I'm proposing a very interesting change to our game music engine.

Our original music engine was monolithic as in it only played one massive track.


< Level >
[Songfile]


We could in simple terms switch to a basic shuffle system


< Level >
[songfile1][songfile2][songfile3][songfile4][songfile5]


But then I thought of a much better idea which I hope to be able to be able to implement today or tomorrow. Each song data will consist of 2 parts the track itself and a linked list reference to another part. Music then becomes a sort of directed graph with cycles. Edges then can be taken randomly

ToJam 09 (pre-event info)

ToJam #4 is taking place this weekend from Friday to Sunday. I always enjoy this event but there are currently a few lingering issues:

1. The organizers via twitter have already stated that there is no wired internet and there might not be wireless.

When someone says might not be wireless, what they mean is some fool forgot to secure their open wi-fi and it's now going to be bombarded by 100 participants of the event. The organizers are looking into tethering but I doubt one device will be able to support the rates required for things like downloading art assets or free soundtracks.

For that reason our team is considering also having a tethered option for this event.

I'd personally imagine teams by now will have their game idea done, and I'm hoping there won't be any of that "tape giant sound blaster posters on the sun facing window" fiasco we had last year.

Hopefully mickey the mouse was cleaned up too.

At the same time team Any Key this year will probably not bring a mountain of snacks making us by far the snack team.

Currently I'm debating if I should bring my linux box to the event with it's sole purpose to act as a GIT repo

Hobbies

I need new hobbies. Two years into COVID-19 my hobby became everything COVID related everything from keeping up with the latest restriction...