Click here to Skip to main content
Click here to Skip to main content

Boxed In - A Windows 8 Puzzle Game

By , 22 Oct 2012
 

Please note

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Introduction   

Boxed In is a puzzle game that challenges the player's spatial awareness. The player must guide their character out of a maze of boxes, but in order to do so they must first devise a solution that won't leave them trapped.

Background 

The project started off as a personal challenge to write a complete game in a week. While I was successful in developing something playable in the week, I decided there was scope to continue work on the game and turn it into something more.

Written initially to target the XNA framework, when it was announced that XNA would not be supported on the Windows 8 store, I decided to port the game to MonoGame to allow maximum scope for releasing multiple platforms.  

The Game   

The game is currently building and running on Windows desktop, Windows Phone 7/8, and Win RT.  

Ultrabook

The game takes advantage of the touchscreen features available on the Intel Ultrabook to provide an intuitive control mechanism for the player. 

Mono Game   

MonoGame is largely a drop in replacement for the XNA framework api, but there are currently a few minor features missing that required some rework. Specifically I had to re-write my 3D content pipeline to target CPU rendering of the 3D animations used for the player as MonoGame doesn't currently support GPU rendering of skeletal animation. 

The use of MonoGame does give the scope for Android and iOS ports in the future with the use of the MonoDroid and MonoTouch projects. 

Gameplay Features 

  • Multiple layers of blocks 
  • Linked blocks 
  • Buttons (activated by specific colour blocks) 
  • Gates (Opened when the associated button is pressed. 

Level Editor 

It became apparent very quickly that I would need a level editor to allow me to design and visual the levels with a quick edit-view cycle. 

Thanks to some help from a blog post by Nick Gravelyn I created an XNA rendered panel within a regular WPF application to achieve this. Refactoring the level loading and rendering code into a separate assembly I was able to reuse around 90% of the code required for the level editor from the code already written for the game. 

What's Left To Do 

  • More levels. I currently have 20 levels, but I'm planning to have closer to 50 for the final release.
  • More tutorial screens. I have complete some basic movement and objective tutorial screens, but I plan to do some more to introduce some of the more complex puzzle features link the linked blocks and colour activated buttons.
  • Final artwork for gates - Although gates work functionally, I still need to complete the visual artwork to make them stand out as a distinct level feature. 
  • Scaling problems on WinRT - There are some minor bugs with the scaling when using the various different sidebar resolutions on the WinRT platform.  

Alpha 

You can download an early alpha test of the game from my website, or here from codeproject. (Note that the alpha download doesn't include many of the newer features mentioned here, but it gives an idea of the concept) 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Simon P Stevens
Software Developer
United Kingdom United Kingdom
Member
I discovered programming aged 11 with my school's BBC micro, and a book titled "Write your own space action games". (Their ideas of "space action" games were very different to mine. My ideas didn't include a bunch of * signs controlled via a text based menu)
 
I got hooked on VB for a while (mainly because I discovered I could replace the * signs with .bmp files) until someone pointed out the wonderful world of objects and Java. I also went thought a c++ phase.
 
I've now been a professional developer for 5 years.
 
My current language of choice is C#. I spend my free time playing with XNA and microcontrollers.

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
Questionlevel editormemberHariharan.e5122 Oct '12 - 21:44 
AnswerRe: level editormemberSimon P Stevens29 Oct '12 - 3:54 
QuestionWhich flavour?adminChris Maunder22 Oct '12 - 20:06 
AnswerRe: Which flavour?memberSimon P Stevens29 Oct '12 - 3:45 
I've currently got it building and running on both platforms. (barring some minor scaling bugs on Metro)
 
I'll submit it as a traditional desktop app for the competition, but I almost certainly intend to follow up with a Metro Windows Store version shortly afterwards.

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 23 Oct 2012
Article Copyright 2012 by Simon P Stevens
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid