





|
The Game was written by Virtu Halttunen,
purely for fun. Its roots are in the ancient history, when there were none of these silly 3D shooters. Instead there were proper games
like Laser Squad and Space Crusade. Virtu had enjoyed those, but wanted to make a game that was exactly like he wanted it.
|
TheGame.java
Started on June 20th, 2001
Copyright (c) Virtu Halttunen
February 20th, 2004: Changed the message field in TeamManagerWindow into a styled JTextPane.
Much hilarity ensued with the layout blowing up. That was solved by using
setSize( getPreferredSize() ). Yeah, ugly. Also changed ImageCropper into
ResourceManager with support for external resource directories. Getting
closer to plug-ins...
February 21st, 2004: Added CommandBobsObjective that lets you tell those pesky
civilians to get out of the way
February 24th, 2004: Changed the way the movements and attacks are handled and animated.
Took a lot of work, but now the bomber brute death sequences look better
February 25th, 2004: Game.addMonster now sorts the monsters acording to their sizes,
so larger monsters should not appear beneath smaller ones any more. Shortest
path finding for characters now only avoids those other characters that can
initially be seen. Promotions and attribute advances are now displayed in
TeamManagerWindow
February 26th, 2004: Added the Subordinate interface. Mines and sentry guns can no longer be told
to move
March 13th, 2004: CommandBobsObjective now properly lets you give the Subordinates
a target to seek
May 26th, 2004: And this line is for Sepe, another American cocker spaniel. A sad little
runt when he came to us, 13 years ago, but he turned out okay at the end
December 26th, 2004: Fixed CommandBobsOjective so dead Subordinates can no longer be commanded
May 10th, 2005: Fixed mouse keys and modifiers and the display of inline messages for 1.4+
May 11th, 2005: Added quick and dirty support for displaying number of grenades left
July 17th, 2005: After a long hiatus, added melee combat. Added new About and Quit handlers.
The Game now requires Java 1.4
July 21st, 2005: New XML-based (and gzipped) map file format. Objects are now destroyed at
once instead of piece by piece
July 23rd, 2005: Path finding now tries to use the room graph to optimise long distance
searches. Weapons being fired makes noise that can alert monsters
July 27th, 2005: Mission file format has been XML-fied. It was arguably a good idea to
separate the primary and secondary objectives from the others in the file,
but less so in the actual Game. After a lot of headache, it now hopefully
works. Objective.getDescription() and isPrimary() have been removed as
unnecessary. New getDescriptionClip() gives more flexibility, although it
could be better, too
July 28th, 2005: Team status and marines are now saved as XML like the rest of the data
July 29th, 2005: Added the mission selection dialog and finished the support for mission
prequisites, disallowing team changes and automatically opening next
mission. Ladies and gentlemen, we have a campaign mode.
July 30th, 2005: Added GenericMonster class that will hopefully make it easier to add
new monsters. Now they only need the graphics and a fairly simple XML file.
July 31st, 2005: Added Juve, the first GenericMonster type, tweaked the animations and
monster numbers
August 1st, 2005: Added DestroySceneryObjective, obsoleting CloneVatObjective.
New graphics for Brute
August 2nd, 2005: Changed the animation system slightly, to better account for variable
frame numbers on each character type. Also moved the monster action
handling from GameWindow to Game where it belongs
August 3rd, 2005: Updated graphics for ShotgunBrutes, BomberBrutes and the Marines. The
soldiers now show their weapons in their sprites, and have more animation,
including a wound action
August 4th, 2005: Added Tribbles and CollectTribblesObjective. Fun?
August 7th, 2005: Map objects can now be pushed around, causing damage to characters
August 8th, 2005: Added keyboard support for shooting and using stuff.
August 10th, 2005: Added Minigun, replacing the Smartgun as a player choice
August 12th, 2005: Added Auto-cannon, VipidiotObjective
August 30th, 2005: Map objects can now be shot with non-area effect weapons. Objects
can no longer be moved to closed doors, and are now destroyed when closing
a door on them. It is now possible to choose one-shot missions between
campaign missions.
August 31st, 2005: RecoverObjective is now shown on the map only after it has been discovered
in random missions. Added regrouping. Sort of works, but is a bit odd at times.
September 2nd, 2005: Regrouping is now more robust
September 3rd, 2005: Added plasma blaster
September 5th, 2005: Added WeaponSwitchObjective
September 17th, 2005: Civilians now blow up mines in the same way as Marines
September 19th, 2005: Added VipidiotArrestObjective and VisualTriggerObjective
September 21st, 2005: Broken objects are now drawn as stains, so other objects cannot
be pushed under them, and new monster corpses are drawn on top, too
September 28th, 2005: Fixed a bug in SeekerAI that could lead to stuck game if a room
didn't have neighbours. Fixed a visual bug with collected Tribbles.
April 1st, 2006: Fixed a NullPointerException in Vipidiot
April 2nd, 2006: It seems Rippers didn't roam properly. Now they do again
April 8th, 2006: Bloody heck. Finally changed the mission statistics to use a NumberFormat
April 10th, 2006: BattleRobots may reactivate again
April 12th, 2006: Bobs are now tiny bit less moronic about escaping enemies when they also
see player characters
April 15th, 2006: Fixed a NullPointerException in CollectTribblesObjective that could
happen with AirLockDoors. Stains are now revealed properly