Engine-design related questions. How code is structured.

learn more… | top users | synonyms (2)

7
votes
2answers
853 views

Why do tutorials use different approaches to OpenGL rendering?

http://www.sdltutorials.com/sdl-opengl-tutorial-basics http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/ These two tutorials use completely different approaches to ...
1
vote
1answer
32 views

How do I let a MUD engine support different rule sets?

I'm making a MUD game engine that supports D&D , Pathfinder and other tabletop-RPG rule sets. I am starting to build out how characters interact with the world (e.g. dialog, battle, searching for ...
0
votes
1answer
27 views

Application components dependancy and decoupling

In my client application I have two major components: GameCore - wrapper that handles everything about running the actual game NetworkClient - A layer that takes care of ...
0
votes
1answer
42 views

Client/Server best way of telling client which player it is

I'm making a client/server, everything works grand its very simple, a simple login system, ID, empty variable and the X and Y positions of the player. Should my server tell my client who it is? and ...
0
votes
2answers
86 views

Do I really need a render() method in the game loop if the view subscribes to the models?

For a game that I'm working on, we've followed the MVC paradigm. However, in classic MVC, the view subscribes to the model and when the model updates it informs the view. We've implemented this as an ...
0
votes
1answer
143 views

Organising data of a turn-based strategy

I'm intermediate in Java but novice in everything which is on the server-side. I've set myself a task to rewrite an old game, so learning Java is more fun. It is a space turn-based strategy. The ...
0
votes
1answer
48 views

In lockstep networking game, how to handle sudden lags and disconnection?

I am trying to implement a game similar to "Street Fighter" by using lockstep networking model so that two players can play remotely via Internet. I have read a lot of articles about lockstep ...
2
votes
3answers
191 views

How do you filter entities in an Entitiy Component System?

I am currently writing my own ECS in C++ and I am using std::bitset. I register a component at compile time and give it an ID. Position has ID 1 Direction has ID 2 .. ...
3
votes
3answers
140 views

Decoupling AI from game logic

Imagine a game with different types of characters or "actors" which can perform actions like walking and shooting. They are implemented using the state pattern to reduce the amount of coupling: each ...
6
votes
2answers
145 views

Decoupling assets, instances and the rendering module [closed]

I am trying to redesign a home-grown hobby engine. It became apparent that it was far too tightly coupled and so I'm trying to redesign it in a more modular way. Unfortunately, I'm baffled by the ...
0
votes
0answers
49 views

Is there such thing as a design pattern for game character attributes? [duplicate]

I'm toying with the idea of a character based game. The characters, robots, monsters, heroes (and weapons I suppose) will all have various attributes as per a D&D game for example. They player ...
2
votes
3answers
109 views

Is this a viable architecture for lag compensation?

In some games/engines (such as Source), the server compensates for latency by applying player inputs in the past. Whenever the server receives a player's input for a frame, it rewinds the game to the ...
0
votes
1answer
72 views

How to create sandbox game [closed]

I have a lot of experience with programming but I'm new in game development world, so I don't know what I don't know. I want to create a MMORPG sandbox game. When I say sandbox game I have something ...
0
votes
1answer
92 views

Render system should know entity manager?

in an ecs based game architecture, I think the entity manager is a "high-level" system, and the render system a "low-level" system. When I move my entity (that means I edit the position component of ...
14
votes
4answers
2k views

Should a socket server and game server be separate processes?

Assume a simple standard client/server game. For the server, is it worthwhile to have a separate process that listens for connections and messages from clients and sends the data via local sockets or ...
1
vote
1answer
65 views

Where should I put the SDL_Renderer* using the ECS with SDL2 and C++?

So I'm still learning about ECS (Entity Component System) and whenever I'm thinking about the architecture and actual implementation, I just can't figure out where should I put the SDL_Renderer*. So ...
8
votes
1answer
279 views

Implementing a Graph-Based Material System?

I'm trying to wrap my head around how material systems like this, this are implemented. These powerful and user-friendly, graph-like systems seem to be relatively common as a method of allowing ...
2
votes
1answer
135 views

Modular enemy behaviour in a shmup - Delegates unsuitable?

I'm creating a shmup type game and trying to implement the enemy wave system, which includes the associated enemy behaviours like their movement and bullet patterns. I've tried to separate the ...
0
votes
1answer
94 views

Modeling object oriented snakes and ladders

I'm trying to create a basic clone of Snakes and Ladders using object oriented design. I'm struggling to model my objects and their relationships. For the time being I'm interested in moving players ...
9
votes
2answers
208 views

How would a game-state snapshot system be implemented for networked real-time games?

I want to create a simple client-server real-time multiplayer game as a project for my networking class. I've read a lot about real-time multiplayer network models and I understand the relationships ...
1
vote
2answers
84 views

Implementing monte-carlo tree search in a tile based game with units

I have this simple risk-like game I would like to develop an AI for. Players move their Units on the map and a simple fight resolution is done. There is a time constraint of 100ms for each round, the ...
0
votes
2answers
95 views

How to hit an enemy, or “how do entities interact with each other?”

The title might be a tad simple for the purpose, but bear with me. I'm a tad lost about how to do the interaction between game objects. I use an entity-component-system framework and I've got the ...
0
votes
1answer
42 views

Class design for a risk-like game [closed]

I'm currently coding a AI for a risk-like game, but I'm not sure how I put even the base classes together. I've read a lot about game design patterns, entity component designs and such, but I've ...
0
votes
0answers
34 views

How can I trick or see how the source engine knows if the process is in focus or not.

The source engine does not support split screen so I am trying to run two borderless windows side by side but the source engine automatically limits the cpu utilization of any window not in focus. Any ...
0
votes
4answers
251 views

Entity Component Architecture and Scripting without using threads

I am working on a small game engine for practicing purpose and also for putting some of my ideas into action. What I have so far is a couple of systems for rendering, sound etc. The next step is to ...
1
vote
1answer
61 views

How can I stop explodable objects from creating new ones during cleanup?

I have a problem with the handling of explosions in my game. Currently, I have an entity create an explosion when it is destroyed (in the destructor). The issue with this is that when I change ...
0
votes
2answers
120 views

Avoiding singletons for puzzle system [closed]

Say for instance I have a puzzle with 3 switches that need to be in some configuration (say all on) in one room, that opens a door in another, with a load screen separating, so I can't link the ...
2
votes
1answer
317 views

How can I access a script variable from another script in Unity?

I'm creating a space shooter (think Space Invaders or Galaga) where the GameManager persists between scenes but the player and enemies don't. I need to access a boolean value from the player and ...
0
votes
0answers
66 views

Data structure to store map layers in each Tile while keeping the order of terrain, items and monsters intact

My game represents its map as a 2D array of tiles, each of which stores a stack of layers. I'm looking for a data structure to efficiently represent this . I want to be able to add layers ...
3
votes
5answers
303 views

Is it bad practise to have an object for every tile?

In the game I am working on, many of my tiles must have special attributes (such as triggers when the player steps on them). I was wondering if it would be bad practise to create an object for every ...
1
vote
1answer
131 views

Best Practices for combining animation and logic

In Games I often run into this kind of scenario: The Game Logic decides something happens, and of course the logic does so instantly. But the Game also has animations depending on the logic. Like ...
2
votes
2answers
317 views

MMO Client / Server Architecture (NoSQL)

The main aim is to keep the games variables server-side for obvious security reasons. I believe having server-side code to check before updating the games database values will protect me from classic ...
1
vote
1answer
115 views

Where to put graphic representation of game entity?

I am working on simple 3D version of Snake game. I created classes like snake and grid so far. My concern is, putting all render logic (draws cubes - to show snake, and lines to show the grid) in ...
37
votes
9answers
11k views

Why is it bad to hard-code content?

I know most games store dialogue text in files, but I've also seen a few text-based games actually program the content (map, choices, possible player commands, story text) into the game code. I can ...
41
votes
8answers
7k views

How can I avoid having many singletons in my game architecture?

I use cocos2d-x game engine for creating games. The engine already uses many singletons. If someone used it, then they should be familiar with some of them: Director SimpleAudioEngine ...
0
votes
0answers
53 views

Organization of world/eye/clip bounding volumes for ray picking

I currently have objects defined in world coordinates and also other "overlay" type objects defined in eye or clip space. I want to be able to select objects (ray picking) from both the overlay or ...
-1
votes
1answer
46 views

Why can't I reference a sprite loading variable in a separate class? [closed]

When I reference a sprite I declared in a separate class that I am using to load images and rectangles, I get an error. Here's how I reference the image in the render method: ...
0
votes
1answer
308 views

Communication pattern in Entity Component System

I'm putting together a ECS for my game with another two main components: an event bus for communication and a Lua interpreter to load scripts. Now, the parent element is a framework/game object with ...
7
votes
1answer
269 views

Is it a bad idea to couple action and animation?

I'm making an ARPG (like Legend of Zelda but with more action), and this question raised during the development: Should action and animation be coupled? Or should they be independent? With this I ...
0
votes
2answers
185 views

Handling player and AI in a component based structure dynamically?

I'm trying to find a way to allow both input and AI to call actions of an actor in a component based structure for a 2d turn based game. The actions make use of the components. To keep the system ...
3
votes
4answers
149 views

Architecture design in “buff-heavy” game? [duplicate]

I've been trying to wrap my head around this architectural design problem. Think of a game that has lots of spells and buffs (World of Warcraft, Diablo II etc), i.e. spells may cause buffs on ...
1
vote
1answer
131 views

how to store game state for a multiplayer board game eg. poker

First Approach: Store the state in database and play with database queries. Could a database handle the load, as poker is quite fast paced, and I have to query/update database for each player move. ...
4
votes
1answer
231 views

Game Architecture and Separation of Concerns

I'm trying to build a "simple" Tetris game, but I want to have enough flexibility to add a few things: The game can be played by a human, or (if the human presses a certain key) an AI is swapped in. ...
0
votes
2answers
105 views

Manage game objects depending on visibility [closed]

I'm trying to create an adventure game in 2D and I'm thinking about map management/objects. Here is what I've got in mind in terms of modelling: Now, I would like to create entities based on ...
7
votes
2answers
1k views

How many OpenGL programs should I use to render multiple objects?

My scene has multiple objects in it. (Let's say 3 cubes, 1 cylinder, 8 spheres.) I assume I should create a vertex shader for each. How many programs should I have? Alternatives: One program per ...
4
votes
1answer
142 views

Utility of submesh class in a 3d game engine?

I've read somewhere that we use sub mesh for being able to give different materials to one mesh. But why not simply do this with scenegraph ? I mean you have a car mesh, and instead of using ...
0
votes
1answer
33 views

Retrieving snapshots of game statistics

What is a good architecture for storing game statistics, so that I can retrieve snapshots of it at various moments? Say I have a game, and the user's statistics initially are: { hours_played = 0, ...
5
votes
1answer
148 views

Is there a good alternative to a world state data structure?

How do you avoid one big data structure containing all the current world state ? Let's pretend we're in a real-time strategy game, how would you code a skill that decrease mana of units around it ? ...
5
votes
1answer
250 views

City/Nation Builder - Unlocking game elements over time

Current Git (Needs more documentation) Current working prototype to play with (Git code is after a BIG refactor) Background: I'm making a javascript text city/nation builder along the lines of A ...
7
votes
3answers
218 views

How to load stacking chunks on the fly?

I'm currently working on an infinite world, mostly inspired by minecraft. A Chunk consists of 16x16x16 blocks. A block(cube) is 1x1x1. This runs very smoothly with a ViewRange of 12 Chunks (12x16) ...