[tetrinext] Re: Network protocols
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
> > Have the server check each move... if it's invalid, simply discard it.
>
> How do you propose to do that?
>
> I've been thinking about this (before I sent my first message) and I've
> come up with the idea of an 'action stream'. An 'action stream' consists
> of actions that can be performed on a field.
>
> There should not exist streams that are both legal and impossible to
> produce without cheating.
>
> The 'action stream' consists of 'actions'. This actions include:
>
> move block left/right
> move block down
> drop + solidify block (this is a single 'action')
> special block usage
>
> (probably some others that I've left out)
>
> Instead of field updates, the action stream is sent to the server. The
> same action stream is fed to the field in the client program of the
> player.
Makes sense up to this point, but i'm confused. Do you mean that the client
depends on what the server sends in the "action stream" and the server depends
on
the "action stream" being sent from the client to decide what to send to the
client? This would be wrong if you're talking about updating your own field
(i.e.
pressing a key and waiting a second for you field to show the move).
what I assume you mean is that the server sends the same action stream to the
client to update _opponents' fields_. This makes sense, although there are
probably some that don't have to be sent, like block moves, in order to conserve
bandwidth.
clarifty.
this is definitely a good idea.
--
Jared Johnson
solomon@xxxxxxxxxxxxx
Mind your own business, then you don't mind mine.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/C d+(-)>-- s:+ a18 C++++$ UL++++>$ P+>++++ L+++ E--- W+ N+ o? K- w--- !O
M-- V-- !PS !PE Y PGP- t+ 5-- X R-- tv- b+ DI>+ !D G e>++(>+++) h-- r* y-(+++)
------END GEEK CODE BLOCK------
- [tetrinext] Re: Network protocols,
Jared Johnson <=
|
|