25 November 2009

I'm still alive (singing)

I've been held back from development for the last 2 weeks due to having to leave the country and go on training, along with having to quickly learn Lua, and the custom libraries required for the application I was trained in.


The arrow indicates the place where I wasn't.

In short, I've been distracted and I haven't had access to a computer for the last week either (well, not one with Flash, nor during the evenings when I wasn't at training). I know, I should have been writing source code on napkins while mumbling to myself in late night diners and scaring off regular companies, but the diners were non-existent and the waitresses working at the non-existent diners kept clearing away my used/written on napkins.

However, I'm back in the game (and pulling poor puns, and even worse, pointing them out) so source code shall pour forth from my fingertips as though taps were clumsily inserted into my hands with sticky tape and wood glue. Demos will rocket through the sky and videos play garish music alongside visuals that won't be anywhere close to the finished game. Much like big software houses.

I'll get something together in the next week or so (I am still horribly busy at work) so it may not be anything that actually works but mere concept images and rambling.

Of course this could all change if somebody decides to front me up some cash for development. 20 bucks should cover me for food and expenses for a year, I don't eat much.

06 November 2009

I think they love us

Even more free stuff! Epic has released their engine for free with a handy software development kit (SDK). That's the super powerful Unreal 3 engine. The fine folks at CryTek did the something similar a while back by releasing their engine (the big monster that powered Crysis) to universities in UK (also for free). And earlier I mentioned what Unity Technology did for their game development system (if you got side-tracked by the other links and couldn't bring yourself to click the one labeled "earlier", all you need to know is that Unity was also released for free to independent developers).


The UDK (Unreal Development Kit) showing you it's shine.

There are various restrictions around these releases, obviously (like what happens if you start making money with your game using the Unreal Dev Kit), but for the most part, that's not much of a limit. It allows people who would otherwise never have a chance to try out game development to test the waters and for those who have been struggling to build their own engines or use flabby free ones, they get a chance to use shiny professional engines. For free, in case you missed the repetition.

04 November 2009

Cameras and disorientation

It is time to update the camera to something a little more functional. The previous camera demo was pretty static (the  guy couldn't move). So I've added 8 directional movement to this new one - not because the protagonist can actually move like this, but just so you can get a bit more of an idea as to how it works. There is no collision detection whatsoever as this camera will be similar to the one used in the level preview (in the editor). So you can happily (happily, I tell you!) wander around and look up and down.
  
The scene is not the same art style of the game at all - I just threw in some mountains and sunset to see what it would look like when moving around. Use the WASD keys to move and the mouse to look. You may have to click on the file first to activate. I recommend clicking and holding the mouse down while moving it around so Flash still picks it up when it's out of the bounds of the swf. Otherwise your view won't move when the mouse is out of the scene.

The prototype is slightly disorientating when you move around because although there is a horizon line, it's not always in view and large areas are just gradient colours. The game will actually have a lot of detail in the levels to help keep the player aware of which direction is actually up.

Games like the first Alien vs Predator were particularly nauseating for some when playing as the alien. There was never any sense of up and you sometimes had to just let go of holding the wall (you can crawl along any surface, wall, ceiling, etc.) to see which way you fell down. There may have been a subtle indicator but I can't really remember, certainly if there was it wasn't accessible enough in the heat of battle.



Google is being mean to me, so here's a shot of the latest game (currently in development) with alien perspective. Just smear wax on your screen, colour in the glossy highlights and make everything a lot less rounded and smooth and you'll be able to imagine what the original game looked like.

I've been thinking on what sort of elements can be included in the levels. Slopes have been giving me pause. I could easily put in any surface if I have a fully dynamic animation system (the character will lift feet over obstacles, lean forward going up slopes, and so on) but that would also be a huge slowdown for Flash. So I've decided to to a semi-dynamic approach. I'm going to build an animation editor that uses inverse kinematics to animate the various poses - the game will then use those as standard animation (similar to frame based animation). I'll have to write a blending system so the various animations (walking to jumping to running) blend smoothly between each other instead of just flipping into the next set of frames in a jagged manner.




On top of this, the arms and head will be fully dynamic. This is so the character's head can look towards the mouse cursor and the arms can aim, hold the gun, interact with objects. Should the arms not be doing anything much, they will follow the suggested animation (like swinging in time to the legs when walking). This is still quite an intense (processor-wise and the programming of it) animation system so I might have to scale it down but for now I will have lofty dreams.

03 November 2009

Unity and non-uniformity



Blurst.com have set up their site as a portal for games (http://blurst.com/developers/) for indie devs using Unity, which is a great move on their part - hopefully this will increase their traffic (seems they've been struggling a little according to this post in their blog: http://blurst.com/blog/birthday-changes/) and further get more attention to Unity as a development platform. Blurst only really want games that match their current portfolio which does limit the types of games you can make, but it's a start.

I don't use Unity, I tried a 30 day trial a long while back but that was only enough for me to say, "oooh" for a bit and not really get a chance to try build anything with it (considering I get quite busy at work). But lo! Unity themselves are changing tack in a sweet damn awesome move. Various sources (Rock, Paper, Shotgun, TIGSource, plenty others) gave a heads up on Unity now being free for indie developers (http://unity3d.com/#freeunity), although it took a bit before the Unity site updated itself to reflect this (weird). I'm hoping this significantly increases their market share in regards to the internet, a place currently monopolised by Adobe with Flash (in terms of rich media dev - I'm ignoring ajax and the like until that can easily be used to create games as easily as one can do in Flash). Flash is, as I have decried before, a buggy mess of bad UI design and hackiness. Maybe this will cause Adobe to realise they can't just keep shoving out the same bug-ridden app with 3 new features haphazardly tacked on. Competition incites great development.

I actually like the potential of Flash itself so I'm hoping that Adobe can fix the issues people have with the platform. We need fewer features and more stability. I tried out Flash CS4 and even after patching it, I found it so non-functional I had to drop back to CS3. What a waste. Many people were annoyed by the user interface (UI) over haul done in CS3. It's not at all a bad as people make it out to be. Sure, there are some minor limitations and some things are slightly unwieldy but shoving it around enough (it's fairly customisable) presents are workable system.

CS4 went the wrong route. Where they should have tightened up the original UI, they instead redid it (it looks like they started from scratch with that as a concept, or at least rewrote large portions) and it became less functional and far more buggy. On both platforms (Mac and Windows), it can sometimes be seen to overlay standard UI controls (like close and minimise buttons) with it's own stuff. Icon usage is spotty with poor antialiasing (removing jagged edges) of many elements (including some text, which makes it nigh on unreadable). From what I can see, many people designed different parts of the same interface without having an overall guideline. The different apps in the suites have different ideas as to how to lay out exactly the same controls/tools. It really doesn't feel like they had a main designer or director of the UI at all.


Illustrating a point in photoshop: there's a ruler hidden behind my docked toolbar on the left

Application suites are difficult to set up. If apps are vastly different in the suite, how do you make the user interfaces similar enough without compromising functionality? You also have to have pretty strict control over how much one app can do that another app can (for example, Photoshop and Illustrator both have pen tools that do the same thing, although the Illustrator one works better. You can still do a lot of vector work in Photoshop although it is primarily a raster (bitmap) system). When do you force a user to switch to the other app to do something - they will then have to import that work into the previous app to carry on. Which leads to file formats that can be read by all apps in your suite, or at least being able to convert to the various file formats. A universal file format is really not something you should ever have (at least for a suite of quite different apps) as this will become a huge mess of intermixed data that chunks up your harddrive and is slow to work with (opening, saving, etc.). I can see why Adobe has problems trying to cater for so much. However, I hope that CS4 is their education and they work out what they should actually be doing from now on.