Author Topic: SuperMarioWar crossplatform port  (Read 4138 times)

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #15 on: March 29, 2015, 12:01:59 PM »
*Web Player Build added

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #16 on: April 11, 2015, 10:35:30 PM »
Update 12.04.2015 (_Alpha0.687)

new Features / Changes:

* Players can join running Gamesessions
* Teamcolor choosable
* Character Preview of the current selected Character in Character Selection Menu
* New Characters
* Server can click on his StatsSlot in GameScene and let a Simple AI control his Character
  -> Just For Fun: witht two Browser Tabs you can play against the AI

playable @ http://sepehran.de/smw
« Last Edit: April 11, 2015, 10:40:54 PM by rahn »

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #17 on: April 12, 2015, 06:37:26 PM »
Update 13.04.2015 (_Alpha0.701)

Changes:

[GameScene]
* UI Stats Slot uses Teamcolor

[CharacterSelectionScene]
* Character Preview shows Playername

[CharacterSelectionScene & GameScene]
* Players can join running Gamesessions (no unnecessary Messages are Buffered -> less CPU using for color-changing on LateJoin)

[Connection Lobby]
* Added Port InputField
* Port, Servername aka Username are persistent stored (after closing game and loading up data is still present)

Fixes
[GameScene]
* hopefully playerDictionary <-> UI Stats Slot informations share the same source (ref Player player)


as always playable @ http://sepehran.de/smw
have fun.

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #18 on: April 12, 2015, 10:33:16 PM »
Update 13.04.2015 04:32 -> (_Alpha0.706 [game still shows 0.701])

Fixes:

[CharacterSelectionScene & GameScene]
* GameController has now same NetworkView.viewId = 1 !
LateJoin Player can send MyAdditionalInfo from CharacterSelction Scene to Server (in GameScene)

[CharacterSelectionScene & GameScene]
* Players can join running Gamesessions +++ (Updates StatsSlots with Other Client Informations)

Bugs:
*LateJoin receives HeadJumps, need to be changed!
-> OnClientConnect [if Server is in GameScene -> SendAllCurrentStats -> new Client ++ Set newPlayers Lifes equal to lowest lifes of current players]

as always: playable @ http://sepehran.de/smw
have fun.

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #19 on: April 14, 2015, 05:42:34 AM »
Update 14.04.2015 -> (_Alpha0.711)

Tweaks:

Vector3.z always 0.0f (2D)

Build < 700: 4Byte+1Byte+3*4Byte = 17 Bytes
Code: [Select]
[RPC]
void ProcessInput( float recvedInputHorizontal, bool recvedInputJump, Vector3 recvedPosition, NetworkMessageInfo info )

Build 707: 1Byte+1Byte+1Byte+4Byte+4Byte = 11 Bytes
Code: [Select]
[RPC]
void ProcessInput( bool recvedLeft, bool recvedRight, bool recvedInputJump, float recvedPositionX, float recvedPositionY, NetworkMessageInfo info )

Build 711: 1Byte+4Byte+4Byte = 9 Bytes
Code: [Select]
[RPC]
void ProcessInput( byte[] inputByteArray, float recvedPositionX, float recvedPositionY, NetworkMessageInfo info )
* Build 711 uses 1 Byte (ByteArray with size 1)
 Bit 0 -> left
 Bit 1 -> right
 Bit 2 -> jump
 Bit 3 -> power

Changes:
* Keyboard input is now RAW, no smoothing. ThreeStateInput [-1,0,1]

ToDo:
* RPC (reliable -> unreliable)
* recvedPositionX (4Byte) & recvedPositionY (4Byte) -> (2 Byte)
Quote
PosX = [-22;+22]
PosY = [-16;+16]
1 Byte = 255 posibilities
V1
PrecisionX = 22/255;
PrecisionY = 16/255;
V2
PrecisionX = abs( 11 )/128; -> 1 Bit = sign
PrecisionY = abs( 8 )/128; -> 1 Bit = sign
Code: [Select]
recvedPositionByteX = (byte) Mathf.FloorToInt(recvedPositionX/255);
recvedPositionByteY = (byte) Mathf.FloorToInt(recvedPositionY/255);



as always: playable @ http://sepehran.de/smw
have fun.
« Last Edit: April 14, 2015, 05:54:01 AM by rahn »