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.

Topics - Dechcaudron

Pages: [1]
Bugs & Issues / Non demo generation generates "bad" files
« on: September 29, 2014, 04:12:19 PM »
Hi there,

just downloaded the new API and assets. On from-scratch, only server files generation, the csProject file also seems to be looking for links to files that do not exist. I assume they are scripts shared by both the server and local side of the demo game. Also, I get a couple broken references more:

As you can see, Npgsql.pdb (which I've no idea what it is) and the base gameCore are both broken references. Leaving aside the pdb file, if the GameCore is broken many of us find it a bit harder to start working with the API. I suggest you amend this ASAP.

The "Run the server" section is completely outdated. References seem to be automatically linked now and things can get a bit confusing for newbies. Update required.

Just leaving this here my friends, have a look at it when you have the time :)

Feature Suggestions / Basic structs / classes as IGameCommand
« on: July 26, 2014, 06:14:23 PM »
Hey there guys,

I've noticed you included a Vector3_PE class which implements IGameCommand and it works as expected (no idea what PE stands for, though). The thing is, I personally find some other basic structs missing and although I've implemented them personally, I feel like it would be a nice thing to have other Vector types (I don't know if you could make them work with a generic number type. I haven't been able to do it myself easily and I can't afford to 'lose' the time to do it) so they work with byte, int16, int32, instead of only with float, so as to minimize as much as possible the network traffic.

Keep up the great work!

General Discussion / Connections get dropped
« on: July 19, 2014, 06:02:54 PM »
Hello GCC,

while running some testing of new features we are implementing, my colleague and I ran into the following issue: once the second of us connects to the game, both connections get dropped. This makes very little sense, and I will proceed to describe the issue with more detail:

A week ago, we implemented a feature in which local apps sent the server a request to create a voxel in space and, if the request passed the requirements, it was forwarded to all the players (including the one who sent the request) so Unity would instantiate that voxel. So far so good.

Today, we were testing character movement in space. One of us can connect to the server and move around, and the server keeps track of the player. But when the second of us connects, the last connection or even both get dropped, (err=Connection lost). I did a bit of research in Program.cs and apparently the sockets are being closed when the second player connects to the server. We go back to the previous version and everything works fine (the three of us can connect), but in this last version it simply drops the connections for no apparent reason.

Any idea why this could be happening? Thanks a lot beforehand,

General Discussion / About BEPU for Unity
« on: July 10, 2014, 09:20:44 AM »

I'm currently integrating BEPUphysics, and although it raises no issues in the server side, Unity cannot compile the last version of the libraries (v1.3), raising an exception that says it can't load the type GuidAttribute. I am assuming this version of the library was compiled in .NET 4.5 and Unity runs on .NET 3.5. Since in the BEPU project webpage it does not mention in which NET version those libraries were compiled, I'd be very thankful if you could tell me which version you used to run the performance tests.

Thanks beforehand!

General Discussion / Static GameCore
« on: July 07, 2014, 09:48:40 AM »
Hello again my friends,

I really know there is a war out there against people who tend to use static classes and members, but do we really need the GameCore class to be an instance class? I've read over there that static classes generally have better performance when calling their methods since the CLR does not have to solve the instance function, and since Update is called pretty often, I don't know why that couldn't be optimized.

Also, if the answer is negative, would it be ok if I kept a static GameCore member inside GameCore so that my other classes could reference it without keeping a reference to it each? I need it because some of them need to call the ExecuteDbCommand sometimes.

Sincerely yours,

Feature Suggestions / SendToMultiplePlayers List argument
« on: July 07, 2014, 09:44:40 AM »

wouldn't it be better if you guys changed this List argument to IEnumerable? That would allow us to directly pass arrays or dictionaries as well without having to convert them.

Thanks beforehand :)

General Discussion / Custom player class
« on: July 06, 2014, 09:27:03 PM »
Hey GCC,

are we able to extend the player class? I mean, I already have an extension of this class stored in a different table from players, but I have to manage all the dictionaries that keep track of the online players and everything manually. Program.cs could work with a different player class, but since that script is given by your server, changing it myself would be useless.


General Discussion / The isBig parameter
« on: July 01, 2014, 10:37:16 AM »
Hi there GCC,

I've been wondering for a long time what the isBig argument in the SendToPlayer(s) methods is for. If specified true, do you run a compression-decompression algorithm for the sent data?

Thanks beforehand!

General Discussion / About playersAll and playersOnline
« on: June 16, 2014, 06:19:42 PM »
Hi again GCC!

Hope you guys are doing awesome, as always. The thing is, I want not only to extend your defined Player class, but also to store that information in the DB and load it onto memory. I created a new table in the DB with the id and username columns shared with the players table, but also adding columns for the info I need to store as well. Every time the server starts, it stores into a dictionary called all_mygame_players all the players defined in that table, and every time a player gets online,  stores into online_mygame_players the player that just got online. So far so good. The problem comes when a new user registers: is there a way to trigger registration events? That way I'd know when to launch a query to the database to load a new player into all_mygame_players without relaunching the server.

Also, I am aware having two separate tables for the same players, one defined by you guys, and other by me, might not be the best way to deal with things. Is there any way I can extend the functionality of the automatic registration handler? Adding custom columns to the player table would not do it, since your automatic system, I assume, simply loads from the server id, password and username of the players into Player instances, so I would have to perform a query again to the DB to get the additional info into PlayerExtension instances, which thing would present the same problem upon new registrations: no updates.

Can you help me on this? Thanks beforehand!  :D

Feature Suggestions / Positive numbers!
« on: June 08, 2014, 11:25:56 PM »
Hey GCC,

it might be me, but when dealing with numerical references, such as the playerID or a short context, I think we all prefer positive numbers. Have you thought about moving from short to ushort and from int to uint? Especially with the contexts, developers would love to know that you guys keep the first 200 numbers for your custom network commands, then the rest up to the limit is ours. It just feels weird to deal with negative numbers like that.

Happy new week,


since me and my team use version control to manage our project, it is quite difficult to share a posgresql common structure since they are saved in a separate address in our computers. Are we able to connect to the online db? I can't seem to do it.

Thanks beforehand,

General Discussion / Doubt about derived classes Serialization
« on: June 03, 2014, 06:22:48 PM »
Hi there GCC,

So I was playing around with your code and came up with the following question:
When you send an object that derives from the Continental.player class, which explicitly hides the player's Serialize and Deserialize methods with new ones that don't necessarily write or read the username and password player's properties, we find those variables are still serialized-deserialized. I have tried the same for classes derived from a base IGameCommand that define new Serialize and Deserialize methods, and they behave the same way.

I know you don't have to answer this, but I'm genuinely curious about how you can call a method implemented as new by all the derived classes from the bottom class up to all its base classes. Anyone willing to enlighten me?

Thanks a lot :)

Feature Suggestions / New Game Files generator
« on: May 28, 2014, 07:26:57 PM »

So, every time I want to start a new project, I have to start with the demo project you have, then delete pretty much everything and then I start to make my project. How about your prepare a new files generator that just creates a blank Yemulator solution (i.e., without any of the game specific code, just declaring public overloaded functions that you have in the demo) and nothing else. This would really ease our job.

Thanks beforehand,

General Discussion / How do I bind shared code to Yemulator?
« on: May 17, 2014, 05:51:06 PM »
Hey there,

So, on being created, the Yemulator project has some MyGame*.cs scripts attached which belong eventually to GameCore folder inside of Unity project. I assume that is what you call Shared Code. How can I make new scripts that I create inside of that GameCore folder be attached the same way to Yemulator? It does not seem to happen automatically :(

Thanks beforehand!

Feature Suggestions / Improve the documentation please!
« on: May 14, 2014, 04:32:59 PM »
Ok guys,

so I'm currently surfing the example GCC project, helping myself with the API Documentation. Developers really need something a bit more complete (something would be a good place to start). I know this isn't probably your top priority, but we need to know what everything does in the inside. I'm used to having the C# reference, as well as the UnityEngine API script reference, and well... I really hope you are working on it. Yet, I do understand what open alpha means, so I'll keep on doing my best to understand what everything is.

Keep it up!

Pages: [1]