Showing posts with label Art. Show all posts
Showing posts with label Art. Show all posts

Wednesday, 11 May 2011

Baked lighting and Environment shadows

I decided to kill the dynamic lighting in favour of baked vertex colours. The speed improvement from this should let me keep 60fps whilst having a naturally looking lit environment. I never really needed 'dynamic' lights anyway and they didn't enhance the look of the game that much more than 2D texture lights have done. I've implemented shadow maps, which have transformed the way the world looks. Buildings and architecture pop right out of the screen now to great effect, looking more 3D than previously.


Levels are no longer designed via simply placing tiles, instead all the static geometry in a level is modelled from existing objects placed together in Blender. This means I can still use the tiles but have the flexibility to add new objects as I please. I'm also using Blender to bake in the light vertex colours and create the shadow map. I will continue to use my old editor to place triggers and game items/entities.

There are some left-over texture seams and no shadow on the player's vehicle yet (hopefully I will be able to overlay the shadow multi-texturing onto combatant ships too in the end) but quite a visual improvement nonetheless.


Some of the mesh processing needs to neaten up various things still like texture seams and shadow map texture artifacts. I'll also soon set a minimum ambient light level based on the sun diffuse light being used - as some polys not facing the light source are currently rendered in complete darkness. Finally, I could consider blending ambient occlusion in with the existing shadow map.

Sunday, 6 March 2011

Art pipeline, from asset to in-game

I've added some new generic metal alien building models to the game. These are going to be used to add a bit of feel for the theme of the enemies. The background setting is that they've set-up small outposts in various areas they've invaded. Half of them are destructible with destroyed models, which allows me to add another gameplay element/mission objective such as destroy all enemy buildings or similar.

It's so important to have a fast asset pipeline as an indie developer. In my case, as it is at present with me doing all the art, it allows for certain shortcuts. Developing tools to automate an efficient asset build pipeline has so far not being considered worthwhile enough for this project but the increasingly large amount of typed-in data is certainly pushing me to have a proper data-driven tool chain for my next project of similar scale.

First textures are created/modified if need be for the new models. Typically I just draw them straight into the relevant mega texture. Layered art backups are kept when appropriate for more complicated textures, such as scenery textures with baked lighting.


The textures are done, next we create some new models in Blender. I'll typically save all the models using one texture or belonging to one world in the same Blender file.


The next stages should ideally be automated by a tool but I have yet to find the time to build one and so I enter new data for the models (enumerator/ID, material, GameEntity type etc) by hand in the code. I also use a mesh optimiser tool I made to extract and build the exact data I need for my game from the Blender export file.



Now the new assets are ready for the editor. A little further data entry is required to get the new models to appear in the editor's GUI before they can be placed into a scene.


Save the level, boot the game up and load the level. More data entry and possibly coding required if the new game entities are to have new behaviour or functionality (this is always the case when adding a new weapon or enemy atm).


Finally, tick off the task in the spreadsheet! An ESSENTIAL design and planning aid in any project, let alone an indie game of any significant scale. Being able to get an instant visual feedback on progress made is important from a motivational point of view as well as for planning. Looking at the overall process for my current asset pipeline, they're are obvious areas for optimisation and improvement. There are currently many parts of the process where I need to enter data, where a tool could do it. It's all about the cost/benefit ratio between the time to develop a nice tool to sort this stuff and me just quickly entering values. As it is now, I don't imagine a tool is going to favourably enhance timescale on this project but creating one for multiple future projects is certainly a sound idea.

Saturday, 26 February 2011

More enemies and three new weapons

New pic showing off the Rocket Launcher delivering a nice pay load. This was for screenshot Saturday on Twitter - will do a proper post update soon.

Thursday, 23 December 2010

HUD Additions, various data optimisations

Recent work has seen the game become far more robust in handling level data. I've moved the project towards being more data driven since the editor was reworked and the benefits are mounting every day as the quantity of data for the game expands. Having spent a number of recent weeks improving how core systems in the engine function under the hood, it's nice to get back to some more 'shiny' work.

I've added another two weapons, three more enemies and some additions to the HUD, like the kill counter (inspired by a 'hit-counter' from another popular game) and an in-game message system for notifying the player of objectives, secrets and other things. The kill-counter spices up gameplay a great deal, a shaking combo award comes on screen when enough kills are accumulated in quick succession and the player receives an energy bonus.

A great many other less glamorous tasks have also been done recently. A more robust storage system for managing level data and creating it on the fly as and when needed was created to cope with increased level data complexity. A rather annoying A* pathfinding bug was fixed and the method for managing AI updates for enemies has been dramatically optimised.

Friday, 5 November 2010

Egypt Art Push

 

With a little help from my friend the GIMP (not the leather bound type but rather but rather the GNU Image Manipulation Program) texture production has moved along at a relatively fast pace. I started using GIMP at uni because getting hold of PhotoShop or whatever other image editor of choice was out of the price range at the time. It's proved great for in-game textures but I'll stick with FireWorks for doing the UI graphics in the front-end.

Once all the tiles, wall painting and general Egyptian textures were finished they were put into a mega texture to minimise draw calls and then Blender was used to create the Egyptian Architectural models. A fair few new models have been done mainly consisting of Pillars, Obelisks, Tombs and Archways. I want the atmosphere of the Egyptian world to start coming together now in-game, so the aim was to get approximately 90% of the scenery done. It's quite likely that a bit more will be done on these later though, especially touching up of textures.

Architectural models for the Egyptian world