binary zoo
Welcome, Guest. Please login or register.
Did you miss your activation email?
January 19, 2018, 01:25:01 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 ... 57 58 [59] 60 61 ... 165 Go Down Print
Author Topic: The Binary Zoo Bog  (Read 606086 times)
SiN
Escaped from The Zoo
500 XP
*
Offline Offline

Posts: 683


Caffeine Monster Software


View Profile WWW
« Reply #870 on: November 11, 2009, 02:58:05 AM »

Have you been looking into concurrency/threading? Would be the best option to go with if the operations do end up being intensive.

Mo
Logged

binary zoo mobile developer | 32x32 . duotrix . geomex . smiley's shooty adventure . by caffeine monster software | my blog
T_M_C
1000 XP
*
Offline Offline

Posts: 3000

TMC


View Profile Email
« Reply #871 on: November 11, 2009, 09:57:14 AM »

Alternatively, you could have a menu option and let the player choose when to update highscores.

Or display the option after a game has finished.  Instead of trying to make the process automatic and transparent.

TMC
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #872 on: November 11, 2009, 10:25:26 AM »

To save your workload a tad, couldn't you just restrict the leaderboards to one competetive strand?
That wouldn't actually save me any workload anyway JDog.  It's exactly the same routine for all modes and difficulties, it just sends or receives different data from an array. Smiley


Have you been looking into concurrency/threading? Would be the best option to go with if the operations do end up being intensive.
Exclusively network code already is threaded IIRC.  And that side of things isn't really an issue so far.  One area I may need to look into threading for is what happens to the data once it's been received and it has to be sorted and saved.

These are the areas causing me most concern:
- When to sort and save to reduce any impact this might have (Right now I'm only doing that in menus etc and not in game.)
- There are 25 different highscore tables to exchange so what order do you do them in (Depending on how long the data exchange takes, the later tables might never get updated if done sequentially.)

I really need to do some proper testing though to see if these really are major issues.

Alternatively, you could have a menu option and let the player choose when to update highscores.

Or display the option after a game has finished.  Instead of trying to make the process automatic and transparent.
That would make things easier, but unfortunately it isn't really possible.

Because of restrictions on the XBox these online highscore tables work using P2P as we can't staore data anywhere other than on users consoles.  Using your suggested method highscore data would only be swapped P2P if two users chose to update scores at the same time.

In reality it has to be running in the background the whole time the game is running to maximise the chances of exchanging data with others playing at the same time.

I'm quite enjoying this though.  It's thrown up a few interesting problems to solve and we all love those (now my network appears to be behaving itself anyway)
Logged

SiN
Escaped from The Zoo
500 XP
*
Offline Offline

Posts: 683


Caffeine Monster Software


View Profile WWW
« Reply #873 on: November 11, 2009, 04:33:39 PM »

* How are you writing to file? That's going to be the most expensive aspect, so make sure you use the async option.

* What type of sorting algorithm are you using? Bubble-sort will be too slow, but something simple like Insertion Sort, while still O(n^2) will actually work pretty well for small lists.

* Give each table a persistent update variable, all start at 0. When the table is updated, increment the variable. Start your updates with the table with the smallest number. This is also known as LRU (least recently used).

Mo
Logged

binary zoo mobile developer | 32x32 . duotrix . geomex . smiley's shooty adventure . by caffeine monster software | my blog
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #874 on: November 11, 2009, 10:18:33 PM »

* How are you writing to file? That's going to be the most expensive aspect, so make sure you use the async option.
Saving when a game is in progress isn't really a good idea regardless of how it's done.  In this case when the saving takes place is more important so that will be done much as it is now (at the end of a game, on exiting etc)

* What type of sorting algorithm are you using? Bubble-sort will be too slow, but something simple like Insertion Sort, while still O(n^2) will actually work pretty well for small lists.
There are built in sort commands which I am using unless they prove to be too slow.  Why re-invent the wheel etc Smiley

* Give each table a persistent update variable, all start at 0. When the table is updated, increment the variable. Start your updates with the table with the smallest number. This is also known as LRU (least recently used).
Not an ideal solution in this case.  The Host could be sending out scores to several other machines at the same time so deciding what table to update then isn't that straight forward. 

Like I say, if testing shows that each table updates quickly then the order they update isn't critical. Smiley
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #875 on: November 13, 2009, 04:25:57 PM »

OK, rather than doing the sorting all in one go I've now rewritten those routines to spread the task out.  That should mean the sorting, like the actual data transfer across the network, can be done at any time with no noticeable effect. (I'm sure it would only have resulted in a few skipped frames and most people wouldn't even notice, but I'd have known it was there)

That means the only area that could cause slowdown is the file saving and as I said earlier I'm not doing that in-game so it should be ok as I can easily hide it.
Logged

JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #876 on: November 13, 2009, 07:34:36 PM »

Must be nearly ready to test Wink
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #877 on: November 14, 2009, 09:25:29 AM »

Must be nearly ready to test Wink
Well we could of tested the transfer process last week, but it would have needed testing again once all the other bits were in place.

In this case I'd rather wait until it's "finished" as I'm going to have to leave my 360 on all the time so you/others can connect to it and I don't want to do that more than necessary otherwise you just know I'll get a RROD  Tongue
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #878 on: November 16, 2009, 07:43:40 PM »

Not much network code progress to report unfortunately.  My normally reliable broadband has been behaving like crap since Saturday.  The whole area seems to be effected  Tongue

I can't connect to PSN at all ,browsing the net is a pain and Live boots me off every 30 seconds.

And as running code on the 360 needs a permanent Live connection I can't test anything.  The connection only drops for a few seconds but that's enough for me to get logged out.  I'm beginning to wonder whether this was the cause of my earlier problem where my two game sessions wouldn't connect too.  It would make sense.

I can still run code on the PC though so I've been messing around with 1982 again.  It's a while since I've played it, but I still like the simple mindlessness of it all.

I just wonder whether people will expect it to use the traditional "3 life" system or whether I should stick with my preferred "energy" system?   Having energy instead of lives means I can throw a shit load more enemies and bullets at the player, but it does mean the game feels very different to the old arcade games that inspired it.  Hmm.
Logged

prince caro 19
100 XP
*
Offline Offline

Posts: 161



View Profile
« Reply #879 on: November 16, 2009, 09:36:58 PM »

that sucks about your internet,
do you know if its the service provider? or the tower or whatever?


anyway,
i personally do like your energy system,
and it seemed that was one of the favorite things of those who reviewed echoes+

but have you considered combining the two?
have a small health bar and some lives,
that way when you get hit by small annoying enemies it doesn't quite kill you,
and it still pays homage to the classic games that did have a life system.

i think something like that could be really interesting if you maintain your "some enemies drop health" system,
and incorporate the "get 5000 points and get another life" system.
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #880 on: November 16, 2009, 10:33:54 PM »

that sucks about your internet,
do you know if its the service provider? or the tower or whatever?
Yeah it's the service provider.  Their online status page, which must be really useful if your internet is off totally, lists a large area as being without broadband & digital TV so I guess I should be greatful my cable TV is still working.  The page also esimates repair time at 4 hours which I'll believe when I see it.


anyway,
i personally do like your energy system,
and it seemed that was one of the favorite things of those who reviewed echoes+
Yeah that's a fair point and it has been mentioned in the past about my previous games too.  A lot of people do seem to prefer the more forgiving energy system


but have you considered combining the two?
have a small health bar and some lives,
that way when you get hit by small annoying enemies it doesn't quite kill you,
and it still pays homage to the classic games that did have a life system.

i think something like that could be really interesting if you maintain your "some enemies drop health" system,
and incorporate the "get 5000 points and get another life" system.
Not a bad idea.  I mentioned on here a while ago that I might copy the energy system that all FPS games seem to use these days where you recover energy over time so that's another option.

I think I'll leave it as it is for now and see whether the playtesters think th energy system feels right in this type of game or whether I need to look at one of the other options. Smiley
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #881 on: November 17, 2009, 01:16:35 PM »

Well my net connection seemed to be rock solid this morning so lets see if we can get back to that network coding tonight.  Kang-a-roo!
Logged

fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #882 on: November 20, 2009, 10:39:35 PM »

Well my net connection isn't rock solid after all.  It's fine in the mornings but by early evening it drops every couple of minutes.  I wont bore you with the details.....but Virgin Media's support line is epically bad.

But enough of that.  I've ploughed on, I'm fairly happy with the data transfer now and we are ready for a bit of playtesting.
Logged

JDog053
Playtester
1000 XP
*
Offline Offline

Posts: 2421


View Profile
« Reply #883 on: November 21, 2009, 12:37:48 PM »

Yay! I'm ready when you are Fog Cheesy
Logged
fog
Zookeeper
1000 XP
*
Offline Offline

Posts: 13185



View Profile WWW Email
« Reply #884 on: November 21, 2009, 03:20:34 PM »

Yay! I'm ready when you are Fog Cheesy
Cool.  Got family staying this weekend so it will be Monday before I can get anything sorted.
Logged

Pages: 1 ... 57 58 [59] 60 61 ... 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!