SilverKeeper - Dungeon Keeper remake

1. March 2009

I recovered the original blog of my SilverKeeper project from google. 
The source for the game was released to the public when I published this blog. If anyone has the source, please drop me an e-mail.

*2009-03-01*

I was fooling around with a simple isometric projection algorithm and decided to implement it in Silverlight. Things escalated and I ended up creating a Dungeon Keeper inspired game, using a 3/2 isometric angle.

My project is dubbed SilverKeeper *very original*. Current features include:

- Support for 100x100 tile maps.
- Creatures moving around, doing *stuff*.
- Basic combat.
- Imps creating paths through dirt and mining gold.
- Imps claiming and reinforcing walls.
- Basic support for rooms.

I've used some hacks to overcome some of the limitations of the Silverlight platform. E.g. there is no way to darken an Image, so instead I put a completely black version of the Image, ontop of the original image, which is then opaque depending on the light level. Also, since I have no direct control of paint ordering of the images(apart from z-ordering which can give alot of problems with alot of UIElements), I use multiple canvases.

One for the top, one for the middle and one for the ground.

Items and monsters are added to the middle while the tile images are spread over multiple canvases.

I originally included sound support, but I experienced some memory leaks when playing sound files. So it's currently disabled. Most of the artwork is not mine - I've used google images to gather sprites, textures, etc. Some of the sprites are from the Golden Axe games, YEEEAH!.

 

R.I.P

NESLight - a Silverlight Nintendo 8bit Emulator

27. February 2009

I managed to recover the original blog entry for my emulator and a few low-resolution images from Google images.
I released the source for the emulator when I originally posted this blog, so hopefully, someone managed to download the emulator
(if you are out there, please send the source ;-) )

*2009-03-18*

Microsoft released the first public beta of Silverlight 3 today (18. march 2009). So I have made a quick and dirty update to my emulator to support the new bitmap drawing routines avaliable in Silverlight 3! It now only uses one thread! but is much faster, since bitmap drawing is sooooo much faster than creating a png image every 1/60 a second.

*2009-02-27*

This is my attempt at porting my .NET / SDL Nintendo emulator, that I created last summer, to Silverlight. It only took about 2 hours to get it running and 2 hours to create a simple *direct draw* UIElement which allows the emulator to draw the produced pixels directly to a canvas. The application is relativly slow, compared to other emulators on the net. This is due to Silverlight not having real raster support.

I have used Joe Stegman's EditableImage and PNG encoder (http://blogs.msdn.com/jstegman/archive/2008/04/21/dynamic-image-generation-in-silverlight.aspx) to overcome this limitation. The drawback is that I have to generate a PNG image and apply it every 60seconds! Which takes up alot of CPU time.

The emulator uses two threads, one for the emulator and one for drawing to the screen. Therefore, a non-dualcore computer is not recommended if you want to try it out :-). Obviously, Silverlight is not the right platform for an Nes Emulator yet! Though I suspect that raster support will be available sometime in the future (Silverlight 3 I hope! Come on MS!).

The emulator is still relativly basic. Still no support for memory mappers and sound , so that will be another project *hopefully* :-) Please note that you have to supply the emulator with your own legal copy of Nintendo roms, none are included! I've tested it with: Mario Bros, Super Mario Bros 1 and Donkey Kong - and they should work 100%. All roms not using memory mappers should work.

R.I.P

Remote Control - VLC

26. June 2008

My current setup for multimedia is not pretty. I’ve got my main PC connected to my 42inch plasma display and main amplifier. I simply run my video on the PC directly to the plasma display in VLC (or power DVD) while passing through the AC3 stream from the video to my amplifier. This setup works perfectly, except for the changing of media and settings away from the mouse and keyboard. I’ve seen many media center solutions around the net, which features onscreen menus and navigation using an IR remote. 

I recently acquired an iPaq 214 PDA and fooled around with the idea of using the PDA as a remote controller, directly navigating the video selection on the PDA and thereby changing the playing media on the computer. The iPaq features a nice 4” VGA touch screen with built in wifi, so it was actually the perfect candidate for the project. My plan was simply to create a server program which controls VLC and a client program, which sends requests to the server program. 

The video shows the outcome of the project. The client program allows the user to change directory on the pc and start a new video. The server program simply waits for incoming UDP packets from the client and acts upon the commands supplied. When a user wishes to change directory, the server program changes and fetches the list of files in the directory. The file list is then formatted (removing non-media files) and sent to the client. When a user sends a request to play a specific media file, the server program opens a terminal connection to VLC, supplies the path to the media file and initiates the play.

Both the server and client applications were written in C# using the .NET framework and compact framework.

R.I.P