Search Unity

A casual web-based tower defense.

Discussion in 'Works In Progress - Archive' started by webgovernor, Mar 20, 2013.

  1. webgovernor

    webgovernor

    Joined:
    Feb 10, 2013
    Posts:
    18
    Hello All,

    I've been working on a simple tower defense for the past couple of months.

    I started the project using SongTan's TDTK (which is awesome), but I ended up rewriting a lot of it.
    Not because the kit had problems, but because the project required different functionality.

    Here's what I've done to modify his TDTK:

    1. Implemented new targeting for towers. His targeting worked fine, but I needed something that runs a simple calculation to determine the "threat" of the enemy.
    2. Perks / Upgrades. I've rewritten this to cover my needs, which include:
      • Saving to a remote server (which I wrote in Python).
      • Modified how perks are applied (when they're Unlocked and when they're "refreshed" from the server data)
      • A "campaign" screen, instead of using this on a per-level basis.
      • Changing most of the ways that perks are applied, such as slow and stun effects.
        I did continue to use most of the GUI code, but made some simple changes there.
    3. Creep movement, damage and dot calculations, added score and per-unit life reduction, and I stripped out a lot of unused code (since I don't need it for my game).
    4. Towers
      • I removed a ton of unused building code, since I only need one format.
      • I then rewrote much of that building code to use my customized perk/upgrade system.
      • I also added hooks to the WebAPI I'm using, to keep track of score.
    5. Moved classes around. There are a couple of files that have multiple MonoBehaviour inherited classes, and this didn't cause any issues in the Web Player, but NaCl wasn't happy at all.
    6. General GUI tweaks, changed verbiage, and slightly modified controls. I did keep a lot of the existing code for GUI stuff, too.
    7. Editor changes to the Spawn and Tower editor. This was more of a nicety.

    In my case it would've been cleaner to start from scratch, but the TDTK was still very valuable to me as a large sample code-base to learn from. I highly recommend it to anyone looking to create a casual TD.

    The server for the game, that stores the data, was written with Python (primarily for socket support and what I see as better encryption support -- player data is encrypted on the client prior to going "over the wire").

    All textures and 2d graphics were created with The Gimp.

    All 3D models were created with Wings3D -- Blender was too complicated for a newb like me.

    All music (and sound effects) is Creative Commons - Attribution, check out the credits in game for the specific artists.

    Anyway, I decided to create the game as a Facebook app to start -- I'll then add Kongregate support.

    It's still in Beta, hence the WIP posting, but you can check it out here: https://www.facebook.com/appcenter/upgridtd.

    Criticism and comments are appreciated ;)


    Thanks,

    Webgovernor

    [HR][/HR]

    $Screen_beta_framerate1.png
    $Screen_beta_superzoom1.png
    $Screen_beta_overhead1.png
     
    Last edited: Mar 20, 2013