
New XNA game : advice / feedback requested
From time to time I get the urge to write video games up until now this has mainly been in flash. But to be honest I’m a bit sick of making games for the web, I usually run into performance issues. I’m a UI software engineer with graphics skillage, I love making and seeing whizzy things but usually bite of more than I chew and never finish them (quite a common problem I am told). So this time I mean business! I’m aiming for something a lot simpler and perfectly complete-able as a solo project. The lack of power in Flash is the thing that has mainly driven me away from it, despite the new improved AS3 being “10 x quicker” I found that quite often I had games running at 6 or 7 fps. . . which sucked. This along with my experience in C# and a childish addiction to Xbox 360 has led me to XNA. If I can feasibly write a game that runs on my 360, is complete, and is fun and addictive to play – this is the win for me. If it ends up on arcade or indie and makes cash, that’s only a bonus. The idea.: A static non scrolling physics based ball shooter. For which I do not yet have a name. I made a screenshot to aid the description. This is all just work done in Photoshop at the moment and unfortunately doesn’t do anything yet. My next step will be to write a level editor in WPF that can save out levels either as XML or binary.
The aim of the game in its simplest form is to smash all the blocks. This can be done either by a hit from the play ball with the required force to break a block, or by a block falling to the ground (or getting hit by another block). The player can fire the ball by clicking it, then clicking on the screen in the direction they want it to project in. The further away from the ball the final click is made, the faster the ball will launch. There is a limit on the amount of shots allowed to complete a level. In this case it would be 19 (1 ball in play, 15 left in the kitty, and 3 have already been made). A score is given for each block broken during a shot. 100 points for a direct break, then 200, 300, 400 (in the same shot). Points are also awarded for blocks that break other blocks. If a score is made during a single shot that is over a certain amount (yet to be decided) then the player is rewarded with an additional shot. Different coloured blocks do different things, a standard block will decay the force of a shot by the normal percentage. A red block for example will explode and take out everything in its blast radius. Different balls are also available, in this level a red ball can be gained by breaking the block containing it. This will make the playball red for the remainder of the level and take on the red balls ability. Levels will be split into worlds, the screenshot here is obviously from ice world, and a new coloured ball is available in each world This is really as far as I have got at the moment. Here’s how you could help me, and any help is greatly appreciated. - Help think of a name! - Suggest some ideas for the different worlds - Think of some different types of ball, and how the physics would behave differently for when its used. - Think of some different types of blocks, and how the physics would behave differently for them - Any gameplay ideas. - I have never used XNA before so if anyone could explain what I would need to do to get this working on Xbox that would be ace. - Advise me of a good physics engine to use for this project. All i have found so far is farseer [Edited by - DrLazer on August 25, 2009 5:19:49 AM]

Does anybody know how to add a screenshot - all will be much more clear when it goes on.
To add a screen shot put < img src="location of image"/ > (no spaces inside the angle brackets).
Quote:
A static non scrolling physics based ball shooter. For which I do not yet have a name.
Okay. I'm sure some of this is in your head and you figured we'd understand, but I don't. Here come the questions:
What side is the ball getting shot from? The left? How is it getting shot - straight upwards, pinball-machine style? How much control does the player have over the angle of the ball, and how high is the ball able to go? Is the ball destroyed when it hits a block, or can a very fast ball hit more than one block?
If I were to hit an edge piece on the far left, how do the other blocks fall? With your current level display, it looks like the block above it should spin out and hit something else as it moves downwards. If a falling block hits another block, are both destroyed? Does the resulting gap open up space for other blocks to fall? Can one blow potentially topple the whole thing over?
Q: What side is the ball getting shot from? The left?
A: It fires from wherever the ball landed last. When a level starts, the ball will be in the position the level designer put it in. After that the player takes a shot, then the next shot is taken from wherever the ball lands
Q: How is it getting shot - straight upwards, pinball-machine style?
A: The player clicks on the ball then clicks the cursor anywhere on the screen that they want the ball to project towards, the further away from the ball the second click is, the greater the initial velocity.
Q: How much control does the player have over the angle of the ball, and how high is the ball able to go?
A: Any angle, it's all down to their second click. The ball can go as high as the level, the icy border including the scoreboard will deflect the ball away.
Q: Is the ball destroyed when it hits a block, or can a very fast ball hit more than one block?
A: No it's not it continues on, and yes a fast ball could hit a second block after the initial hit.
Q: If I were to hit an edge piece on the far left, how do the other blocks fall? With your current level display, it looks like the block above it should spin out and hit something else as it moves downwards. If a falling block hits another block, are both destroyed?
A: Yes the block above would spin out, I'm going to strap in a physics engine to deal with all this. Blocks get destroyed when hit by the ball but only if the ball had enough velocity and a decent enough angle to impact a block hard enough to break it. the same will apply to block on block collisions.
Q: Does the resulting gap open up space for other blocks to fall?
A: Yep
Q: Can one blow potentially topple the whole thing over?
A: Topple yes. Destroy everything, I doubt it.
Hope this clears a few things up.
A couple of extra things to consider:
Really, the last 4 points I've given are pretty much available on the XNA Creator's Club website anyway. Developing for the Xbox 360 brings with it a number of unique challenges, and it'll be a much more painless process if you know about them in advance so you can anticipate and design around them. That's why it's imperative that you read through the XNA Creator's Club site first, IMO.
- If you're planning on putting this up on Xbox Live Indie Games, read through as much information as you can on the XNA Creator's Club website before you start coding. Seriously.
- To get it working on the Xbox, you need an Xbox 360 (obviously) and an XNA Creator's Club Premium subscription. The subscription is $99/year, IIRC.
- Your resolution should be 1280x720 for HD, not 1080x720.
- You need to design your game and interface with the title-safe area in mind - you must keep everything critical to gameplay within the inner 80% of the screen. For a 1280x720 resolution, that means you must have a 128px border on the left and right, and a 72px border on the top and bottom where you cannot place any gameplay-critical information. Trust me, you need to design for this in advance.
- If you're serious about playability on the Xbox, you'll need to design a controller-friendly interface as well. The controls you describe (clicking around the screen) don't translate very well to controllers.
Really, the last 4 points I've given are pretty much available on the XNA Creator's Club website anyway. Developing for the Xbox 360 brings with it a number of unique challenges, and it'll be a much more painless process if you know about them in advance so you can anticipate and design around them. That's why it's imperative that you read through the XNA Creator's Club site first, IMO.
NextWar: The Quest for Earth available now for Windows Phone 7.
Thanks for the reply Sc4Freak
I, better change my graphics to the correct resolution then!
I work on DVD software so understand the safe area shennanigans. 128px and 72px (10%) you say, I'll keep that in mind and adjust my screenie.
I think making it controller friendly won't be that hard. I'm certainly not going to have a cursor. I'll prob make it so that you press A to start drawing your trajectory, use the analogue stick to adjust the trajectory (which will draw on screen) then click again to launch. B to cancel the draw.
Thanks for the advice.
I, better change my graphics to the correct resolution then!
I work on DVD software so understand the safe area shennanigans. 128px and 72px (10%) you say, I'll keep that in mind and adjust my screenie.
I think making it controller friendly won't be that hard. I'm certainly not going to have a cursor. I'll prob make it so that you press A to start drawing your trajectory, use the analogue stick to adjust the trajectory (which will draw on screen) then click again to launch. B to cancel the draw.
Thanks for the advice.
Quote:
- Advise me of a good physics engine to use for this project. All i have found so far is farseer
Farseer is a good physics engine, and is specifically designed for use with XNA. I haven't found a better choice yet, so if farseer works, use it.
Box2dX is a C# port of Box2d, and is superior to farseer in almost every way. Except, you can't run 'unsafe' code on the 360 through XNA, so Box2dX will not work on the 360.
Looks like Farseer it is then. I've had a little play with it and it was an absolute nightmare to get going.
I used XNA 3.1, which is mega new. It turns out that projects made with legacy versions of XNA are not compatible. So if you are using XNA 3.1 you cannot use the last stable release of Farseer (2.1). I wanted to have the most up to date stuff I could so used tortoise to download the latest source for Farseer, which then worked ok with XNA 3.1.
Then there was a further strange problem. An XNA project has a deployment target. I selected 360. this means you cannot run it on a Windows machine. I found an option "make a duplicate to run on windows" which does exactly what it says EXCEPT. Projects of different deployment targets are also non compatible.
So i now have a solution containing 4 projects.
Farseer 360
Farseer Windows
My Game 360
My Game Windows
The crazy thing is. The windows copy is a duplicate of the 360 project and any changes i make to one updates in the other. This is true for everything EXCEPT references to other dependency projects. Meaning I am able to include Farseer Windows on the Windows one and Farseer 360 on the 360 one.
What an ordeal!
At least I am getting somewhere now. It all runs
I used XNA 3.1, which is mega new. It turns out that projects made with legacy versions of XNA are not compatible. So if you are using XNA 3.1 you cannot use the last stable release of Farseer (2.1). I wanted to have the most up to date stuff I could so used tortoise to download the latest source for Farseer, which then worked ok with XNA 3.1.
Then there was a further strange problem. An XNA project has a deployment target. I selected 360. this means you cannot run it on a Windows machine. I found an option "make a duplicate to run on windows" which does exactly what it says EXCEPT. Projects of different deployment targets are also non compatible.
So i now have a solution containing 4 projects.
Farseer 360
Farseer Windows
My Game 360
My Game Windows
The crazy thing is. The windows copy is a duplicate of the 360 project and any changes i make to one updates in the other. This is true for everything EXCEPT references to other dependency projects. Meaning I am able to include Farseer Windows on the Windows one and Farseer 360 on the 360 one.
What an ordeal!
At least I am getting somewhere now. It all runs
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement