Sunday, September 20, 2009

An overly elaborate alarm clock

The mid-semester break has just started, and I thought I'd celebrate my 2 weeks of freedom by creating a pointlessly elaborate alarm clock.

The problem: I can't get up in the morning. I don't have an alarm clock, and I'm too cheap/lazy to buy one.

Solution: Write an alarm clock program to run on my desktop.

I use 2 Dell 24" 2408WFP LCDs as part of my desktop - which sits opposite my bed. So I decided to make an alarm clock out of them.

First thing's first: turning on my PC. Every night I put my desktop to sleep, since it's far more convenient than shutting it down. Luckily, Windows Vista's task scheduler allows for waking the computer from sleep in order to run scheduled tasks. Perfect!

Next, the alarm clock program. Using task scheduler, it's set to run every morning at the pre-set time. Once the computer wakes and the program runs, this is what I'm presented with:



On the left monitor I have a big polar clock, which I shamelessly stole from pixelbreaker.com. Although the idea belongs to someone else, this implementation is my own. On the right monitor I have some daily weather information pulled directly from the Bureau of Meteorology's data feeds. When getting dressed in the morning it always helps to know the current weather forecasts for the day.

When the program starts, it starts playing music (from my music collection) to wake me up. It also makes sure to set the system master volume automatically to make sure it's loud enough to get be out of bed.

The program was written in C# using XNA Game Studio 3.1. What a way to waste a weekend. :)

Wednesday, August 12, 2009

Damnit, Melbourne

Maybe it's just me, but Melbourne Uni seems really disorganised. Just the other day, I was trying to find more information about the MSDN Academic Alliance, which allows staff and students of IT-related departments to recieve free Microsoft software.

So to find out about the MSDNAA, I needed to contact the department which teaches IT-related subjects. There are two departments, though - the Departement of Information Systems and the Department of Computer Science and Software Engineering. The Department of Information Systems falls under the Faculty of Science, while the Department of Computer Science and Software Engineering falls under the Faculty of Engineering.

I'm currently enrolled in a Bachelor of Science, so I suppose I should contact the Department of Information Systems since that's the department that falls under the Faculty of Science. But hold on, I'll be majoring in Computer Science which means that I should belong to the Department of Computer Science and Software Engineering. But the actual subjects that lead to this major (Informatics 1&2) are administered by the Department of Information Systems.

So to sort this confusion out, I asked one of the subject co-ordinators for Informatics 2. He didn't know about the MSDNAA specifically, so he referred me to the Information Services division. I emailed them through Student IT Support, and they forwarded my request to the university's IT Licensing Group. The IT Licensing Group apparently told Student IT Support that the university's MSDNAA subscription only allows for the software to be installed on "University Assets" and not personal workstations.

That appeared contrary to the terms of the MSDNAA subscription, so I contacted the Melbourne University Computer Students Association (MUCSA) who sell legitimate copies of Windows Vista/XP to students for a nominal fee of $10. I asked them where they got their keys from, and they told me that they went through MSDNAA (via. one of the departments). This means that Melbourne Uni does have an MSDNAA subscription, and is allowed to distribute software to students, contradicting what the IT Licensing Group told me.

Now after wading through that quagmire, I didn't find what I was looking for, don't have any more information, and don't know what's going on. Nevertheless, I've contacted the subject co-ordinator for Informatics 2 again, who might be able to shed some more light on all this. I await his reply.

Thursday, July 30, 2009

NextWar now available in more regions; cheaper

With the new updates to XNA and Xbox Live Community Indie Games, games are now available for sale in Germany, Japan, Singapore and Sweden. I've updated NextWar so that it can now be sold in these regions. So if you live in these regions, and are itching to play Tower Defence on your Xbox 360, check out NextWar!

Also, with the introduction of the new pricepoints (80MSP, 240MSP and 400MSP, corresponding to $1, $3, and $5 respectively), I've decided to drop the price of NextWar to 80MSP. So if you were holding off buying NextWar or didn't think it was worth 200MSP, you might want to reconsider! NextWar is now in the Xbox Live version of the $1 bargain bin. :)

NextWar: The Quest for Earth official site

Xbox Live Marketplace link

Thursday, July 2, 2009

How well did NextWar really do?

Well, it's been 3 months since the release of NextWar: The Quest for Earth over Xbox Live Community Games. How well did it really do?

I'll let the graphs speak for themselves first:



The sales graph curved pretty much exactly how I expected it: an exponential decrease immediately after release, then dropping off a cliff after the game fell off the New Releases/Most Popular lists. Once that happened, sales trickled down to single digits per day.

Overall statistics:
Downloads to date: 14572
Sales to date: 2703
Conversion Rate: 18.55%
Total revenue: US$4578.88


It did reasonably well compared to many other Community Games - but the overall conclusion is "don't quit your day job". Making a game and selling it on Community Games can be fun as a hobby, but it's not viable as a full-time job. This is essentially echoed by many other developers who have released games on XBLCG. Nevertheless, despite only being a minor success, the amount of money generated by NextWar's sales (however small) is still nice for something that I put together in my free time.

The Future
So what lies ahead for Micron Game Studios and the future of my hobbyist game development?

Well, I'm doing this for fun and not for the money, so I think I'll be making another game regardless of how I think NextWar did in terms of sales.

There are a few viable game designs I'm batting around right now, so stay tuned for more stuff coming out of Micron Game Studios in the coming months!

Wednesday, May 6, 2009

Bluejacking

I'm on the train. I think somebody just tried to bluejack me.

Tuesday, May 5, 2009

Getting Past the Melbourne Uni Proxy

Melbourne University has a slightly draconian policy for use of their internet on campus. All traffic must go through an HTTP proxy; basically everything besides port 80 (for regular HTTP) and port 443 (for HTTPS) is blocked.

It means I can't access my LAN, my home computers, or my Perforce server. I first tried Hamachi, which is a free (as in beer) piece of software that allows you to quickly and very easily set up a VPN. Start the software, connect to a network, and you're good to go. It worked fine outside the uni. But it's tunnelling capabilities were... limited. Hamachi supports HTTP tunnelling, but not in a peer-to-peer fashion. Instead, connections had to go through Hamachi's private "relay servers". For the free version of Hamachi, this was incredibly slow (and unreliable, in my experience). The commercial (ie: paid) version is apparently faster, but I wasn't prepared to pay ~$50/year to be able to access my home LAN from uni.

Next try: OpenVPN. OpenVPN supports HTTP tunnelling out of the box, and was relatively painless to configure (though not nearly as easy as Hamachi). I installed OpenVPN on the server at home, which is always on and always connected to the internet. Using a bridged network, OpenVPN acts as a virtual gateway to my LAN at home. I set it up to listen for TCP on port 443.

I installed OpenVPN as well, and set it up to go through the Melbourne Uni proxy, connecting to my home server (via. dynamic DNS provided by dyndns.org) through port 443. And lo and behold, it works. The proxy can't tell the difference between regular HTTPS traffic and the encrypted OpenVPN traffic, and I can now access my LAN from uni.

Tuesday, April 21, 2009

New PC

Well, I bit the bullet and bought myself a new PC. Specifications are as follows:

Intel Core i7 920
Asus P6T motherboard
12GB (6x2GB) Kingston DDR3-1333
Asus HD4870 1GB
Lian-Li PC-A77 full tower case
Noctua NH-U12P CPU cooler

Kept the DVD drives and 1.5TB worth of hard drives from my old PC. Total cost? About AUD$1900 (USD$1330) all up.

Overclocking

Initial results for overclocking the i7 seemed promising - it shipped stock with a core voltage (vcore) of 1.2V. The default range of voltages for the i7 920 is 0.8v - 1.375v, according to Intel. The CPU core is a c0/c1 stepping, according to CPU-Z. I didn't really expect to be able to get a new D0 stepping, since it's way too new for the local retailers here to stock it.

Using the stock voltage, I was able to get it to run at 3.6ghz stable. At 1.375v, I could run it at 3.8ghz stable. I reached 4ghz only by increasing voltage to 1.44v. 1.44v was considered far beyond safe for regular usage - the CPU was hitting >87C load, and that's using one of the highest performing air coolers on the market (the Noctua NH-U12P).

I eventually settled for 1.375v and 3.8ghz. With a multiplier of 20x, that means a BCLK of 190mhz. The cheap Kingston ValueRAM also reached a surprising overclock - it's currently running at 760mhz (1520mhz DDR), which is a 14% overclock over the stock 666mhz (1333mhz DDR). And that's at stock voltage of 1.5v, and stock latency of CL9.

That's one mighty fast CPU - a definite upgrade over my ageing Core 2 Duo E6600 circa 2006.

Didn't bother overclocking the video card; it's plenty fast enough for pretty much anything except Crysis.

The Old PC

My old hardware won't be going to waste. there's still a perfectly good E6600 and 4GB DDR2 RAM in there. It'll replace the network server I have here at home; it's currently running on a ~2001 era Northwood Pentium 4 with 512mb DDR. The Core 2 should be a significant upgrade for the server, which runs stuff like my Perforce server and media storage.