Jump to content

  • Log In with Google      Sign In   
  • Create Account

lerno

Member Since 10 May 2004
Offline Last Active Dec 12 2014 06:45 AM

#5194296 Multi-path story/simulation game with anonymized multiplayer feedback - has t...

Posted by lerno on 23 November 2014 - 12:16 PM

Some background: I helped doing a remake of a mobile game called "Jamaican Discsta". That game in itself was a Drug Wars derivative.

 

Aside from the trade mechanics, there is a random event generator creating high probability events, medium, low and finally "chained" events. The possible events would vary by location and your "cool" statistic.

 

The interesting part is the "chained" events. Basically this would be an event X that had as a precondition that a previous event in the series was responded to in a particular manner.

For example, you meet a girl and have (in the first chain even) the possibility to flirt with her. If you don't, then the story ends there. If you do, then there are is a second event that may occur. If the correct choice is made, then this unlocks the possibility for a third chain event which lands you a special kind of record.

 

This was all very simple and the "one shot" random events would dominate. However, interpolating one could essentially turn most events into chain events. For example, in the third step of the chain, then the outcome of that will be affected by the outcome of another chain - one outcome if it happened but "failed", another if it "succeeded", and yet another if it never happened. By lifting conditions into "types of events" rather than particular events, the interaction between chains may display far more combinations than coded for.

 

That's the background.

 

So going past that, the idea is to allow the selection of chained events to be triggered by other players instead of randomness. A way to do this is to allow the game to run over multiple days. The actions from the previous day are then used to determine the (no longer) "random" events of your day.

 

For instance, consider an event where a criminal has gone on rampage downtown. The maffia boss will ask you to do something about it. This event will be triggered not by randomness but by one of the following possibilities:

 

a) a chain event in which another player's character goes on a rampage as result

b) a chain event in which another player's character causes someone to go on a rampage

c) another player exceeds a certain % in notoriety for their actions for the day.

d) some other player does a nefarious deed similar to going on a rampage

 

(these are just a few possibilities how to implement the feedback system - there are other ways as well)

 

In case of (a), © or (d) we can even use that particular player's character as the basis for who to beat.

 

The important thing here is that other players can generate a certain "human"-like behaviour to NPCs.

 

The question is how to make this translation from actions to feedback for other players. On one hand we could try for a 1:1 mapping: the players' actions appear directly into the games of the other players (within constraints - for example some actions might deliberately be omitted, such as A killing (in their universe) the player played by B will not translate into B dying in their own world, but the death might occur in the universes of A, C and D), or they're simply used as sort of randomness which still has a certain consistency, in that the actions of A, C and D will determine what events will be launched for B. However, those actions do not need to correspond to the actual actions of those players.




#5194017 Multi-path story/simulation game with anonymized multiplayer feedback - has t...

Posted by lerno on 21 November 2014 - 01:54 PM

I'm sketching on a game and I'm looking for some references to take a look at.

 

At the surface, it's a random adventure: you do actions, random events occur depending on action and your previous actions. Although much more formal, games like Princess Maker is also roughly in this category.

 

The original idea was basically to have a few one-shot events, but then fill the game with a lot of chained events with preconditions. So if you randomly encountered X at some previous time, then some other storyline might start if you choose A at some point, but if you never saw X, then B is the right one to launch a story. Etc etc.

 

Still, such a game (with randomized but pre-created chains of events) will end up being predictable and perhaps not very deep.

 

What I'm going for is a sort of a pen-and-paper RPG feeling, where it's more the journey and the story of your character that counts. I also want the different possible paths to be widely different.

 

Anyway, an idea is to incorporate multiplayer. I'm not a big fan of internet based multiplayer: it's difficult to sync people up and most people act as a******s online. In most cases all you get in a multiplayer game is the ability to perhaps challenge others and compete in ranks. Which is fairly boring.

 

My take on this is therefore a bit different. What about letting other people work as anonymized feedback generators to each other's stories. That is, not only does your actions count, but the [anonymized] actions of other people playing the game will be used as feedback to generate events in your particular "universe". The worlds of the players are both independent and coupled. There is no direct "action" between the worlds - if A kills the big boss in his instance, B won't automatically see that the boss was killed in her world. On the other hand, A's slaying of the boss might trigger a different event that cause this boss to disappear in the near future in B's world etc.

 

This is all very loosely thought out yet, and I'm very curious if anyone knows of games that actually works this way.




#5081009 UDP protocol to minimize latency?

Posted by lerno on 27 July 2013 - 02:16 PM

This is sort of a follow-up to this question: http://www.gamedev.net/topic/645872-responsive-mobile-multiplayer-udp-or-tcp/

 

Experimental results

 

After a lot of testing I managed to determine that the bad 3G latency times I initially got for UDP on my phone was due to the phone saving power.

 

In particular, I was seeing roundtrips of 2000 ms for UDP over 3G when sending 1 message every 2 seconds. When I instead sent a new message within 50 ms of receiving the return message, that number would dive to a steady 80 ms, with occasional hiccups of 400 ms.

 

TCP got around 120-200 ms with the same setup, but when it encountered packet loss, the roundtrip would hit 2000-4000 ms!

 

This verifies that there are indeed serious stuttering with TCP that would be extremely hard to cover with animations.

 

Looking for a good reliable UDP protocol

 

I've been looking at various existing libraries. Most of them are way too high level - I prefer to write all the serialization myself thank you.

 

But even for products like ENet, it looks like the strategy is to push a TCP-like reliable layer on top of UDP and I don't think I want that.

 

What about something like thie?

 

I remember reading about one of those early Lucasart space combat games (X-wing vs Tie-fighter?), that they used an extremely simple scheme - basically sending the packet n together with packet n + 1, so that only on two consequent packet losses would there actually be a packet loss.

 

Our particular game doesn't have much action. In fact, as I've described in the other posting, it's about 80 packets sent per player total.

 

In order to keep the phone awake though, one would have to send pings, and send pings often.

 

Assuming we send pings every 100 ms we could imagine simply piggy bagging un-ack:ed messages until they're acked, it could look something like this:

 

1. Client sends action request with message n

2. Client sends ping with message n + 1, and adds message n

3. Client sends ping with message n + 2, and adds ping n + 1, message n

4. Client receives pong from server, ack-ing up to n + 1

5. Client sends ping with message n + 3, and adds ping n + 2

 

etc.

 

We could then prune old pings from the resends, so we only send resend actions, and vice versa for the server obviously.

 

This looks like it could be much faster in recovering from latency than any resend mechanism that relies on requesting missing packets, like TCP does.

 

The biggest worry I have is that I'd move from TCP with very conservative bandwidth-requirements to something which constantly bombards the server with packets.




#4959947 The case against non-topdown strategy games?

Posted by lerno on 17 July 2012 - 04:12 AM

I was thinking of having a novel perspective for the world map in our upcoming strategy/MMO, with the perspective ending up very close to this:

1033224423-00.gif

From prototyping, the tiles would end up twice as wide as they were high. Then I read this article which mentioned Civ 4 opting for a 3D top-down style map because the isometric map of Civ 2 was considered more difficult for the user to determine distances.

I realized the same problem would apply to our game if we stuck to this perspective.

Now question is: how serious is this problem? I expect the current perspective will be more atmospheric, but if it's too hard to understand we should scrap it as soon as possible. Has anyone done a more thorough analysis of this? Perhaps someone could guide me to some other articles?

Is top down the best (and only) choice here?


PARTNERS