Warning: session_start() [function.session-start]: open(/home/content/97/3803897/tmp/sess_a00c2a6167606e2eff6f378727e64728, O_RDWR) failed: No such file or directory (2) in /home/content/97/3803897/html/site/include.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/97/3803897/html/site/include.php:2) in /home/content/97/3803897/html/site/include.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/97/3803897/html/site/include.php:2) in /home/content/97/3803897/html/site/include.php on line 2
Port Defender Online - Development - Notes
Buy Full Edition Play Free Edition Mobile Version
© 2009-2012 M-Gate Labs

Here you can see notes from the developer of Port Defender as they post updates.  This is not a daily account, but if something interesting occurs, it will be listed here.


Quick update!  Really busy with life/work tasks, have an update for Port Defender 1 which includes a quick tutorial.  Port Defender 2 is in the works and it will make the jump from 2D to 3D.

  1. Testing "Square" map
  1. Decreased save time
  2. Square map may be to hard, I keep losing
  3. New icon for continous play

I'm still working on the Square map and came up with a weird ending, where creeps are 1,000,000 x stronger, so you really can't destroy them, instead, you have to use the Admin's Abduct power to win.

  1. Worked more on new map "Square", it's about the Mayan Apocalypse, which was a little bit late, but it showed up
  2. Found a "pipe" path bug, and quashed it
  3. Changed the html Guide interface, so people will find the other sections about towers and creeps
  4. Replied to more comments 

Working on a new map "Square"


Working on a new patch to fix issue with map "lines"


We submitted updates for the lite and full version of Port Defender.  The update will fix issues with posting scores, weird creep behavior and some text issues.  It will also add in missing achievements and leaderboards into the lite version.


  1. Implemented achivement logic/sending
  2. Implemented leaderboard logic/sending
  3. Next steps
    1. Win/Lose screen
    2. get the store working
    3. more testing
    4. Look into cloud storage to replace sync
    5. remove old 1.0.32 code from product
    6. release to public.


Working on the backend storage solutions for GameCenter Achievements and Scores.  I've come up with a solution that actually works this time without needing to use NSData.


We are currently working on the backend services for the game and interface issues.  Yesterday we switched to an ARC build, which eliminated most of the user interface memory leaks.

  1. Functional statistics screen
  2. Stats are tracked while playing
  3. Stats are updated on win/lose
    1. You have to actually win or lose to have stats updated
  1. Added stats back into dev build
  2. Changed some stat names
  3. Working on engine <-> stats bindings
  1. Added in iOS 6 and 4 inch display support
  1. Working on user management
  1. New domain, will share once ready, + ssl access
    1. Online "Public" editor????
  2. Working on music playback
    1. Fixed looping bug
    2. Added in music security
  3. Working on Forever Loop waves
    1. Multiple creep paths
    2. I keep failing to win, so its getting better
  4. Migrating project to new laptop
  5. Promoted internal content editor to its own local web server
    1. Will move tools to new domain later
  1. Worked on playlist format
    1. Music will be randomized
  2. Backend
    1. Better log formatting
  1. Working on music playlists
    1. Playlists will change for in-game event's, such as boss/tense waves
  1. Help system
    1. In game help is almost working.  With it you can drag the search icon over a screen element and see it's name and description
  2. Engine fixes
    1.  Fixed issues with action names and descriptions being wrong
  1. Working on in-game help system
  2. Balance
    1. Still working on "Common" wave set
  1. New Game Testers, you should thank them for playing through semi-broken beta builds!
    1. gg-ace
  2. Balance
    1. Still working on "Common" wave set
  3. Changes
    1. New Help Icon
    2. Help Toggles Labels
  1. Admin
    1. Made cooldown's longer
    2. Fixed action fuel check
  2. Creeps
    1. Increased creep health for levels 15-90
  3. While testing
    1. One wave around 50 was hair raising, almost lost, so much fun, had to use Admin's powers
    2. Need to increase difficulty around 30
    3. Need to increase difficulty for waves 56+
  1. Admin
    1. Made upgrades more expensive
    2. Decreased attack/rapid/abduct duration
    3. Increased  attack/rapid/abduct cooldown
    4. Storage is disabled while power is low
    5. Upgrade is disabled while power is low
    6. Virtual joystick, only visible when in use
    7. Decreased attack delays
    8. Landing always costs over 1/2 total fuel
    9. Collecting fuel is more expensive
    10. Collecting fuel duration is shortened
    11. Storage slots are not visible while landed
    12. Rapid fire action only works when you have towers in admin
    13. Collect fuel button is diabled when full
    14. Admin movement logic has been moved to before layout rendering
    15. Note: This list is very long, because the Admin is currenly being tested.  And while testing it was deemed too powerful, so it's being nerfed a bit to let the creeps at least walk a bit before they explode.  Will add screenshots later.
  2. Stat tracking
    1. Basic stat tracking
  3. Towers
    1. Implemented "None" tower, it was missing
  4. Events
    1. Implemented BOMB free logic
  5. Actions
    1. Added in new flags to streamline pre-render checks
  1. Tower placement
    1. Implemented status overlay, that will indicate a good tower position, bad tower position or cancel.
  1. Admin
    1. Removed Admin's auto absorb feature
    2. Added in different land/rise buttons
  2. Action bar
    1. Changed "slide actions" entry conditions to favor dragging towers, instead of sliding menu
  3. Creeps
    1. Enabled onAbduction events
    2. When abducted a fuel icon is left behind for 1 second
  4. Fixes
    1. "Creep on Fire" flag incorrrectly being used as "Creep Abducted"
  5. Admin
    1. Land/Lift off works
    2. Landing costs points
    3. Lifting off is free
    4. Tower base extends from admin craft
    5. Movement disabled when on ground or taking off
    6. When on ground admin rotates to match internal gun tower's direction
    7. When on ground admin is on the same plane as towers, underneath projectiles
  6. Fixs
    1. Admin auto-absorbing magnets
    2. Weak creeps not auto-absorbed
    3. Admin upgrade prices
  1. Projectiles
    1. Added in Radar flag, which indicates if a missile should look for a new target if the current one is lost
    2. Gun projectile flies faster and will not find a new target
  2. Towers
    1. Upgraded creep search algorithem to use simpler logic and be more flexible.
    2. Fixed Magnet creep auto-target power
  3. Admin
    1. Made icons for each tower/level for the admin storage slots.
    2. Upgraded empty storage slot icon to be animated
    3. Added in abduct power
  4. Creeps
    1. Found issue with "weak" creep definitions, will fix today
  1. Admin fixes
    1. Rapid fire power functional
      1. Needs minor adjustments
    2. Attack power functional
      1. Needs minor adjustments
    3. Pickup/Exchange towers
      1. You can now exchange towers, whichout needing to drop one off first
    4. Control
      1. Fly to flag
        1. Tap anywhere while flying
        2. Use admin flag button to direct while not flying admin
      2. Direct control
        1. Supports inverted controls
    5. Zoom levels
      1. iPad and iPod specific values
  2. Engine fixes
    1. Incorrect string assignment fixes
  1. Added new features to engine builder
    1. Which are currently broken, will fix today
    2. Added in admin attack power
  1. Tap on admin to select
  2. Tap icon to select admin
  3. Taping admin while selected will select tower underneath
  4. Upgrade admin
  5. Created Anchor Land/Rise button
  1. Worked on the admin implementation and made a small video
  1. Re-wrote engine compiler to steamline adding new data elements
  2. Fixed bugs from engine re-write
  3. Added Admin to engine format
  4. Added Admin to game
    • Currently Admin just sits there, with no interaction
    • Working on call button, so you can request admin to move to your view point
      • Free Will in app purchase still works, so call woulden't be needed
    • Admin is on field by default
      • Free Admin in app purchase is still useful, since the admin still has to be upgraded.  So at level 30, it will auto upgrade to level 6, and refund any upgrades you made
      • 6 admin levels, 5 upgrades possible, each with different passive, and active features
    • Working on having admin move from Path 1's exit to initial view point, so it will sweep in to view
    • To select the admin you have to tap on it, like any other tower
      • To unselect tap admin or cancel
      • Admin has it's own custom actions
        • Cancel
        • Land/Takeoff (Requires fuels)
        • Tower Storage
        • Abduction power (Requires currency)
        • Counter power (Requires fuels)
        • Rapid-Fire power (Requires fuels)
        • Upgrade (Requires currency)
  1. Worked on 3rd Admin design
    1. Need to make a few more adjustments, but it looks like a messed up gun tower.
  1. Worked on memory management
    1. App will reduce it's size when minimized
  2. Fixed UI leaks
  3. Working on new Admin design
  1. New Icons
    1. Use Flame Weapon
    2. Use Slow Weapon
    3. Use Gas Weapon
    4. Use Nuke Weapon
    5. Cancel
      1. You can also tap on cancel if dragging messes up
  2. New Features
    1. Lasers
    2. 3D tire/magnet debris
  1. Implemented effects
    1. Corpses
      1. Still needs some work
    2. Explosions
  2. Created new artwork for
    1. Weak burning (In video)
    2. Strong burning (In video)
    3. Fire Explosion A (In video)
    4. Fire Explosion B (In video)
    5. Slow Explosion (In video)
    6. Gas Explosion (In video)
    7. Red laser
    8. Blue laser
    9. Magnet flying (In video)
    10. Tire flying (In video)
  1. Converted "Story" waves to new format
  2. Tower's will now check the creep's type before flying.  Example. Anti-Air tower's will not attack ground troups.
  3. Added in button to change layout filter
    1. All Layouts
    2. Open Layouts
    3. Path Layouts
    4. Mixed Layouts
  4. Updated wave conversion to handle a few random exceptions and convert messages
  1. Fixed wave conversion script
  2. Fixed multiple path wave bug
  3. Testing common & random waves
  1. Worked on converting Common and Random waves to new file format.  Still need to work out a few bugs.

Worked on the level selection screen.


Worked on the level selection screen.

  1. Conversions
    • Converted all layouts over to new format, except for a few which are outside the new size limitations.
  1. Conversions
    • We started to convert Port Defender content into the new formats
  1. Text rendering
    • Fixed issues with missing 'k' letter
  2. Scripting support
    • Implmented feature enable/disable
      • Sell Tower
      • Upgrade Tower
    • Implemented tower enable/disable
      • Control to remove a tower from play, not just disable the icon
  1. Text rendering
    • This may sound simple, but the engine can now render left and center aligned text
  2. Scripting support
    • We just implemented the give/set/take script for modifying player resources
    • Message viewing support
    • Still need to implement more methods
  1. Health animations
    1. This may be a small change, but health animations are in the game, so you can tell how much damage each creep receives
  1. Event handling
    1. The game's key events, such as game start, game resume, on wave complete, on win and on lose are now scripted, so we can show messages directly to the user.
  1. Font rendering
    1. With retina support
      1. This normally would not be possible with the BMFont tool, since there isn't a 2x image export option, but we took the time and wrote a *.fnt converter that will create high quality vector based output, and also makes the text look crisper
    2. Integrated into existing sprite render pipeline
    3. Will be able to have different fonts for iPads
  2. Scoring
    1. Very basic right now, looking to expand
    2. Renaming score to "Valor" points
    3. Looking into a wave finished screen, since we got rid of messages
    4. Researching a new bonus system
  3. Creeps
    1. Now provide currency and valor when destroyed, as they should
  4. Rendering
    1. Each creep has unique fire, slow and gas image
    2. Fuel & Currency will be shown at the same time, before you were only shown fuel when flying the Admin
  1. Projectiles follow creeps
  2. Projectiles hurt creeps
  3. Big Changes
    1. Each map has four different paths.
    2. Paths can be for walking or flying creeps
    3. Flying paths now follow same rules are walking creeps
      1. They can fly in different directions
    4. Game will automatically match wave paths to layout paths, so each layout can have a different ratio of walking/flying paths
    5. Wave file format is standardized, so random, common and map based waves are all the same
  1. Creeps walk and follow path
  2. Tower's track creeps
    1. Can upgrade/sell towers
  3. Projectiles
    1. Engine format issues, will need to resolve
  1. Fixed bugs in layout exporter/save/load
  2. Working wave exporter
    1. Up to 4 paths with 2 creeps on each one
    2. Seperate walk/fly paths
    3. One file format for common/random & map based waves.
  3. Game engine
    1. Layout loading
    2. Wave loading
    3. Layout-Path merging
    4. Path finding
  1. Layout editor is functional
    • Change tile paint
    • Change tile walk status
    • Change tile fly status
    • Change tile walk status
    • Change creep entry/exit points
  2. Need to get export system working
  3. New tile images
    • 5 Grass
    • 5 Dirt
    • 1 Grate
  1. New tileset texture for Retina devices
  2. Tools under development
    1. Content manager (80%)
    2. Wave editor (80%)
    3. Layout editor (30%)
  3. New content delivery model for streamlining downloads

Just implemented tower selection and drag and drop in the new engine.


The new engine is in alpha state.  It will currently load engine resources, handle touches and render certain objects.


We are still working on the backend systems.  The backend systems are critical for the game to successfully perform, and we have been able to squeeze out the following features.

  • All game objects, menus, actions, creeps and towers are now defined in control files.
    • In the future it will be extremely easy add in new creeps and towers on demand.
  • Animation files now exist, which tell the engine how to render.
    • Previously, all animations were hard coded.
  • Animations define where the exits for each tower exist, so it can accurately place projectiles.
  • Animation & Game configuration files have checksums to ensure that they are loaded correctly.
  • Our new Atlas Rising tool has been a pretty big time investment, but with it we can create our animation and engine configuration definition from Source XML files.

Still working on the backend.  Engine design is almost done, just have to finish up the "generic" user interface, tower barrel exit points, level file format and wave file format.


Still working on game.  The scope of the update when from major update to major re-write, so were taking the neccessary time to actually plan and design the best game we can.


Adding ammo animation smaples.


At the moment all new tower designs are final, but there may be some tweaks if something doesn’t look right.  The next step is updating our internal Atlas Rising tools to support creating animations.  Outstanding items include redrawing the menus, projectiles, admin and talking animations.  Creeps will be converted to the new file format without any art upgrades.


Added animation sample for Gas Tower Level 1.  You may think its animation loop looks a bit weird, but that’s because it’s the only back loading tower in the game.  The gas tower needs to keep its ammo from prematurely exploding, so it uses magnetic force to accelerate and spin gas barrels towards creeps.  So the backwards motion is the tower moving the barrel back in order to later on accelerate it forward.  Please comment.


Added animation sample for Ray Tower Level 1 and 6.  Please comment.


Added animation saple for nuke tower level 1.  Just want to clarify a bit, but the tower actually pneumatically launches unpowered nuclear gliders, which is why they can’t attack flying creeps.


Worked on the initial Ray Tower designs and have a good idea on how to finalize them.  For reference the Ray Tower is the new Microwave Tower so they will act the same, but look different.


Working on the tools, was able to add in extra features to reduce 30 sprites down to 6 in order to save space.


Added animation sample for ping tower level 1.  The bar will glow blue when ready to fire.  After firing the bars will increase to show its re-loading progress.


Added animation sample for gun tower level 1.


Our new Texture Atlas tool, "Atlas Rising", is finally in a semi working state.

New tower designs are being worked on every night.  We will post up previews here as they progress.  Please feel free to comment, and animation samples for each tower will be posted later.

Warning: Unknown: open(/home/content/97/3803897/tmp/sess_a00c2a6167606e2eff6f378727e64728, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0