In today’s article we’re going to discuss how to detect a server shut down, be it intentional or unexpected, and what tools can we use to exit cleanly without loosing precious data.
Packet loss is a potential issue for multiplayer games and recognizing it earlier rather than later can be very helpful in making your game more enjoyable, especially for players with sub-optimal connections. In this article we’re going to explore the different types of packet loss, how to identify the issue and how to solve it when it appears. Continue reading
In this article we’re going to discuss an alternative way to implement custom serialization for classes that are needed from both client and server side to implement our game logic.
Approximately 15 years ago, in 2004, we released our first commercial version of SmartFoxServer, called SmartFoxServer Basic.
It was the fruit of our previous experience with SmartFoxServer Lite, a free multiplayer server launched one year before on gotoandplay.it, one of the top Flash developer communities of the time.
Fifteen years might not seem much, but in technological terms it feels like ages ago, when things that we give for granted such as Youtube, Instagram or the iPhone didn’t even exist.
In this blog post we’re going to take a look back at evolution of SmartFoxServer since its early days and the many changes and incredible growth of multiplayer gaming in the past 10+ years.
In this article we’re going to take a quick tour of the fundamental changes that Java releases 9 through 11 have introduced, their implications for development, deployment and how SmartFoxServer 2X will move forward in relation to the new and faster cycles of Java releases.
In part one of this article series we took a bird’s eye look at various client-server strategies for action multiplayer games. We then highlighted the advantages of running an hybrid solution with SmartFoxServer 2X and Unity on the server side to combine the best of both worlds.
In this second part we’ll be looking at the details of implementing such a solution, the potential difficulties and how to overcome them.
Realtime multiplayer games have been around for over four decades, even though their popularity is a much more recent phenomenon, and they remain one of the trickiest type of games to develop. Delivering a smooth and responsive action for the players while hiding the latency and limitations of the network is still a major source of coding pain.
Also many games heavily rely on physics to add extra realism and interesting mechanics which in turn adds more complexity to make sure that all players are accurately in synch with each other.
With the emergence of powerful 3D engines such as Unreal and Unity these complex features have been integrated with the visual and rendering systems, hiding the intricacies of physics simulations and networking, and making it more accessible to all developers.
In this article we’re going to take a deep look at the available solutions for multiplayer action games, explore different architectures and examine the multiplayer side of engines such as Unity.
For each method we’ll discuss the pros and cons and finally we’ll propose an integration with SmartFoxServer 2X that we think provides the best of both worlds. Continue reading
We have a strategy game for which we built native client apps in Android, iOS and HTML5. We are also exposing the client functionality as a rest api for apps to be built for Amazon Alexa and Google Assistant. That rest api is being built on Node.js and we want to consume the same services hosted on SFS2X, so that we can manage all the platforms from the same server base and provide unified experience.
With the release of patch 2.13.1 SmartFoxServer 2X adds support for lambda expressions in Java Extensions. Also we have added support for this new JDK 8 feature in the Java client API, starting from release 1.7.1
If you’re not familiar with lambda expressions we highly recommend to take a look at our introductory article where we illustrate the basics and show how to integrate the feature in your server side code.
In this new article we will focus on the client side of things but, before getting started, make sure you are already using the JDK 8 (or later) and the SFS2X Java API 1.7.1 (or higher) Continue reading
With the release of patch 2.13.1 SmartFoxServer 2X adds support for functional Java and lambdas in server side Extensions. In this article we’re going to take a closer look at how we can use lambdas in our server side code. Continue reading