Over the past week or so there’s been a lot of hype round a new game console that’s shown its face on Kick Starter, OUYA , The console creators where trying to raise a figure of $950,000 in order to fund the project, little over a week later they’ve raised over $5,135,733 which is absolutely astounding.
The console itself has reasonable specs is android based and its completely open for software engineers and developers to have there dirty way with it. Producing whatever hardware and software modifications to it without causing an uproar from the vendors like you might see if you went and started messing around with Microsoft or Sony’s consoles which is a strict no no. Its really going to make console development available to the masses and really help fuel the independent game developers. I can even see it helping in education, normally if you wanted to develop a game for a console and to have a good amount of control over the hardware you would have to buy a development kit from the vendor which usually cost thousands and just aren’t feasible for small time developers. The OUYA however every console will be a dev kit in itself having to pay no more than the price of the console to get hold of it, which is really good for people wanting to develop for consoles who otherwise would have been unable to do so.
Right so moving onto the price, It’s actually relatively cheap…And the specs aren’t necessarily bad for the price. At the moment if you want to be on the first on the list to get one of these consoles before it hits retail you need to pledge a mere $99 towards their cause and its yours, however if your in the UK like me they want you to donate an extra $20 dollars for shipping and what not which is fair enough. I’m yet to get myself one but I probably will be later this week if there not all gone. If your interested I suggest heading over to kick starter and checking it out. It will also give you some more information about the console and there’s a video on the page which I recommend watching as-well.
Just as a quick update because I haven’t updated my blog in a week or so, I’m having some time off from the engine development as its quite heavy on my brain as-well as reevaluating whether this project is suited for the time scale given. Because as I said before although my engine is an on going project which I will continue to work on it is still unconfirmed that I will be using this for my university project. There’s always other things on the table that I can work on that might be not quite as grueling but still potentially great projects. I do actually do a fair bit of programming in my spare time but most of the time I deem it not worth mentioning, little more that a mass of prototypes nothing more.
As far as other ideas are concerned I would still like to stick to the c++ route as I can really show off my technical ability and really give people an idea of what I’m capable off.
As far as other things are concerned as I say I get up to a lot of stuff in my spare time for the most part not worth mentioning, However recently I came up with a simplistic idea for a game which I could make during my time off this summer. Its got a simplistic game play, but could be very fun and have a nice set of fun mechanics yet still being easy to add to and code. So for me its a very manageable small project that I can work on. I don’t really want to express any more information about the game at this point as its barely even a prototype. I will however mention that its going to be using the unity game engine and if it carry’s on to becoming anything short of a game I will make it free to play and put it up on here.
As far as my future is concerned I have began to make some plans towards creating an actual development portfolio separate to this blog literally just showcasing my work and abilities and nothing more. Just so I can make some division between my ramblings on this blog and the portfolio. Because in many respects a lot of the stuff that goes on this blog is pretty irrelevant to employers and they would probably like to see me from a more professional and technical light that this blog gives off.
Now finally as far as the last week is concerned I literally took some “time off” from the programming to play some games and just chill out for a bit just so I can evaluate what I’m doing a week long procrastination sesh if you wish. There’s a lot of decisions I need to make at this point and well I just need some time to reflect and make some good decisions. Some irony is to be had when I say time off from programming as I spent a good part of the week in GMod getting to grips with Expression2 programming and making some interesting things in that, nothing too advanced didn’t want to commit all my time to something like that when I could be working on something better if you know what I mean.
Right for those few individuals that do read my blog thank you . And yes I know I’m not a very good writer I’m working on it OK.
So basically I managed to get my hands on a copy of Lego Batman 2 for the PS Vita, Thank you lovefilm. Anyway I’ve always been a big fan of the Lego games and have found them to have really good replay-ability and especially fun to play with friends. I spent many hours furiously playing through the Xbox version of Lego Indiana Jones with one of my close friends till the early hours of the morning accumulating every achievement possible, although the achievements are a bit buggy It’s not quite as frustrating as you may think as it was incredibly fun to play. Anyway so there’s a bit of my background played Lego games in the past very much enjoyed them including of course the original batman Lego game on 360 although not quite as good as Indy in my opinion but nether the less a good edition.
Now moving onto Lego Batman 2, This is a game I had herd very little about and hadn’t really done much research into it. I saw it on Lovefilm and thought to myself YES something awesome to play on the vita because to be honest there aren’t that many good titles yet, or well many titles available at all. So yeah though awesome something interesting to play on the vita.
When I played it though it though it was actually a bit of a let down, As soon as the first cut scene I was horrified to see the quality of the video to be absolutely horrific, so I was like OK somethings gone wrong here obviously due to downscale and compression or something, first thoughts really were it should have been flagged during play testing but OK maybe I can live with it if the game play is OK. Now as far as the game play is concerned you play as both characters batman and robin with the ability to switch between characters to be able to preform character specific abilities needed in order to progress as seen in previous lego games, but as well as that they actually have various other costumes they can switch into that give them different abilities basically. As far as this concerned Its fairly fun although very straight forward it does increase the puzzle elements in the game.
As far as the story is concerned I found it very dull, not very compelling really. Its very much feels like the story is off the top of someones head not much thought has gone into it.
Right so anyway after having played it for a bit done a few missions, had a swim round the bat cave and everything. My brother said some things mentioning he was getting it for xbox because it had free roam and everything and I was a little bit confused because there’s no free roam on the vita. I thought hmm right lets have a look online to see what other people are thinking and why the cut scenes are so bad and why things are missing. And It actually turns out the PS Vita version of Lego Batman 2 is nothings more than a DS port of the game and absolute outrage if I may say so. So obviously the reason the cut-scenes were so bad is because they were up-scaled from the ds which is absoulutly ridiculous. I mean its not really to a professional standard, it probably means this video has been scaled and compressed multiple times which everybody knows is a bad idea. The thing that annoyed me the most is how little effort they have obviously gone to with this port. Its not just a port is a half arsed port they haven’t even attempted to bring some elements up to a satisfactory level of quality. They have quite obviously decided to port it to the PS Vita just to get some extra money on the side. I probably would’t have cared so much if they had done a proper job when they were porting the assets. Down scaling from the console versions.
So the obvious big annoyance is the lack of the free roam, According to what I herd its due to the consoles being unable to support these features. I’m not entirely certain of the PS Vitas capabilities to be honest but I believe it could be possible. And I’m sure the reason there is no free roam on the vita is because the ds couldn’t support it, so I suspect they didn’t even look into adding the feature on the vita and have no interest at all. Which is a shame because many people seem very disappointed by this including myself.
I’m sure the Xbox, PS3 and PC versions of the game are better so please don ‘t let me discourage you from buying the game. And although the PS Vita versions has some issues its still good fun to play.
So I though I’d just post a little update on the progress I’ve made since my last post. To start I did spend a good while trying to make some decisions on the architecture of the engine it really took longer than I was originally planning but I got there in the end. So I lost some time to that, also I’ve spent a bit of time researching and doing other things not even necessarily related to the engine so maybe I haven’t spent as much time on the engine as I should have. Although I’m already ahead of the game as far as the project is concerned anyway and I’ve made some good progress nether the less.
Last time I was talking about getting the Assimp library integrated and now it pretty much is, I loaded my first model into the engine and everything ran smoothly with no issues.
As far as the implementation is concerned the content manager recursively loads all the models within a file directory when the engine is started, it then extracts information related to the all the meshes in the file and unloads the data. it does not store any data related to vertices positions, normal, texture coordinates or whatever else. It just takes information relating to each mesh and where it is located in the model so that at a later stage when the asset is needed it will use this information to load the mesh into the cache. At the moment to some degree its still incomplete as I’m yet to maintain all the data obtained from the assimp importer and sustain the hierarchical structure in the model file which does lead to some issues with the more complicated formats. But that’ll come with time I still haven’t 100% planned how its going to work. Anyway I’m being a bit to vague to understand I’m sure.
This diagram will give you a kinda vague idea of whats going. It will become more clear overtime.
Only a day ago I had the mad dream of being able to play games on my pc using my vita as a controller… and now I can. The application is very basic but seems to do the job. Right so I’ve spent little more than a day putting this together in total it probably only took a few hours but I kept having to test it which is time consuming especially when you go off on a tangent and start playing games so the time did add up. I had no real interest in a long term project or anything this was just a one off and for this reason its unlikely to change much and I’m not going to spend very much more time on it.
You will of course need to have the PSS Studios and the dev app for the vita installed in order to deploy the app to the device you can get this here… http://www.playstation.com/psm/developer/index_e.html
Just to be clear the application works by connecting to your computer via a local network generally, so a good connection is needed in order for it to run smoothly.
There is actually a set of instructions in the rar for people who are unsure.
So here’s the download link. Update: I’ve just made the changes so that it’ll now work with PSM v0.99, I’ve also made changes to the server software and fixed some bugs.
PSVPAD 1.151 beta – PSM v1.11.01 Download
PSVPAD 1.15 beta – PSM v1.11.01
- Windows 8 Support
- Fixed app.xml missing error
- Minor changes
PSVPAD 1.13 – PSM v0.99 Beta Update Download
- Added support for 2 vita’s to be connected at one time
- Fixed issue with server hogging up CPU
- Made an attempt to try and reduce lag on weak connections – Experimental
PSM v0.99: Download
PSS v0.98 : Download – old
So I’m just going to have a small intermission from the engine, I’m well on track and have made good progress.
Over the next couple of days I’m going to try to whack together a bit of software that’ll allow me to use my PS Vita as a game pad for my PC. I already have a game pad so I’m really just doing it for bant. I’ve done a good deal of research and pretty much know exactly how I’m going to do this so hopefully it’ll work out okay… I’ll probably post it up here with some instructions when I’m done so others will be able to use it… if I manage it. Just to let you know yes I will be using the PS SDK or whatever there calling it these days…. Playstation Mobile SDK I think?
Basically I came across this nifty little asset library, I’ve found it very each to use and integrate into my project so I would definitely recommend checking it out.
It supports a good selection of familiar model formats and is under the BSD licence which is awesome. You should probably check their website for more detailed information about the library and licence information.
I will and have began to integrate the library into my Engine and generally its going very well. How it all links into the content management system is being a bit hard for me to get my head around and produce a good system. I’ve been trying as hard as I can to keep it simple to understand whilst being flexible. This is the second big part of the whole rendering system in my mind and once this is out of the way the final core element is going to be the shader system. I may post some more detailed information at some stage.
One of the things I was planning on producing was a set of basic textures which I can use obviously to check that they load correctly and everything is working as well as getting a feel for how different size textures look. So far I have only created one texture. I’m going to be adding to them as the project go’s on and will probably put them up here so people can use them in their own projects for testing and whatnot.
I had previously written a crude features list just of the top of my head coming up with some of the features that I wanted to include or just have a go at implementing. For each feature at some point I will post a more detailed designing looking at each feature on its own and the detailed design and implementation. I’ve lit-rally got piles of notes written on several areas of the system during the design process, which I will literally be regurgitating.
So I have been quite busy and haven’t had chance to post anything, I’ve spent a lot of time designing and redesigning parts of the engine as well as looking at implementing them. I’ve spent a lot of time specifically designing a content management system that I can use to cache resources and designing how the whole rendering system Is going to work. So here is an overview of the basic understanding behind the rendering system. I may at a later stage post some more detailed information about the design of the engine but I’m not sure exactly how much I want to have free to the public.
Engine Components – In order to understand how the system works I’m going to go over some components in the engine and how they work and interact.
SceneGraph – The Scene Graph in the engine is used to keep track of all objects that have been created as well as passing Objects to the rendered to be rendered. These objects will have components attached that keep of track of which shaders, textures, and meshes to be used.
ContentManager – The content manager handles resources in the system, The scene graph will let the content manager know when an asset needs to be loaded and this will handle this, also through collaborative with the scene graph it’ll try to keep track of when a resource is being used, and when it is no longer being used by any object in the scene, maybe because it has gone out of the render distance or the object has been destroyed, then the content manager will handle the unloading of resources to free up any unnecessary memory being used. When a resource is loaded it’ll create a unique resource ID that will be passed to an object such as a texture so it’ll be able to use this id to associate with the resource that’s been loaded
Ok that’s a very brief overview of whats going on and I believe it gives you an idea of the how the system works, at the moment it is only partially implemented. One reason for this is I’ve redesigned it several times already since I started implementing however which each revision is gets better. Last night I wrote a new class used specifically for handling the loading , unloading and manipulation of images as well as caching the loaded image for use by the renderer at a later stage. Generally the class interacts with the Content Manager although It’ll work perfectly fine on its own as-well.
Thanks for reading as always.