Tag Info

New answers tagged

0

You want the server doing lag compensation because that's its job. In a multiplayer environment, the client is in charge of graphics, and movement lag compensation (smoothness of movement). The server is in charge of physics, computations between players and objects, as well as lag compensation(assurance of accuracy). In the end, the server still has to ...


1

Just save the changes as the user plays? Am I missing something here? Either instantly (faster as you aren't saving the whole game at once, but the data adds up) or just regularly enough that you only lose a couple of minutes worth of data at a time (slower, as you have to save the entire game regularly, but uses less space) Or best-case, combine both - ...


2

Yes, the standard approach is to have some kind of plugin API. The details of this approach will vary based mainly on the implementation of your overall toolset and the needs of your game and its tools. What you've described here is a reasonable first start at a plugin system for your own tools. It sounds like it works for you, so you should keep exploring ...


0

If you are starting to develop your adventure game, you probably have a great story, graphics, music... Sometimes it may be a good idea to try some free engines and editors just to get an idea how they work - and use them as an inspiration. Or use them for your project, of course. I mean for example something like GameStylus, which is a specialized on-line ...


0

Your question is reversed... Historically speaking, the more pertinent question is: Why is construction + intialisation conflated, i.e. why don't we do these steps separately? Surely this goes against SoC? For C++, RAII's intent is that resource acquisition and release be tied directly to object lifetime, in the hopes that this will assure resource ...


0

In my experience with AI planning, copying the state was indeed very slow and your suggested idea (maintaining a single copy of the state and undoing the actions when you go "up the tree") worked much better. But that really depends on the size of your state and language you use: in C++ you could probably use custom allocators to fit the whole state into a ...


1

The typical ECS way to handle this is to abstract a level in your systems layering. Your design looks something like this: render <--> transform <--> physics | / | / gameplay logic Anything that needs to know where entities are at will pull that information from the transform ...


11

is it worthwhile to have a separate process that listens for connections and messages from clients and sends the data via local sockets or stdin to another process that runs the actual game server? To answer whether it is worthwhile, you had to first ask yourself, what is the problem you are trying to solve by adding a dedicated queuing service. If it ...


15

From an API design perspective, when deciding whether to make multiple separate communicating programs or just one, the question is: can each program function meaningfully without the others? The answer will vary based on your project and preferences. If they can't, it's not worth thinking about. Clearly they're so heavily linked that they're not really ...


4

I agree with ratchet freak. As long as you have a single gameserver, it's not worth the trouble. However, this architecture might prove useful when you need to scale up horizontally. When one gameserver is no longer enough and you need to distribute your game on multiple gameservers for performance reasons, the "socket server" architecture could very easily ...


3

It probably isn't, most languages has asynchronous sockets that allow you to use multiple connections at a time without blocking while data is waiting. This shifts the "socket server" part to the OS/kernel. With an explicit socket server you will incur the cost of a few extra copies as you pass the data through the local socket; one thing that will kill ...


1

If you only have a single SDL_Renderer, it should be managed outside of the ECS code and just passed to the rendering system when you call it to render the visual data for each entity. In this way it's like you are associating your single SDL_Renderer with all renderable entities. If for some reason you had multiple, differently configured SDL_Renderer ...


7

I'll try to answer to the best of my knowledge, with little knowledge about the specific case of UE4, but rather on the general technique. Graph based materials are as much programming as writing the code yourself. It just doesn't feel like it for people with no background on code, making it seemingly easier. So, when a designer links a "Add" node, he is ...


1

It's primarily a technical issue that most companies won't use pure vector art in their games. I know many artists who make their creations in Flash or Illustrator, only to pump out a rasterized image that gets slapped on a polygon sprite. It's just a technical hurdle that most large companies aren't too keen on trying to figure out. Below is an example ...


2

You can calculate snapshot delta (changes to its previous synced state) by keeping two snapshots instances: current one and last synced one. When client input arrives you modify current snapshot. Then when it's time to send delta to clients, you calculate last synced snapshot with current one field-by-field (recursively) and calculate and serialise delta. ...


0

A lot of people use these programs to search for a score stored in a variable e.g int score = 10; to do this they need to know the score, ususaly from the score displayed in game. I was thinking, would this help put them off... public static float randomVal; // at start of level generate random float private float 1a3sf5vhh4; //represents score void ...


1

What I've found more useful in Unity is to really take advantage of editor, and realise the fact that you're working towards a solution that is drag and drop able rather than flexible in code. An enemy movement in Unity could be represented by a single method, but I believe it would be much better, and much more to the style of Unity to have separate ...


1

I'm having difficulty because cells can have behaviour. They can be just a tile with no behaviour; a portal which sends the player somewhere (snake or a ladder); an exit, which has no behaviour but must be coupled with an entrance for rendering purposes (so the player would know what entrance the exit belongs to). But my instinct tells ...


-1

It's best to do all of this in the GPU using the World and View matrices, not by modifying where you draw the objects on the CPU. That way, you can change the camera arbitrarily (even zoom it in and out!) and it will just magically work. You can still do view culling as well to save on draw time. And none of your code for drawing the world will have to ...



Top 50 recent answers are included