Evennia is a library that allows you to effortlessly create a multiplayer text game right in your console. Rather than dictating a genre or style of play, this library simply provides the implementation of the structure, leaving the game development to you. This library already includes the base classes of game objects, rooms, characters, timers, dynamic game states and much more. There are ready-made systems for in-game training, authorization and internal communication channels. In addition to supporting desktop applications, Evennia allows you to play your game right in the browser.
-
-
Anti-aliasing in games: how do developers make the picture nicer and what type of anti-aliasing should I choose?
If you’ve ever looked into the graphics settings in games, you’ve most likely noticed the anti-aliasing option. And if other settings, such as draw distance or shadow quality, are quite intuitive, then there may be problems with understanding anti-aliasing. Why do you need anti-aliasing in games?The structure of the monitor screen is a matrix of square pixels. It is easy to guess that in this case, only horizontal and vertical lines will be drawn perfectly. As soon as the computer tries to draw a slanted line, jagged pixels appear. This problem can be solved by purchasing a monitor with a higher resolution. Most likely, if you do not have a…
-
Gaming Tricks: How Developers Make You Feel Cool
Games have long since moved from the usual fun in the gaming halls to a serious global industry. According to Newzoo, in 2018 the total market volume reached $ 134.9 billion. Industry leaders are fighting with all their might for the attention of the players. Someone is trying to stand out with realistic graphics, someone with an open world, and others with cool technical features. But beyond that, the developers are very fond of the “hidden” mechanics that help you get involved in the game. Last strawHow often did it happen that after a tense fight with a strong opponent you somehow emerged victorious from it, having a minimum amount…
-
Integrating Your Game on Steam: Working with the Lobby in Steamworks.NET
Few gamers have not heard of Steam. The first appearance of the site falls already in 2002. On it large publishers could safely distribute games. A dozen years later, Steam Greenlight appeared, which made it possible to get to the site not only for large studios, but also for ordinary indie developers. Users themselves chose which games they want to see on the site. But due to the emergence of a mass of second-rate games, such a system had to be closed. Direct has replaced Greenlight. According to the developers, such a system should make the publishing process orderly, transparent and accessible to new developers from around the world. For…
-
Interesting projects: mathematical C library for developing video games
The MATHC project is a collection of objects for developing 2D and 3D games.Today we will take a look at the MATHC project. At its core, it is a simple math library that can be used to develop 2D and 3D games. It contains realizations of the following mathematical objects in pure C: 2D and 3D vectors;quaternions;matrices;smoothness functions.Object implementations support both the C99 standard and newer ones. Float typeEach structure and function of the library uses a float type, since this data type is used in most of the development of 2D and 3D games using OpenGL. Passing by value or by pointerFor functions that accept structures as parameters, there…
-
About Vectors
All vectors (2D, 3D and quaternions) are in the form of structures of type struct vec. Note that the z component can be used for 2D vectors as well, since it is used in OpenGL to check depth. The w component is used only to describe the quaternion. / * Flip the 2D vector 90ยบ * /struct vec direction = to_vector2 (0.0f, -1.0f);direction = vector2_rotate (90.0f * M_PIF / 180.0f); / * Get the slope in radians for the 2D vector * /float angle = vector2_angle (direction); / * Create a 3D vector * /struct vec position = to_vector3 (0.0f, 0.0f, 0.0f); / * Create quaternion * /struct vec quaternion…