binary zoo
Welcome, Guest. Please login or register.
Did you miss your activation email?
January 19, 2018, 01:27:33 PM

Login with username, password and session length
Search:     Advanced search
30178 Posts in 1158 Topics by 195 Members
Latest Member: dianeanderson
* Home Help Search Login Register
+  binary zoo
|-+  Binary Zoo
| |-+  Diary of a Game
| | |-+  The Binary Zoo Bog
Pages: 1 ... 40 41 [42] 43 44 ... 165 Go Down Print
Author Topic: The Binary Zoo Bog  (Read 606095 times)
JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #615 on: June 25, 2009, 04:01:08 PM »

Would it be possible, to write your own leaderboard code, and have it sent to the site? If so, then that could be a good alternative.
Either way, i'm listening!
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #616 on: June 25, 2009, 05:54:53 PM »

Would it be possible, to write your own leaderboard code, and have it sent to the site? If so, then that could be a good alternative.
Either way, i'm listening!
You can't interface with any sites outside of the XBox Live network so that's not possible.

I could see about doing a P2P leaderboard system, but Ive not looked into any networking yet so that could potentially take months....or be dead easy.

Although the limitations on a P2P system make me wonder whether it would really be worth doing anyway.
« Last Edit: June 25, 2009, 05:56:42 PM by fog » Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #617 on: June 26, 2009, 09:47:19 PM »

I might just have found a more boring job than coding the menus......adding all the Zoo Trial logic.  It doesn't appear very time consuming until you break it down into it's separate pieces. BunnyMonkey!

Say that we had a Zoot which says " kill 100 enemies without moving in Classic mode".

- First check to see if we are playing in classic mode.
- Then check whether the zoot has already been completed.
- then see whether we are now playing at a harder difficulty setting than that already unlocked (in which case we can unlock it again).
- And then if we kill an enemy we check whether the ship is stationary and if it is then we begin counting the kills.
- if however at any time the player moves the ship then we need to reset the count to zero again.

So one very simple Zoot requires several logic checks scattered around the game code.  Multiply that by the 25 different Zoots we have and then playtest to check all the logic works properly.  What fun  BunnyMonkey!

Still, testing has meant I've added a couple of minor tweaks.  One neat new feature can be accessed from the pause menu.  Here you can bring up a list of all the Zoots and it shows your current running total for each of them.  So in the case of that Zoot we mentioned earlier that requires to make 100 kills, this screen would show you how many you have so far.
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #618 on: June 28, 2009, 03:29:29 PM »

Well the Zoo Trial stuff (our version of Achievements) is in, appears to be working fine and has had the target scores tweaked numerous times so should provide a decent challenge.....or 25.....or 100 if you do them at every difficulty.

As I often use infinite energy, level skip and maximize my weapons during playtesting, my unlocked Zoots are often the result of "cheating" so I've just wiped all my save game files and I'm about to tackle them all properly myself for the first time.

With that complete, pretty much everything gameplay wise is done so I've uploaded a new version for playtesters.  Kang-a-roo!

All that remains, apart from squishing any bugs playtesting throws up, is to do all the cosmetic changes to add the help screens, a proper logo, some proper button images and, well anything else I see that needs tidying up.

The end is very much in sight  BunnyMonkey!
« Last Edit: June 28, 2009, 03:34:30 PM by fog » Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #619 on: June 29, 2009, 09:47:16 AM »

Biting nails with anticipation.

TMC
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #620 on: July 02, 2009, 09:43:00 PM »

Biting nails with anticipation.

TMC
You don't want to be doing that.  At the speed I work you'll soon have no fingers left.

Just cobbling together a quick PC version for the audio chaps to play with.  One problem with doing a 360 version is that the H2 chaps can't swap music and sound effect files around to test out ideas as it's all locked down on the 360.  So after adding alternative PC controls for the gameplay and menus we have something playable.

Once I've decided on a solution to my resolution selection woes I'll upload it and maybe a couple of others can have a bit of a playtest too.
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #621 on: July 04, 2009, 01:09:04 PM »

Well that's the PC version up for playtest too.  It obviously needed alternative control code to suit the standard PC mouse & keyboard setup and the previously mentioned resolution issues still need addressing, but otherwise it's rather excellent being able to code once in XNA and run the same code on the 360 and PC (and Zune if Microsoft ever pull their finger out).  It really is as simple and painless as they claim.

So now back to doing those help screens and then.....we're done  Kang-a-roo!
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #622 on: July 06, 2009, 05:34:32 PM »

The PC version of Echoes I did was really just to help H2 mess with the audio, but it's also highlighted a bug that we had overlooked in the 360 version.  Thanks to las6 for that one.

Anyway the dreaded language settings on his machine were messing with loading the vector font definitions file.  The problem is in loading floats because some languages expect a decimal separator whereas others use a comma.  Use the wrong one and it throws an error.

I really should have caught the error myself as I'd updated my file routines a while ago to avoid this exact problem, but this is one little routine that was still using the old code  Gah.

What the code does is use the StreamReader class to read in a line of an external file, store the result in a string and then convert that to a float:
Code:
myFloat = float.Parse( stream.ReadLine() );

To solve the language problem you just use an overload method and tell it to ignore the current language setting:
Code:
myFloat = float.Parse(stream.ReadLine(), CultureInfo.InvariantCulture);

Simple enough, but if you're doing that a lot then it gets a bit messy and, as I've proved, very easy to forget to add the CultureInfo parameter at the end.  So we have another excuse to use the rather excellent Extension methods that XNA has.

So We add this extension to the StreamReader class:
Code:
//Read Float
static public float ReadFloat(this StreamReader stream)
{
   return float.Parse(stream.ReadLine(), CultureInfo.InvariantCulture);
}

Then in future all we need do is the much neater and relatively foolproof:
Code:
myFloat = stream.ReadFloat();

Much better.  BunnyMonkey!
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #623 on: July 10, 2009, 04:07:58 PM »

BunnyMonkey!

Just doing one of the few remaining and incredibly boring tasks of adding all the controller button hints at the bottom of the various screens ( 9 different screens stats fans).  Each screen has a different combination of buttons and functions and some only appear in certain circumstances.  For example on the main menu "X" is the button to press to purchase the full game, but you obviously don't wnt to be displaying that once someone has bought it.  Like I said, really boring stuff.

Anyway there's nothing better for spicing up a boring task than thinking you've discovered a fairly major bug.  I have a bunch of my debug tools and info mapped to the d-pad and left bumper button so, to help me position some on screen text, I went to select the tool that overlays the title safe areas on the screen (down on the d-pad & tap the LB button).  Then, as I'm working out how much I need to move my text by, I suddenly notice something very very wrong.  BunnyMonkey!

Every time the players ship is getting hit by something it is spewing out a weapon powerup.  Now this is actually an intentional part of the gameplay.  Once you have powered your weapon up, if you get hit then you drop one of the powerups, but this was a brand new game, the weapon hadn't been powered up and as such getting hit shouldn't throw out any powerups at all.  Panic.  BunnyMonkey!  BunnyMonkey!

An intensive study of the chunk of code that calculates when and how many powerups to chuck out shows nothing obvious.  It does a number of calculations based on difficulty, the current level, the current weapon and how strong the enemy or bullet was that hits the player, so it's slightly more complex than it might initially sound, but simple enough that any mistake should be obvious.  And I see nothing.

Ok, lets recreate the problem and see if we can get any clues as to what the cause is.  Only I can't recreate the problem.  Maybe it was a specific difficulty?  Nope, tried all of those and nothing.  Maybe it's only triggered on the second game or maybe the "Quick Start" option isn't resetting the weapon between games?  Nope not that either.  Stumped.  BunnyMonkey!

Right, lets have a look at the Debug log file on screen and see if there are any clues in there.  Up on the d-pad, tap the LB button.  Nope, no clues in the log file either....woah....it's happening again.  Weapon powerups everywhere!   Hold on.  Is me going into the debug options just a coincidence or does that have something to do with it?  Penny drops  Tongue

I actually have a load of debug tools, but mapping them to the d-pad I can only have 8 active at any one time and swap some of them around depending on what stage of development I'm in.  One of those tools is a shortcut to maximise the players weapon for playtesting purposes and, yes, I'd accidentally left that mapped to the same button as the debug log tool, so every time I was accessing that I was also maxing out the players weapon.  I must have accidentally done that earlier meaning that rather than the player having the base weapon it was really maxed out and was therefore rightly chucking out weapon powerups when it got hit.  The chunk of code where I was convinced the error lay was in fact doing it's job perfectly.

Yeah I'm an idiot  Tongue but on the plus side I was really happy to get back to the tedious task of adding those menu button hints and finiched them in double quick time BunnyMonkey!
Logged

JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #624 on: July 10, 2009, 10:29:26 PM »

 BunnyMonkey! strikes again! Smiley
Logged
JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #625 on: July 10, 2009, 10:30:05 PM »

Would it be possible, to write your own leaderboard code, and have it sent to the site? If so, then that could be a good alternative.
Either way, i'm listening!
You can't interface with any sites outside of the XBox Live network so that's not possible.

I could see about doing a P2P leaderboard system, but Ive not looked into any networking yet so that could potentially take months....or be dead easy.

Although the limitations on a P2P system make me wonder whether it would really be worth doing anyway.

Would this problem also stand if it were a PC game?
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #626 on: July 10, 2009, 10:55:59 PM »

Would it be possible, to write your own leaderboard code, and have it sent to the site? If so, then that could be a good alternative.
Either way, i'm listening!
You can't interface with any sites outside of the XBox Live network so that's not possible.

I could see about doing a P2P leaderboard system, but Ive not looked into any networking yet so that could potentially take months....or be dead easy.

Although the limitations on a P2P system make me wonder whether it would really be worth doing anyway.

Would this problem also stand if it were a PC game?
Nope Smiley  On the PC you can use any external code libraries you like and can exchange data freely with any websites, so a proper leaderboard would be possible.
Logged

T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #627 on: July 11, 2009, 09:46:19 AM »

I can hear your sigh of relief from here.   Grin

Quote
The chunk of code where I was convinced the error lay was in fact doing it's job perfectly.

One mantra i often tell myself, is that the computer is only doing what it's been told to do.  Usually by me.

So if i see an error, i immediately assume it's my fault. Tongue

TMC
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #628 on: July 11, 2009, 10:47:57 AM »

The hardest bugs to track down are those like this that effectively override what another chunk of code is doing, but at least in this case it wont happen again as I've now slapped a debug waning message on the screen.  Lesson learnt.
Logged

JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #629 on: July 11, 2009, 11:40:56 AM »

Would it be possible, to write your own leaderboard code, and have it sent to the site? If so, then that could be a good alternative.
Either way, i'm listening!
You can't interface with any sites outside of the XBox Live network so that's not possible.

I could see about doing a P2P leaderboard system, but Ive not looked into any networking yet so that could potentially take months....or be dead easy.

Although the limitations on a P2P system make me wonder whether it would really be worth doing anyway.

Would this problem also stand if it were a PC game?
Nope Smiley  On the PC you can use any external code libraries you like and can exchange data freely with any websites, so a proper leaderboard would be possible.

Well, you've got my ear!  BunnyMonkey!
Logged
Pages: 1 ... 40 41 [42] 43 44 ... 165 Go Up Print 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
Simple Audio Video Embedder
Valid XHTML 1.0! Valid CSS!