Skip to main content

Posts

What does a good game consist of? (part 32)

Map overlay Making a map overlay is hard, as maps can change and grow. Map overlay is basically a different map than it was at the start of the game. That encourages the player to think while trying to win a match or a puzzle. The main map doesn't have to change that much over time, while the overlay works as a collection of all of the tactical actions made by same clan. Some sort of a clan map, in other words. A clan map is hard to read by other clans. But not impossible, when team speak and fighting tactics are put into use. Personal map overlay can be used to advice on mission, which is generated procedurally, but not necessarily randomly. Another good overlay is tactical and strategical, all of these types overlay are sent to developers for the lore overlay, which is very hard to get hands on if you are not a developer. Tactical overlay is a good way to lead a fireteam, or a squad, but also leaves data traces on the world map. In video games, trick rivalry is high and enemies, ...
Recent posts

Object render, part 5

Object colors To render objects textures and models and their colors, first pick 16 bit or RGB method for selecting the color. There are color zones. Basically, three dimensional textures with static fiiltering, which translates the two dimensional picture into a polygon mesh. The poligons are just custom triangles, but they are also triangles with angles that have to be set as well. There are no random angles. And most polygons have more than one color, or multiple of the similar type. To render object colors, they have to be first properly resolution pixel assigned. int render_color(int object_id,, int red, int green, int blue) {     draw(red, green, blue,object_id*10);;     return last_draw(); } Called right after assembly assignment: int re_fresh_resolution(int first, int second,   int red, int green, int blue ) {     draw_pixel(820,640,draw( red, green, blue , 1));     return last_draw(1); } Along with: class ColorNode {   ...

object render, part 4

Object is either two dimensional, or three dimensional. Even abstract ones. People imagine c++ game objects as a part of a class on a graph chart, to understand the game and development mechanics. But they are really two dimensional, iso metric or three dimensional. They can be seen on the level or the level map, in other words, about 90% of used classes. Even server objects can be seen on the game, if there is any blue print or underlying real world net working mechanism. So in other words, the class objects can be used in game. They have to be dimensional. //PvE class Monster {     std::vector<int>  head_memory{};     std::vector<int> body_particles{}; public:     int get_memory(int element);     int get_particles(int element);     int get_head_memory_size();;     int get_body_particles_size(); }; Monster's head memory is used for AI render, the body particles list is used for rendering. 60 frames per second...

What does a good game consist of? (part 31)

Level tasks Making fun tasks for the level, is fun developing and makes for excellent levels. This can be missions, secrets, quests, objectives, puzzles, side quests, unlocks, story tasks, memory puzzles and most importantly explore tasks.  Legend of zelda: breath of the wild has a very large ammount of stuff to beat after you bet the all the story line quests and levels. It's not necessary, but still hell tons of fun. All level tasks work something like a bar code, it is hard to decrypt, unless you have something like a c++ encryption. However, even levels tasks are built by a game maker or in some cases a programming language, so we are back to the start of the problem. Really challenging levels might sound ten times over expensive or sometimes just plain stupid, but it's a more than welcome reality. Making camp levels is for example a giant channel, becomes it requires tons of investment and copy rights support of the us army army, but with a lot of creativity it is possible...

What does a good game consist of? (part 30)

 Good company organization There is no need for employers to panic every single time someone does makes a good job, to have a promotion meeting to evaluate the performance. What is enough, is personal respecialization, or adding the workload. A big problem however still remains are finances, but only more if there are promotion problems. So what remains are big financial risks. It takes a process meeting, and all workers have to be informed of respecialization, even more in the cause of promotion. Level dynamics Good company organization leads to proper level design. Which requires, that all levels are minimally or optimally connected to each other, so that there is story cohesion, not only even in the cut sequences. A good way to start would be to make an entire list, of all the most important moving part of the level: character move boosts and the moving parts of the level. After that list all the level objects that are affected by wind. And finally list all the parts of level th...

object render, part 3

 Making a object requires a class call, but also has to be rendered. Monster monster{}; monster = new Monster[10]; void render_monster(Monster* monster_array); The iso c++ standard says you should use classes for making objects, not structs(structures). Considering it is a standard.  With emphasis on  should , not  must . It is a standard, not a coding rule. It was set forth by iso commitee and bjarne stroustrup. Polymorphism allows us to make multiple monster arch map types. virtual void render_monster(std::string map_name, int type=0); Atch map is a data map about what all is happening in the game, like for example campaign map. It allows making archetypes. monsters, for more efficient run time memory and pointers managing bugs and random access memory. Random access memory can hold quite many objects. class BackPack {     std::string inventory_node{}; };

object render, part 2

Integrating objects into rendering has a lot to do with object oriented programming, because objects are being rendered. class NPC {     std::vector<std::string> moves{}; public:     void move(); }; To render a level, all NPC objects have to be render again, to maintain database and all of it's data consistency. Because they are constantly moving and there are always dozens if not hundreds of them on a server. class Server {     std::vector<std::string> point_data{}; public:     void send_render(std::string message} }; This is an example of rendering an abstract level object. class River [     std:::vector<std::string> water_stream{}; public:     void start_render(); }; This in example of rendering a concrete level object. class Level {     std::vector<std::string> data{}; public:     void render(); }; This is an example of rendering a virtual level object.