Archive for the ‘C++’ Category

On the Bleeding Edge

Wednesday, February 10th, 2010

Well it thought it was about time I did some posting about my personal project im working on at the moment as I havent spoken about my coding for a while.

For a while now (alot longer than I had hoped for) I have been working on a project that falls outside the realms of my usual kind of games-related projects. Im not ready do describe exactly what it is yet but im excited about it.

For months I have been struggling with the techinal challenges the project has entailed and I have dabbled with many new and highly diverse technologies including JavaFX (Java), Qt (C++) and Mono (C#).  I have been looking for a cross-platform technology that will get the job done that I need and doing it in an elegant manner.

I thought I had found it with a combination of JavaFX and straight Java using the PureMVC framework. I however was plagued with problems throughout with Bonjour, jGroups, JmDNS, JNI and JNA.

So after months of work, hardship and struggles I read a very interesting article on the up-and-coming Adobe AIR 2.0  that was opened for beta in December. With 2.0 Adobe are bringing NativeProcess  to Air. What this means is that you can you can execute native code (.dlls, .so, .jar etc) from Air. To me this was bloody brilliant as I had been playing with Air reccently and my day-job heavily involves Flex and I simply love the power and beauty of Flex.

So what this meant to me was that I could write the bulk of my project including its interface in my much preferred Adobe Flex (Air) and then use Native Process to communicate with a small kernel of Java that would do all the dirty work that Air itself cant do.

So after a little playing with Flerry for Air->Java bridge I started to think about the structure of the code and the framework I would use. For my initial few runs at this project I had been using the Java version of PureMVC. I really like some aspects of PureMVC but I think its can be so overly cumbersome in some circumstances (ill write another post on this in the future I think). So instead I looked at the alternatives.

I have been using Mate alot recently at work and on my own mini-project the Audio Book Organiser. However as this project is partly for my own learning and personal growth I decided to look at what else there was out there. From the videos by Jessie Warden I had heard about Robot Legs. Apparently this framework has been around for a while, but it was the first I had heard of it. Taking at look at it I immediately became very excited as it looks like it offers all the things that make PureMVC great but without the extra coding-baggage that goes with it.

To add to my interest it appears another very interesting, very new action-script technology has been introduced into Robot Legs called Signals by Robert Penner. Signals is an alternative to the standard events dispatching method found throughout flash (more on this in another post).

So why have I called this post “the bleeding edge?”. Well Adobe Air 2.0 is still in beta and has only been for a month or so. Its so new that some parts still havent been documented atall and the only way to find out how they work is to post a msg to the devs on the forums. Signals is also new and its integration into Robot Legs is very new indeed (last coupple of weeks). So at the moment I feel as if im at the forefront of some very new, very exciting technology, a stark contrast to my fiddlings with the ancient Java.

I realise this post is very text and tech-heavy but I needed to post about it before I forgot all the pain I have gone through with this project to get where I am at the moment. Future posts ill be delving a little deeper into some of my experiments with these new technologies ;)

Tags: , , , , , , , ,

XNA Archive

Wednesday, March 11th, 2009

I just realised some of my old XNAGPUParticles project videos have gone walkies. So I have reposted them on youtube. These are my old projects from my final year of uni, binary and source code can be found in the relevant post for each video.

http://www.mikecann.co.uk/?p=163

http://www.mikecann.co.uk/?p=169

I have another reason for these old re-posts, something a little more flash orientated.. Stay tuned for more info ;)

BumpSpace — Spring 2005

Saturday, May 27th, 2006
This was a tech demo I created for one of my final projects in my second year of university. Due to the severe time restrictions at the end of the term i wasnt able to do the project i wanted to (ToyTown MMORPG) so insted of trying to struggle and force a large project into a small time frame i decided not to do a MMORPG. Over the year i had seen several nice effects and snippits of code, such as Dot3 Bump Mapping, Particle Effects and Bezier Curves. I decided to have a go at these effects and others myself, the result being this application, it isnt a game but rather a demo of some of my programming skills.

Used: Microsoft Visual Studio .NET (DirectX 9c), 3DS Max
Download: BumpSpace-v1.0.zip (3.89Mb)

MazeHunt — Winter 2004

Saturday, May 27th, 2006
This is another little project i did in the earlier part of my second year at university. It was my second project i ever did in DirectX and as such is rather limited. The theme of the project was maze generation and AI solving. I developed my own algoritm based on square weighting to create two bots, one called a hunter bot which will actively hunt the player down, and a flee bot which will flee from the player.

Used: Microsoft Visual Studio .NET (DirectX 9c), 3DS Max
Download:
MazeHunt-1-00.zip (694 KB)

Avatar Creation — Autumn 2004

Saturday, May 27th, 2006
This is my first ever project i did in DirectX. It was created again for a university project at the start of the year in 2004. I had ambitious plans for a dynamic mesh manipulation application so the user could create their own personal avatar for a MMORPG. After much struggleing and pain i had to scale back my plans. Despite this, i still managed to implement a system of mesh editing using sliders and was extremely proud of it at the time. Using the "AvatarCreation" executable the user can create thier own custom avatar and then save it ready for use in the future MMORPG game. Using the "AvatarView" executeable i was able to demonstrate that the custom avatar could be loaded and simply animated.

Used: Microsoft Visual Studio .NET (DirectX 9c), 3DS Max
Download:
Spudman-v1.00.zip (694 KB)