Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - AMarinov

Pages: [1] 2
1
General Discussion / Re: Connections get dropped
« on: July 22, 2014, 08:32:05 AM »
Hi Dechcaudron,

Yes, we are aware of this problem and it will be fixed in the next version.

Regards,
Atanas

2
General Discussion / Re: About BEPU for Unity
« on: July 10, 2014, 11:38:37 AM »
Hi Dechaudron,

Yes, the downloadable version of it is compiled on windows for .net 4.0 so it have issues with Unity, but it is also available as a source code.
I just downloaded and compiled it on Xamarin for Mono and it works in Unity.
I attached the Mono compiled dlls. to this post.

Regards,
Atanas

3
General Discussion / Re: Custom player class
« on: July 07, 2014, 01:04:16 PM »
Hi Dechcaudron,

You can inherit from the Player class, but the management is up to you.
Recommended approach would be to have your own collections of custom player classes, and update them accordingly to the player Connected/Disconnected events.

Regards,
Atanas


4
General Discussion / Re: Static GameCore
« on: July 07, 2014, 11:55:50 AM »
Hi Dechcaudron,

The GameCore implementation must inherit from an abstract base class, so static is not appropriate, besides, we may want to run several instances of a single game core at some stage, which also goes against the static approach.
As for the static reference pointing to the current GameCore instance, yes, you could do that.

Regards,
Atanas

5
Feature Suggestions / Re: SendToMultiplePlayers List argument
« on: July 07, 2014, 11:24:25 AM »
Hi Dechauldron,

IEnumerable is not very appropriate for our needs, but ICollection should do fine, we will consider to implement this change in the next version.

Regards,
Atanas


6
General Discussion / Re: The isBig parameter
« on: July 01, 2014, 02:57:22 PM »
Most probably the threshold will be 4Kb

Regards,
Atanas

7
General Discussion / Re: The isBig parameter
« on: July 01, 2014, 02:00:40 PM »
Hi Dechaudron,

The isBig parameter is used to indicate that message is larger than the maximum allowed size for a regular message, thus instructing the communication system to send it with lower priority. It was not a great idea, and it will be removed in the next version, since the size of message can be evaluated automatically and manual parameter is not needed and only makes the messaging methods calls more complex than necessary. The "small" and "big" messages will be covered in more details in documentation, for now just have in mind that due to our aim to provide optimal communication speed, the "big" messages will be processed intentionally slower than the regular ones.
As for the compression, yes, it is needed and it will be a transparent part of the communication.

Regards,
Atanas

8
General Discussion / Re: About playersAll and playersOnline
« on: June 17, 2014, 11:34:00 AM »
Hi Dechcaudron,
Yes, at this stage you can check for new registrations inside the PlayerConnected event handler.
There definitely will be more events related to players data, and a more generic and flexible approach to extending player information.

Regards,
Atanas

9
Hi, Dechcaudron

There was a misunderstanding about the last question.
At this time, we do not allow databases to be accessed from internet.
We are considering for the future to allow a direct connection to your game databases, however, it will be limited, due to security precautions and it is definitely not an option to be used by multiple users for a shared database.
For your development needs you should setup your own database server accessible by all users of your team.
You could contact us by email for assistance in setting up such a server, we will advice what would be the best option for you depending on your network infrastructure and available hardware.

Regards,
Atanas

10
Feature Suggestions / Re: Positive numbers!
« on: June 09, 2014, 12:07:43 PM »
Hi Dechcaudron,

Yes, you are perfectly right about those.
In the next version the serialization command code will be ushort, and playerID will be uint.

Best regards,
Atanas

11
Feature Suggestions / Re: New Game Files generator
« on: June 04, 2014, 10:09:02 AM »
Yes you can use it.
As for the structure and folder names, you are right, we are already considering the improvements to that in the next release.

12
General Discussion / Re: Doubt about derived classes Serialization
« on: June 04, 2014, 09:56:52 AM »
Hi Dechcaudron,

It uses some reflection tricks to achieve this, therefore it does not care if you hide serialization methods in the inheriting class or not, it makes sure all the info is serialized properly.
The idea is that when you inherit a class you would still want to use properties of its base class, otherwise you would just write a new one. What is serialized and what is not is decided in the object implementation of the serialization, depending on the command code it gets, so if you want a specific parts to be sent over network, use a specific command code for the case. Example:
lets say you have a Person class with properties Name and Age, and supporting only one serialization command FULL_INFO=2000
then you have a new class, Student inheriting from Person, and having a single additional property GraduationYear.
if you would like to serialize only the GraduationYear of the Student, it must make use of a command which the Person will ignore on serialization, a command different from the FULL_INFO, lets call it STUDENT_INFO=2001 - this way when you serialize/deserialize Student with code STUDENT_INFO - it will have only the GraduationYear set, Name and Age will be empty.

Regards,
Atanas

13
Feature Suggestions / Re: Improve the documentation please!
« on: June 04, 2014, 08:53:39 AM »
Hi Dechcaudron,

About the SerializationManager - it can do what it does by saving additional information about the type it serializes, so when it reads it back, it first reads the type, and then creates and deserializes the according object.

As for the storage part, the idea for saving versions of the objects looks good at first sight, but it also means that you will have to implement separate serialization/deserialization logic for each next version of the object you are going to save, along with the version itself for each such object. This is an unnecessary overhead, so I would recommend you to not use the binary serialization for your case (saving complex object as a single columns in a database) . Use JSON instead, it is generic and human readable. I recommend this library:
https://fastjson.codeplex.com/   - you can get its source code and use it in your game directly.

Regards,
Atanas

14
Feature Suggestions / Re: Improve the documentation please!
« on: June 03, 2014, 04:31:15 PM »
Hi,

You coulld see the difference just by looking at the methods.
SerializationManager is used to serve serialization and deserialization of multiple objects. It assures that when you send an object from client, the same object and content will be received on the server, in order to achieve this it adds some additional information to the stream.
So, when you call SerializationManager.Deserialize() you will receive an instance of the object you have serialized, loaded with data.
if you deserialize using IGameCommand.Deserialize implementation of specific object, you should create it first, and then call its Deserialize() method to load it with data - and for this you must know in advance what object has been serialized, and its command code.
If that is the case, I would suggest using the second approach - use the IGameCommand methods.
Please note that our serialization logic is entirely oriented toward fast client/server communication, not on storage.
If you alter Serialize/Deserialize implementation of an object and then try to load an old version of this object from database, it will not work.
In general, I would not recommend storing complex objects in binary format unless you are absolutely sure that their structure will never be changed, or you have no problem to loose the content in case of structural change.



15
Bugs & Issues / Re: Game Cloud Emulator Bugs
« on: May 30, 2014, 02:06:50 PM »
The encoding of BinaryWriter and BinaryReader is UTF-8 by default.
Please provide us a sample project reproducing this problem so we could investigate.
You can e-mail it to me directly.

Pages: [1] 2