Tim Murphy's .NET Software Architecture Blog

March 2014 Entries

Project Spark Maze Making Technique


When I first started creating Project Spark worlds I would try to build a mountain and then tunnel through it to create halls and rooms.  This really became a test of patients.  Once you have created a narrow space with ceilings it is hard to get your camera in the right place to know which direction your tunnels are heading, how close you are to the outside of your terrain and good luck placing props.  The solution is actually pretty simple.  Use the Add tool with the cube brush and make your corridors and rooms with an overhead camera as displayed above.  Once you have the first level laid out paint the room floors and wall, add props and light sources.  From there you can then use the Add tool again to create the next layer of your maze which creates you ceilings of the first level as you go.  I realize this isn’t anything amazing, but sometimes it is hard to see simple solutions.  Enjoy

Project Spark Development On Windows 8 With A XBox Controller


As you may have noticed, I really enjoy building Project Spark games.  Until recently you have only been able to create them on Windows 8.1.  Now you have the option of playing Project Spark on XBox One with XBox 360 coming in the future.  While I don’t have an XBox I have realized that there are just some things that you can’t do without a controller.  The biggest one for me is manipulating the size of trigger zones around props.  In order to gain this capability I picked up a second hand controller and quickly found that there was even more of a learning curve than using mouse and keyboard.  I figured if I found this a challenge others might and so this post will cover some of the basics.  As a starting point check out the control layout diagram here.

Zoom Camera

When you first come into the Spark environment you will find that you are zoomed all the way in to the cursor.  This is where the RB is your friend.  The thing you have to realize is that when you hold RB it is going to show you a button menu.  this is for you to change camera modes.  What it doesn’t tell you is that if you hold the RB and move the left joystick you can zoom the camera.  At any time you can tilt and pan the camera with the right joystick.

Switching Tools

This one isn’t that difficult.  The A button allows you to open the tool panels and the left joystick allows you to navigate through them.  Once you are in a tool the arrow pad allows you to navigate the pallet at the bottom of the screen with the up arrow opening the detail menu.  The big difference between between mouse and controller is the fact that with the mouse you click a tool a second time to get its alternate function and with the controller you use the left trigger to apply the tool’s alternate function.


This is the area where I have the most aggravation.  When you are arrowing through the pallet use the right trigger to create a prop.  If you only want the one hit the B button.  If you want more clones just continue hitting the right trigger.  Likewise if you want to select and existing prop put the cursor on it and hit the right trigger and the B button to drop it.  If you want to rotate or scale the prop hold the LB and select the function from the pallet using the arrow pad then while still holding the LB affect the change with the right joystick.  Just remember that the B button and the Back buttons are your friend.  They can get you out of most situations that you didn’t intend to get into.


Another significant difference when you move to the controller is the concept of setting the height of your brush above the surface.  The mouse is always set to touch current surfaces.  With the controller you need to you the X and Y button if you want to move your brush vertically.  Just keep an eye on the dotted line below your brush to see if you are at the level you want to affect.  Otherwise most of the rules for selecting from pallets apply the same as props.


Creating Kode in your brains is much slower for me and takes a lot more concentration with the controller.  The nice thing about keyboard development is that if I know the tile I want to use I can start typing the name and filter directly to it regardless of how deep it is in the tile tree.  Conversely, I am probably learning more about the tile tree using the controller.

To get into a brain select the prop with the right trigger and then hold the LB and press the Y button.  To insert a new line or tile where one already exists press the left joystick button.  While you are in the tile tree RB and LB will navigate through the pages of the same level.  RB and LB will also allow you to navigate through your brain pages.  If you are on a line number and press A you will get the arrows to move or indent the line.  Pressing A again will leave this mode.


The Start button will bring you to the screen where you can test and save your work or change settings.  While on this screen if you hit the Back button it will take you to your profile screen (always have to know progress on your challenges).


That should cover most of what you need to get started. Experiment with the popup button menus and enjoy. 

Presenting Project Spark At Chicago Code Camp


It is conference time again and this year I am speaking at the Chicago Code Camp on my latest addiction: Project Spark.  This is the game that is currently in beta on Windows 8 and XBox One which doubles as a game development environment.  Come and see how you can enjoy this and even spend more time with your kids and subliminally teach them how to code.  Register at the link below.