Pygame - http://pygame.org, Evaluate the possibility of using PyOpenGL to do the drawing
py2exe - http://py2exe.org, pygame2exe - http://www.pygame.org/wiki/Pygame2exe
Bazaar - http://bazaar-vcs.org, Instructions, Tutorial: http://doc.bazaar-vcs.org/bzr.dev/en/mini-tutorial/index.html | A recent version of the game can be found here - https://code.launchpad.net/~baxemyr/+junk/towerdefense Install bazaar, set it up, and type "bzr branch lp:~baxemyr/+junk/towerdefense" in a command-line to fetch the game into your active directory. You may need to create a http://launchpad.net account (not sure). A development-history can be seen here ( http://bazaar.launchpad.net/~baxemyr/+junk/towerdefense/changes ).
Description, * All three developers "share the same folder" through Dropbox. Pro's: Instant, automatic access to the newest version. No need for manually sending files, and putting it together regularly. Bazaar is simple, but this is simpler for beginners! Unvaluable! Con's: * Risky, since everyone can, by a simple mistake, destroy for all others. How do we minimize this risk? Regular security backups? Could Marco write an automatic script for this? o Due to launchpad, this is not an imminent problem. * It would have been easier to see who has done what if everyone used bazaar instead, but that is demanding a bit too much, and hence only resulting in decreased efficiency.
600 pixels in height is max, to be able to work on small screens.
Creeps' movement-precision is 20x20 px so creeps shouldnt really be larger, but up to about 30x30 is okay because of the richer detail.
Ideas, Tower range, Transparent representation
Ideas, Info in right panel, Info in tooltip upon hover
Purchasable Towers, Where?, Mid-right panel, Image buttons on side. Clicking "Towers"/"[B]uild" results in a popup widget showing with available towers for selection. The last selected tower is selected by default, and remains placable as long as your gold lasts. Changing selection is possible until the widget is expressly closed.
Sell/Upgrade buttons, Where?, At the information box?
Popup text, Flashy, Animated upwards, with random x-direction, Smaller font over time
Possibly: Popup text with neat background/frame
Pause (menu??), P or Esc or Space?
Sell button, S
How to implement blood?
Goal/Base, A wall surviving 25 enemies' worth of attacks. After one attack the enemy dies from an arrow from the wall. After 25 attacks, the wall is razed, and the 5 occupying humans remains. Each human survives one attack, and an attacking creep is slain after one attack by the rest of the humans. The creep attacking the last human would survive though.
Queing of tower placement?
Versatile keyboard shortcuts
Smart UI-design for tower purchasing
Tower Defense-style, Variable creep path chosen, The creeps cannot walk through a tower, so the player can and should create a maze of towers, and by doing so vastly increasing the distance creeps need to walk from spawn to goal. Pro: The funnier way Con: More challenging to implement in a satisfying way., IDEAS, A few nodes the enemies' must pass before going to the goal., For zombies, these nodes could be jelly brain stations!, Alternative was: Static creep path, The creeps follow a predefined path, with the player building towers on the sides of the path. Pro: Presumably simpler to implement well Con: Less fun than #1
Description, Two-dimensional array of tiles, viewed from above. A bunch of creeps spawn at one end of the map, attempting to reach the other. The player has to construct self-autonomous towers in between. The towers automagically fire at the creeps when in range. The creeps cannot walk through a tower, so the player can and should create a maze of towers, and by doing so vastly increasing the distance from spawn to goal.
Each level, "Building pause", 10 second countdown?, Instant start upon key press, Pause countdown-functionality, Unique creep class, Customization possibilities, Health, Speed, Armor?, Cold-resistance, Poison-resistance, Vampire (silver-weak), Look, A spawn could contain randomized looks amongst it., Gold yield, Types, Normal, Boss, Air?
Gold, New Towers, Upgrading Towers
Experience, Individual experience for each tower, Global experience, Purchasing Global modifiers
Projectiles, Types, Silver, Ice, Poison, Area of Effect
Making Bridges?, Would increase the variation of mazes you could create. For example: Make a circle-maze, and then a bridge starting in the middle of the circle and ending outside it, and then force the creeps to enter the circle in order to get to the goal.
AI, Make it prefer weak enemies, and secondly enemies closer to the goal
Categories?, For example, a zombie category, Vampire category, dark magician category, evil mercenaries., To each category an unlimited amount of images can be added., Each level in the game uses a category., Categories are intended to be used multiple times during the course of the game., Each wave of enemies are made up from the images in the active category, randomly dispersed to each unit., Each category may have a special trait(s). Example: Vampires are fast, but might be weak against silver., This would make the process of adding more levels to the game much more dynamic, without having to rely on making a new image too.
Pickle (save) game class if game is shut down
Talent point rewarding system, "more Splash damage", "More Slow effect" etc., Allowing faster exp?, Rewarded after a couple of levels? each 3-4 levels you get 1 point, Allow Critical strikes on a type of tower?, Allowing player to spamclick for damage?^^
Adding spells?, "Nuke" - Clears the whole map of creep-waves, "Slow" - Slows every creep on a certian area/ entire map, "Single Bomb" - Hits targeted creep for X amount of damage. Increased by the number of towers on map.
With different sets of walls. Swamps?
Stochastic system - the system's subsequent state is determined both by the process's predictable actions and by a random element. Although, the player is encouraged to plan the maze thoroughly. Through controllable building-pauses and a capable easing User-interface.
Non-deterministic (mathematics) - the same input to the game does not neccessarily produce the same end.
Arrow Tower, Rapid Tower, Ballista
Frost Tower, Ice Tower
Ember Tower, Fire Tower
Aura Tower, Rapid Fire Aura, Improved Range Aura, Damage Boost Aura
In-game options menu?
Text-file for the purpose?
XML?, If I get way too much time over, consider making a GUI editor for tower and wave edits.
Hackers and Painters
Practical Tips for Independent Game Developing
How to build a game in a week from scratch with no budget
The four golden rules to be a better software developer.
Game Programming Wiki
Make Great Shit
Solve the tower-placement collision issues, Prevent placing of towers on creeps?
Pathfinding, Make creeps unable to move diagonally (at least through towers) Or??
Menu, Items, Start Game(/Resume?), Options, Fullscreen, Resolution?, This affects difficulty, since larger resolutions result in larger playing-fields and thus more space in which to maze., Modding info?, Exit
Solve the tower-placement collision issues, Prevent placing of towers upon other towers
Make Creeps and Towers easy to add
Projectiles? Might end up noisy