Art/sound direction
Art
Overall
The game world should have a near-future, dystopian, cyberpunk, post-apocalyptic, desert style. So there should be a mix of present-day and future technology and buildings, and any natural environments are likely to be barren and unwelcoming.
Fonts
Fonts should be clear to read, yet distinctive in style. Where applicable, fonts should be designed to be recoloured in code (i.e. they should be greyscale).
Due to time constraints, fonts are likely to be sourced from the Internet/public domain as opposed to hand-drawn. Sources include Acorn User CD 9 and dafont. Vector fonts are preferred over bitmap fonts also, as vector fonts can easily be reconverted to other scales should support for different or extended font resolutions be required by the game.
Once converted to RISC OS format, fonts can have a variety of transformations applied to them and converted to sprites using the to-be-released fontinator tool.
A suitable font conversion tool for foreign formats would appear to be FontForge (and some free sample fonts)
UI sprites
UI sprites should stand out from the game world, but fit in with the same overall visual style and mood of the game. Exact style is TBD.
UI sprite/font sizes
UI sprites and fonts should preferably be provided in three sizes: small, medium, and large.
- Small should be designed around the absolute minimum screen size - 320x256. This is for pre-StrongARM users who are crazy enough to try running the game, or for any potential 8bpp versions. These sprites may also form the basis of any cross-platform ports (e.g. DS)
- Medium should be designed for users playing at the default resolution - i.e. 480x352. This will cater to StrongARM users.
- High should be designed for users playing at higher resolutions - i.e. Iyonix/A9 owners. Target resolution for this is likely to be 640x480, as the game currently runs at around ~30fps with DMA disabled on my Iyonix - thus it's safe to assume that an A9 (possibly without DMA) will be able to play the game just as well at that resolution.
It is not a great concern if the small sprites don't look pretty; the main target for aesthetics are the medium and large sprites.
Tiles
Due to the vast number of tiles collected from Mayang Adnin's site, current thinking is to give the tiles a photo-realistic look. To adapt the tiles to the colour style of the game, Variations is to be used to adjust them as appropriate.
Other potential sources for tiles include:
Custom tiles for signs, etc. are likely to feature vector graphics created in !Draw, for ease of production. Due to this, they are likely to be simple and clean in nature. Presumably the clenliness of the corporate logos will contrast against the mess of the dystopian world, serving to highlight the dystopia. Or something.
Peds
Peds are to be produced in !Paint. Experimentation has shown that quick, rough pixel-work is all that's needed to produce a realistic looking ped animation.
Cars
Inspiration
Inspiration for car design should come from several sources:
- Futuristic films, cartoons, manga, etc. - in particular the very polygonal designs.
- Post-apocalyptic/survival films, cartoons, manga, etc. - for example the designs in the Mad Max films
- Real-world designs - past/present/future cars, military vehicles, etc.
Production
There are currently two methods for producing car sprites - from sprite files (produced in !Paint) or from draw files (produced in !Draw). The !Paint approach allows much finer controls over the image, including shape and shading - but is a time-consuming process since it must be done on a pixel-by-pixel level, and keeping track of some things like colour gradients can be tricky (not to mention lack of undo feature etc. etc.).
The second option, !Draw, is much quicker to produce a full set of sprites (since door deltas can be generated simply by rotating the door objects), but features a somewhat esoteric usage of the drawfile format, and is much harder to produce damage deltas for. Also due to the lack of gradiated fills, shading is tricker.
In general, I am of the opinion that polygonal, boxy cars should be produced using !Draw, whereas smoother, curvier cars (or cars with lots of rough detail, e.g. worn out vehicles with missing/damaged bodywork) should be produced using !Paint. Hopefully the differences in production methods won't be noticeable enough to prevent the two methods being used side-by-side ingame; if the worst comes to the worst, the converted drawfiles can be tweaked manually in !Paint to remove any artifacts or homoginize the two styles.
Objects
Object sprites are likely to be produced in !Paint. Their visual style should match that of the rest of the game world, so that they fit in seamlessly.
Sound effects
Sound effects for real-world items (guns, cars, etc.) should be realistic where possible. Sound source is likely to be any one of the variety of free sound libraries on the Internet (currently, main sound source is FreeSound project)
Style of sound effects for other game engine events (pickups, mission completion, etc.) has yet to be decided.
Idea for "start of game" sound ala "Grand Theft Auto" from GTA - A cockerel crowing. Will signify that it's dawn. A Death Dawn, since a lot of people are about to die. Also, funneh!
Music
Ingame
Ingame music (the radio) should come from a variety of sources. It should have a professional sound, and cross a variety of genres, but without stretching too far to the extremes so that the player base dislike the majority of the music. No bias on 'futuristic' music is seen as being required at this point in time.
The current candidate for a source of ingame music would appear to be music released under the Creative Commons (2.5) license, e.g. here, here, or here.
Loading screens, etc
Music for loading screens, the pause menu, etc. should be dark and moody, and somewhat non-standard, to give the game flair and character. E.g. John Carpenter's music.
The current candidate for a source of frontend music is Vince Hudd - i.e. the music here.
TODO:
MUST-CODE: LONG: Do all the art/sound assets
DOCS: UNKNOWN: Change ped/car recolour system? Recolour black -> col -> white, over 32 entries? Or have component values 'centered' around col, with +/- 1/16th for the surrounding entries? (16 on either side) Or general fade between two colour values?
CODE: QUICK: Add bg2 specification to ddconvert cds mode, so forced-transparent can be used during undelta conversion process
MUST-CODE: MED: Go through mayang textures, converting/sorting them into sets for surfdef files. Doesn't matter about names/visual styles, just lump each set into a different sprite file and go from there...
???
Profit!