Monday, December 3, 2007

Constructions

This month was mostly about design and construction. I first designed the mission I wanted as below. It involves having humans ferry supplies to a rocket from the store house, and troops resupply to control points, to protect the humans, while the aliens attack.

In the screen about mid-way down this sketch you can see shields, humans etc. You need the humans to resupply your ammo and shielf depots, and also you need to stop aliens from grabbing your humans, otherwise the rocket never gets launched. I'll be interested to see how this plays out, as it will require some careful balancing. [MORE BELOW THIS PIC]




Next I sketched up a control tower and then proceeded to build it in Constructor. It's only just started and so I've placed a copy in the game for reference. There will be several styles of buildings and you will be able to enter them on foot (presumably so can the aliens). I'm going to use textures and objects from Dexsoft.





I've also been working on vehicles. I needed a space truck to ferry parts and troops so I sketched a few designs and iterated upon it until I had something I liked. I've only done the front, but the plan is to make it like a truck rig that can pull a bunch of different trailers, ranging from cargo to missile launchers.




Finally I had a paradigm shift in game design. When I saw the IAV pack coming out, I knew I should probably shift directions. I like conventional vehicles and weapons, so I want to model those now. So instead of space ships for the humans I'm going to make modern day stuff. Should be an interesting mix and pays hommage to Independence Day.

Here's the CV63 Kitty Hawk boxed modelled 1 hour in. I will post more progress over the next month as I have more time during the holidays to work on the game. It looks butt ugly I know, but what I've done is got the dimension accurate, and have started with boxes. I will iterate on them and add more and more details as the modelling progresses. I am going for a balance between realism, texturing to cover fine details and enough detail to satisfy a shooter, but also allow the player to land on it. More soon.




Sunday, November 4, 2007

Lander and Rockets and Mutants - Oh My!

I have some sort of action shooter going now. I have implemented a system to allow landers to find and abduct humans. They then rise up and when they get high enough they turn into mutants. If this sounds like Defender by Williams, that's because it's an exact copy of the gameplay dynamic. The reason I have done this is, is because I need a benchmark to create my final game from.

My game is about aliens attacking Earth and the player must stop them - so it made sense to me to emulate the gameplay from Defender to get the ball rolling. It represented various challenges from a coding point of view which I achieved.

I have mocked up a launch pad as the first mission finds the player attempting to protect the humans as they prepare to launch a rocket into space. I purchased some sci-fi buildings from www.modelbank.com and made my own Saturn V rocket in about 1 hour. The rocket will change later.

I forgot to record audio in the following clip, which are rips from Defender. The reason I'm doing this is to build an arcade soundscape and then at the end replace it with my sounds. Arcade game sounds used to be very simplistic but because of this, they were very carefully designed to give the player audio clues about the state of the game. I want to copy this idea. Here's a video of the action so far.

Video: BRAVE FGE TGE Integration

I have also begun my endeavours into speed paints. These are used to mock up a concept and the idea is to attempt to finish one in less that 3 hours. I grabbed a few tutorials off the net and came up with this image as my first ever speed paint. I will get better over time, but it allows me to visualise what the level is going to look like before actually modelling it.

It was a battle of wills when I started this. For some reason my Wacom tablet and Corel Photopaint don't like each other so when I released the pen it kept drawing. I got extremely pissed off and tried on my faster computer - still same laggy problem. So I switched over to GIMP which is pressure sensitive tolerant and managed to complete the image. Some of the shadows are dodgy and I need to add mood by recolouring, but this will do for now.

I have a map of the new level drawn up (will post when neater) which outlines how the mission will play out. Trucks will move missiles, shields, crew and refuel to depots. The player can use the missiles and shields, and the crew and fuel go to the rocket. Little men meet the trucks and do the loading and unloading. The aliens attempt to eat the humans, and if the player doesn't protect the army and depots they quickly run out of weapons and die. It's about resource management on an arcade scale. The player doesn't control it like Command and Conquer but it does play out like that.

So the player flys around shooting bad guys, and trying to keep as many humans alive to allow them proceed with their own mission. Should be a hoot! Next update I will hopeful upload a tech demo for every one to play.

Friday, October 5, 2007

Backstep to save the project

Lots of things have happened to BRAVE. I got the FGE (Flight Game Example) integrated into the game (or vice versa) and I have started working on the gameplay a bit more. I've dropped back to TGE 1.5.2 while the TGEA LOD bug in 1.0.3 is worked out. I really want the game to run with shaders and if TGEA isn't going the way I need in Jan next year I will implement the Modernisation Kit and just use TGE.

My humans are still using the job system, but I have introduced landers (just mock ups) and have created some spawn points to work on the waves. I did a mini crunch to get the game playable, but there is still heaps of work to do before I can nail down a tech demo.

Here's some screenshots of the game so far. I have put in Defender sounds as placeholders until I can create my own sounds. I was playing Bosconian the other day and when the action gets thick, there's lots of sounds going off. The sounds you hear in the old arcades is the sound design I want to create for BRAVE. They are simple sounds which you learn to know what they mean, a human is being picked up or killed, you get a free man, an alien shoots etc. I also want them to be synthetic so they are just like the old arcade games.

I have to hand it to Decane for the excellent FGE kit. It has saved me heaps of time in development, and the flight model in it is almost perfect. I want to add straffing to the flight controls, and I am going to change the aiController of theirs so I can tell it which ships should not fly like planes, but like floating platforms. The landers for example float down the ground looking for humans. They don't pitch and roll like planes would.

Next I am going to get the landers pickup the humans, get them to rise to the stratosphere and convert to mutants, add scoring and level complete. I'll post an update mid October. Of course it all sounds like a big rip off of Defender - that's because it is. I want to make a 3d Defender as the basis and then derive my own game from that game play dynamic.




Wednesday, September 5, 2007

AI Pathing system

My AI path finding works like this. Bear in mind I read about A* and thought it sounded too complicated when it's all precompiled anyway.

Preparation:
Open editor and click out a bunch of separate paths around buildings - you should try and make as many paths that lead to other location as possible.

Algorithm:
1. When running AI search find closest path to destination.

2. Start COST at 0

3. While traversing nodes on current path, can any nodes on this path see a path to player OR Is node to next path obstructed? (add 1 to COST per node traversed) Store x,y as you go - the idea is to make a path using nodes of existing paths, the paths are just helpers.

4. If failed on either in 3, continue to end of path (summing COST)

5. When at end of current path, look for next path along "rough" vector toward player - tick FAILED counter - pick next path - log JUNCTION(x) ( and COST to here )

6. If FAILED counter < n, pick a new path from destination and goto 3.

7. When FAILED reaches n record COST for *this solution is stored.

8. Next solution, go to JUNCTION(x) until all paths exhausted.

9. Pick lowest cost path.Presumably, when laying the paths down you should have given the algorithm enough chances to get to the player.

So in this pick (black lines are placed by user/programmer) at each junction only nodes "roughly" heading toward the player (even though obstructed) where chosen.

What do you think? Too complex? Not efficient perhaps? Full of errors ?


September - Posts from GG and MyDreamRPG

Here's my latest GG blog which covers everything.

http://www.garagegames.com/blogs/31800/13492

So next is the hard work. AI pathing and behaviour. I was wanting to avoid it, but it has to be done sooner than later. I wrote my own AI pathing for another game, so I might adopt that. It will involve drawing paths in the editor and then the code works out the minimal cost to get somewhere, thereby choosing the best paths.

I've also been thinking about scene handling and I don't really want to hand place every building. I might try an organic, grid aligned algorithm to generate cities and job locations. Will see how this goes.

Post for August - belated

Here's August's activity... mainly blogged on GG and MyDreamRPG...

http://www.garagegames.com/blogs/31800/13335

I've spent most of this month working for 'the man' so development has been slow. I thought I should check in as the month flies on, and blog a little about my progress. It's been mainly research this month.

I've animated the male human using a cartoon-like jutty run cycle. When my pay packet comes in I'm going to invest in an animation book and continue creating unique walk and run cycles for a handful of humans.

I've discovered a free program called Make Human that uses a standard mesh with subtle morphs to create a bazillion different types of humans. So I will use this to create most of the humans and work on skinning to create different looking humans using very few different meshes, about a dozen textures for clothes and unique run cycles.

I've also been implementing the hud and an onscreen debugger, which does something strange every now and then. For some reason writing out play.gui destroys the mouse control and I can't figure out why. It's got something to do with the way the editor writes out the datablocks, but I'm still debugging that to discover the reason.

Next I want to animate the man to work on a machine, and pick something up. I will work more on the Harvester to get it to chase the player a bit better and hopefully in a few weeks have the Harvester eat humans.

Signing off for now. I'll do a bigger update next week.

Wednesday, July 18, 2007

Moving the humans

I've just implemented a pathing system for the humans. They will appear to be doing a job. At the moment I have one human moving from the beach up a hill to a jetty. What I will do next, is at every node there may be extra information on how long to wait, what anim to play, and any objects to interact with. This will make them appear to be performing roles. For example a human could get a box from a boat on the shore, walk up to the jetty and drop it off. From there another human may pilot a boat, drive up to the jetty and grab any boxes there. I will then create a scripted approach to assigning roles. Humans must be kept alive to keep your infrastructure going, otherwise you run out of shields, fuel and weapons.

I have also implemented a rudimentary scoring hud.

Sunday, July 8, 2007

Waypoints and AI Video

I've got some video here of the Harvester using the Waypoint and AI system to find a human. Looks kinda ominous when this thing heads across the water to the human.

YouTube Harvester Attacks

The Harvester will suck the human into it's chamber to be stripped of flesh and the bones spat out - gives me a chance to use my Skeleton Pack.

I've also blogged at GG to show the Harvester and work on interiors.

http://www.garagegames.com/blogs/31800/13196

Thursday, June 21, 2007

Waypoints and AI

I've implemented a system borrowed from the GG pages that allows me to spawn alien bots in avatar form, then mount them to a vehicle. Once they have done this, they then scan for humans - the function is more adaptive and will scan for any type - and then they go after it.

What's really cool is they know how to fly the ship I've mounted them to.

Future work this month will include the following...
- Spawn enemies from barracks inside mother ship
- They have to walk to a ship in the hangar
- They then have to fly the ship out of the hangar
- Once disembarked they will then look for humans to eat / shoot / capture
- When they have a human they will perform their role on them.
- Missile / Laser / Weapons inventory system for player
- Recharge systems for player
- Humans to perform work - infrastructure.

Thursday, June 7, 2007

Art Style update

Boy am I happy with this one! If one single image captured the look and feel of my game BRAVE it would be this one.
It's Mike Trim's artwork for the series UFO. This is what I want, this is what the game will look like - time to learn those shaders!!!

Sunday, June 3, 2007

Missile system added.

Here's a new video of a rudimentary missile system I have added to the game. It shows the player running through a missile POW and then being able to fire missiles at the environment.

BRAVE Video # 2 - Missile Systems

The missile system, like other add-on systems will be either POW generated, or by choosing your ships configuration to suit. For example some "mission platforms" (the configuration you chose) are heavily "seek and destroy" , while others are purely "rescue" based. A "seek and destroy" platform will see you with a special preference for weaponry and so you find plenty of missile POW's to pickup, and your "refueler stations" will make sure they are heavily stocked with weapons.

However therein lies the problem – or the “fun”. You are basically asking your "army" ( the humans you are protecting ) to reconfigure their own tasks to suit your own needs, which in turn services their needs.

If you chose a “platform” that was “troop deploy and protect” and the mission was primarily to destroy all aliens, and not use troops, the humans would find this insulting to put their own army on the line for no good reason. The net result would be that perhaps you go to a “refueler station” and they haven't re-stocked your missiles because they are pouring their time into evacuation procedures.


Of course this is all happening at a frenetic pace, because it's an arcade shooter. You will need to think fast to recover situations such as these. The best course of action in this case is to switch “platforms” and chose the configuration that helps win the current battle. However you ultimately choose how the game unfolds, so maybe you will want to fly the mission however you like – damn those pesky civis.

Sunday, May 27, 2007

3D Flight Engine Prototype # 1

This is my first attempt at the flight engine for the game. The terrain is done with L3DT and exported to Torque as an Atlas terrain. The building is part of Tim Aste's Combo content pack I bought. The rest is stock Torque Game Engine Advanced. The space ship is a placeholder Belair Cruiser I made for another game. Enjoy!

Brave Prototype Flight Engine @ YouTube

Apologies for the low qual - but it's the best way to broadcast it versus bandwidth.

I've also been working on the design for the ship which is blogged here...

BAE-Hawk 271 Ideas

The idea is to have a ship you can reconfigure and based on your choice will determine how you try to win each level. I have also been thinking about AI. I'm going to have citizens and troops running around on the ground manning turrets, refuel bays and buildings, and they manage themselves. However aliens come down and grab them so you will have to protect the humans to keep your resources, and back-up weaponry ticking along.

I was thinking about the bit where you will have to rescue a snatched human. Most probably you shoot the alien taking it back to the mothership (think Defender). But when they fall, if you just grab them like in Defender, you will rip them to shreds - which I will let happen. What you have to do, to save them is match their descent speed and allow them to fall into your cargo bay at less than half a meter per second. Once you grab them safely you have to drop them where they can run back and man a building, vehicle or turret - should be interesting to program, but will make a cool game dynamic I'm hoping.

I'm having a fairly easy time sliding into TGEA from TGE, but there are some annoying bugs, such as tears in the Atlas terrain, no shadows from DIF's and limited view distance.

However I'm really digging the water, the extent of the terrain and playfield, the ease of adding shader effects and how quickly I was able to port my old flight code to the new engine.

Next I'm going to work on missiles and lasers and blowin' stuff up :)

Monday, May 21, 2007

Hawk design ideas

Here's a sketch of the Hawk space ship the player flies. I've implemented the multi-purpose attachment nodes on various parts of the ship. This allows different things to be attached to the ship such as thrusters, legs, missile launchers, tracks, cargo pods and drop pods. This makes the ship multi-role and the player will need to select the appropriate load-out to complete each mission.

Friday, May 11, 2007

B.R.A.V.E Story and Game Design

B.R.A.V.E
British Response to Alien inVasion of Earth. Okay pretty abstract but it works for me!

Background
1984: The SETI Institute is founded as a home for research investigating all aspects of life in the Universe. Initially, Institute activities were supported by NASA.

2002: On a particular warm Autumn night in California, a new star system, 55 Canceri was under the scrutiny of planet hunter Debra Fischer of the University of California, Berkeley. Referring to one of NASA's next generation of space telescopes, said, "This planetary system will be the best candidate for direct pictures when the Terrestrial Planet Finder is launched later this decade".

2010: The Terrestrial Planet Finder is launched, and upgraded to see into 55 Canceri. What they see is unbelievable. A massive fleet heading towards Earth.

2011: In what was considered the worst attack in history of Earth invasions, aliens from the nearby system of 55 Cancri, a star system about 41 light years away decimated London. A particularly wiley bunch of miscreants from the British Isle decide that enough it enough. One of the youths, Rick Eastlake, a decendant of one of the main engineers of BAE / British Aerospace (John Findley - The company was formed on April 29, 1977) takes this rag-tag rebellious youth gang to a hidden hanger. There he reveals the BAE-Hawk 271. This jet can fly underwater, through air and through space - "heck we might just jig it to jump FTL if we have the right mechanic" he is known to have said.

2012: Present Day

The young rebels are ready. Earth is in tatters as wave after wave of 55 Cancri aliens, or "Kanks" as they are known on Earth, scour the landscape, looking for precious "meat" for their young, and transforming anything else into "nuke cake" to power their machines of war. The action begins now. Power up your ship and help in the fight to bring Earth back from the brink of destruction.

The Earth needs you now! Are you B.R.A.V.E?

Engine / Gameplay

This game will be a 3d land, air and space shooter paying hommage to Defender, Asteroids, Blaster and Bosconian.

You will start on Earth defending the surface, and as each mission completes you work your way back to the Alien homeworld.

Saturday, May 5, 2007

Games and Theory # 1

I want to base the game dynamic like that in Robotron, Defender and Llamatron. That premise is basically "save all humans", something used in Half-Life. I will be including the game dynamic of having the aliens swoop down and grab people from the ground, rise up into the air and the moment they get high enough they mutate into a nastier spaceship.

I also found this, the final official William's Defender game, called Striker Force...


Strike Force is an arcade game that was released by Midway in 1991.

The game shares many features with earlier Defender and Stargate in that play takes place in a horizontally-scrolling play field above a planet's surface on which humans are under attack from alien invaders. In all three games the player gains points and other advantages from protecting and rescuing humans from these attacks.

Strike Force adds several new features; two players may share the screen at one time, the surface of the planet is littered with various special weapons that can be picked up and deployed, the humans can be "mutated" into small green creatures that will fight against the player (although the player may still pick them up for points as with the unmutated humans). The mutants may use vehicles found on the planet's surface against the player.

One weapon the player may deploy is the commando, who will hang off the bottom of the player's craft shooting at enemies, or drop to the surface to pick up humans, mutants or weapons for the player. Many commandos can be in play at once.

So I think I'm going to grab all these elements (borrow) and put them into the game. The game is going to be about making a space shooter fun and strategic.


Another element I want to add is depicted here, the drop ship manoeuvre.



It's like the reverse of Choplifter. You pickup troopers from your base, fly into a hot zone, drop off the troopers who go onto to attack a cocoon, which releases humans. If there are troops captured in here (all collected by harvesters - below) they can go on to join the attack force. You can pick up these troops at any time.

.

Friday, May 4, 2007

B.R.A.V.E Kickoff

Here's my rundown of the all the elements I want in the game in the form of coding achievements, assets and game elements. Next I might start planning out the game play dynamics and control system because that's what's going to form the core of the game.

BRAVE - Work list / Progress

- install and start using L3DT for terrain

- compile a library of placeholder objects for

  • BRAVE ships
  1. - jet
  2. - hover craft
  3. - earth mover
  • alien ships
  1. - lander
  2. - mutant
  3. - harvester
  4. - serpent flying craft
  5. - saucer dropship
  6. - bud launchers
  7. - ground hive
  8. - ground bug
  9. - turrets
  • instances
  1. - trees
  • difs
  1. mothership
  2. buildings
  3. colony hut
  4. cargo
  5. barrels
  6. landing pads
  7. corridors
  8. doors
  9. storage
  10. drop ship/escape capsule
  11. use d&d plans in blue book
  12. pre fab with cardboard kit
  • textures
  1. terrain maps
  2. star fields
  3. planets - solar system and alien world/system
  4. hud
  • characters
  1. people
  2. alien trooper

- music
- sounds
- splash screens
- persistance code (save / load / stats)
- use existing space engine -> port to TSE
- level design (lightwave exporter?)
- develop AI
- develop combat engine
- build actual elements to replace placeholders
- create levels
- level stager
- test
- package