Ok not dumb, but whats the point of having an emulator that cant test things like accelerometer or dragging?? Makes me want to go out and buy a WP7 phone hardware, but thats such a waste…
New direction… pun intended
February 7th, 2011 § 0 comments § permalink
After mulling over the existing design for awhile, Ive come to the realization that I’m creatively “stuck” with it. I don’t like the way the game feels as it plays. The bird movement feels strange, especially as the bird is stuck on a wire. The cars getting hit don’t read well, even though Ive animated the actual splat hitting the car. Recharging of splats feels mechanical, and the whole game feels quite repetitive. The major contributing factor to this is the fact that the entire game environment is largely static. The only thing moving is the cars and the bird, and both of these are moving in a very constrained way. Certainly there are many games that have this kind of restricted movement, many of these are top down shooters, which is what splat is very similar to. One of the differences is that the projectiles are forward moving in shooters, whereas in splat the intent is to get the bird on top of the targets. I could certainly change the game to have the player shooting the splats forward, which would make it very derivative of a shooter. Rather than changing the attack mechanic though, I’m choosing to incorporate a different element of shooters, and that’s the scrolling background.
The scrolling background works on many levels.
- It gives the game a more dynamic environment. This gives the game the opportunity to be more visually appealing as the background can change as the game progresses.
- The enemies that you are attacking can be much more varied in a scrolling background. Varied in the sense that the locations they come from and the directions they traverse across the screen can be very different. Cars/people etc can move vertically or horizontally across the screen.
- The player will feel a sense of forward progression.
The scrolling background is interesting, as in a way its a more subtle version of the wire. The wire acts as a constraint to the players movement, ensuring they cant just camp the top of the screen. The scrolling background acts as a wire in the sense that the player must keep moving around the screen, and the area of the screen where the enemies exist is only available to the player for a certain amount of time.
Along with a scrolling background, many things will need to change.
- The recharge mechanic for the splat will need to be redesigned, to start ill likely just do a time based recharge bar (think the armor in halo).
- Bird movement will be unconstrained, the player will be allowed to move anywhere on the screen, so the wires will no longer be necessary. I also want to look into the movement method for the bird itself. Vector2.SmoothStep is great for a simple acceleration/deceleration, but it feels sluggish when the bird gets to close to the target destination, the speed continues to slow over time linearly, meaning it can feel like it takes a long time to actually stop, this gives a floaty feeling. I think it may need to be a bit snappier.
- The scrolling background itself will need some kind of level system in place, at the minimum just loading in a text file with a level definition. Fortunately that work has already been done for me, in the XNA creators club platformer example, so ill just be copying the code from there to get it up and running as fast as possible.
Will this be the solution? Who knows, but i know ill have fun making it work, and I know that its better to try new things and large changes out earlier than later in the cycle.
Risk
January 31st, 2011 § 0 comments § permalink
Oh, of course, there still no risk in failing to hit the cars with your splats. Need to add some risk.
Monday update
January 31st, 2011 § 0 comments § permalink
So last week I implemented some of the easier changes I mentioned in my previous post.
1. Player now has a limited number of splats, they need to get back to the splat recharger to increase their splats over time.
This is a big one. It does make the game feel more resource starved and you are planning out your moves more. This is nice because it invests the player more and makes their decision making have more weight. You also must navigate back to the splat regeneration location, which can be located in specific restricted locations. This feels like a keeper, and something Ive had in the design since day 1.
Again though, hitting cars seems like its not skill driven enough. All you need to do is cover each lane with a splat to ensure a car will hit it. I could always lower the time a splat lives for on the lane, but really this doesn’t overcome the fact that the game feels a little dull.
I believe the next step in the exploration will be to actually make the goal to hit the cars with the splats as they move underneath the wire. This will mean it will be necessary to slow the cars down to make them easier to hit, as well as refactoring a large chunk of code that does the hit detection, but its worth doing it to try it out and see how the gameplay changes. I predict it will actually be more fun.
2. Cars move at random speeds. I know I mentioned this complicates the system unnecessarily, but I also realized it was an incredibly simple change, so was worth seeing what impact it had.
What impact did it have? Pretty much what I expected. It complicated the system. It did make it obvious that an easy level of “progression” on the side of difficulty will be easy to achieve by having different classes of vehicles, faster but easier to damage, slower but higher health etc. Of course, this is a complication thats not necessary right now. The core game needs to be fun regardless of these complications, as the core game will be whats presented to the player in the first few minutes of gameplay.
Some design thoughts
January 27th, 2011 § 0 comments § permalink
So i now have a very rudimentary version of the game running.
- Cars move down the lanes.

- The player can move the bird around on multiple wires.
- The player can drop splats on the ground that the cars will run into.
- The goal is to hit as many cars as you can.
With this done, and the game basically playable, what is the largest design issue?
Hitting cars isnt that interesting, and doesnt make contextual sense
The contextual could easily be fixed. Instead of splats you could be dropping mines on the ground that the cars run into, and the cars explode. It changes the concept, but it makes better contextual sense. The larger issue is that hitting the cars isnt really that interesting. Its easy to drop the splats on the ground and see where the cars are coming from, and to play the drops accordingly. Some possible ways to make it more interesting:
- More variety of cars, different speeds, cars that need to be hit multiple times etc. This is a level of complexity I don’t “love” to add right now. The core actions should be fun in and of themselves, as a set of very basic cars would inevitably what the early levels of the game are like anyway.
- Give the player a limited number of splats. By applying a resource value to the splats, the player wont simply be able to spam them on the ground.
- Change the way the splats work, so you need to hit the cars as they are moving underneath you rather than planting a splat on the ground and just letting the cars run into it. This changes the design of the game, it adds some more complexity to the players decision making process. “where do i move the bird to next to make sure i can hit that car that’s coming” rather than “move the bird as much as possible and spam splats on the ground”
Theres no Risk
Part of the reason that splatting that cars feels weak is because there’s no risk involved if you don’t hit the cars. Now, risk can come in many forms. It doesn’t have to be “save the world” risk, it can be the risk of not attaining a high score, or simply the risk of letting that car get away. Right now though, there is definitely no risk involved. It feels a bit like a tower defense game without any penalty if you let the cars through to your “base”.
And of course, here’s a screenshot of the latest version of the game.
Power of cheap prototypes
January 18th, 2011 § 0 comments § permalink
A friend I work with just saw my little game, and made a suggestion that instead of cars coming underneath you, you could have the bird flying forward and be splatting on people/cars who are underneath you! Great idea, something that stays true to the concept but pushes it further, and its also something thats easy to change.
Right there is the power of cheap and fast prototyping. You are able to quickly show someone something that has a core idea on it, and get feedback on it from them.
That idea will definitely go on the burner, and Ill see if its something that could radically change the game, or if its something that could be integrated into the current design.
Cars colliding with splats
January 17th, 2011 § 2 comments § permalink
Got quite a bit done today. Cars now drive down the lane and will collide with splats. You can tell the game
how many lanes there needs to be, and a CarManager will ensure that every lane always has a car on it.
Something of note, if you use <= list.Count, C# will continue past the actual Count value, and throw an exception. Not a good thing, and thanks to Dutch for helping me to figure it out.
Screenshot time!
Current state of Splat
January 16th, 2011 § 0 comments § permalink
Heres a screenshot of the game as it currently looks. Dont you love my art?
Tapping anywhere on the wire at the bottom of the screen will move the red bird to that location, tapping on the bird again will make it splat. 
The blue car drives down the lane then starts at the top again. No collision or anything like that, just working on getting the basic bird control working first.
Math!
January 16th, 2011 § 0 comments § permalink
My math skills just ruin me sometimes. Basic calculations like figuring out a position inside a rectangle take me way longer than they need to.
Wish I could go back to the younger me and tell me to stay in school, at least finish math dammit!!!