A few words about Operation Sneak Peek


Operation Sneak Peek is a Windows Phone game that includes stealth+logic gameplay. Player has to look for hidden letters to discover a secret word and use it to defuse a bomb. The core of the game includes:
  • Player controls avatar who's background and theme can vary from secret agent to a super-secret cyborg with stealth attributes.
  • Player has tools like scanner and map
  • The scanner is used to scan surrounding space (tiles adjacent to the avatar)
  • Energy goes down as avatar moves with the scanner ON, if it reaches 0, player has to wait until it's refilled. Energy refills as avatar is idling
  • Adjacent tiles, shown by the scanner have different colors - from cold to warm
  • Player has to check warm colors for letters
  • Player goes around the map (one map consists of multiple parts, there are portals that allow moving freely between the parts) and looks for hidden letters
  • There is a bomb at the end of each map
  • The bomb can be defused if player has found all of the letters and if not a guess can be made (there are limited attempts)
  • Defusing the bomb is a minigame and it's optional but gives a lot of points and points are needed to buy upgrades & stuff in the store AND for stars which are needed to unlock next maps
  • There are enemies patrolling the map and player has to avoid them
  • There are different kinds of obstacles that can be removed only by using a specific item (example: a fallen tree can be removed by using a chainsaw) and it's player's job to find that item to proceed
You can find more about the game in the documentation that is available for download in DOWNLOADS section. You can find a .xap file there as well (build for WP7). The build is fully playable, there is a 1 map that presents the gameplay and all of the core features.


Technology
I used XNA 4.0 to create the game for WP7 (C#). You can find the whole source code in the SOURCE CODE section. There are also example art assets included (some images found on the internet, note that I do not own rights to them and I never used them in any commercial way). The game can be converted to other platforms by using MonoGame or to Silverlight using SilverSprite-this game could be a great base for learning those tools;)
I created a simple engine for this game:
  • A* for path finding
  • XML configuration files (obstacles,items,NPCs,avatar,worldConfig) -everything is configurable via XML files and can be easily extended
  • Simple collision detection (I used rectangle.Intersects() method mostly for this)
  • 1 tap control (except for when opening inventory when you have to double tap on avatar)
  • Simple game state management-all update calls are in Update() and all draw calls are in Draw()
  • Logic division into separate DLL libraries (Characters,Levels,Screens,World,Util)

Please see DOCUMENTATION section for instructions how to start working with the code if you are interested.

I have also started a blog where you can find some articles describing the code in detail and which I'm updating anytime I can (I recommend starting from the oldest one):

http://www.innovait.eu/blog/

screenshots:

screen1.png
screen2.png
screen3.png
screen4.png
screen5.png
screen6.png
screen7.png
Cannot resolve image macro, invalid image name or id.
screen9.png
screen10.png
screen11.png
screen12.png

Last edited Jun 8, 2013 at 11:00 AM by msporna, version 28