Advertisement

Game engine in C and open source, The Box, structural programming

Started by December 22, 2019 10:49 AM
129 comments, last by alex4 4 years, 8 months ago

@mr_tawan Contact the admins if it bother you, the post its in other forums.

For other people :
i have no problem and people being supportive and ask for updates, think is very motivating.

I will see if i will do more updates relative to version. Doing small post updates, it have is pros, but we have also to focus in development not only in the social part. And posts kind happen as version 0.0.2 debating stuff that is not in the files. So for now think this posts are ok, but i will gather them in to version 0.0.3 to have more stuff done before more posts.

@mr_tawan any one can develop what they want, code will never be the same people have their opinions. Show data? You show that to me. No one is paying me to show you any thing. If you want to see things : or work for your self or contract some one to do it for you. As most licenses in open source, say : no guarantee it is what it is.

Bit retarded to think people will work for free and give you some kind of guarantee. Or that . Or you have some kind commercial interest behind to attempt to dirt other people projects.



Added this object : file_map.h

--
(this post is getting a bit off , since this stuff is no longer in files. adding this before version 0.0.3)
--

it connects stuff for us inside the software

To Implemented auto generation of projects

Connected and linked files inside our project could be used in the mappper tool (in development). A more advanced connections or all connections in one place. In here it is used for development. We don't need knowledge on "framework" it kind know that for us.

Another placed is used is in the tutorial tool . For example we could know what files are using this tutorial. It connect a tutorial to files that are using that kind of theme.

Auto generation of projects also used : so we know what we need to include, and what kind of functionality, If we create a simple program that needs : a interface, text, math, operating system. The software knows what that files are and do to include and connect to mount the software.

file_map.h

char file_name;
int file_hierarchy;   // order of include;
char file_functions[];     // functions it uses
char file_functionality; // what it does
char file_dependency's; // what it inherit
char file_theme; // the theme of the file or object "colors"
char file_operating_system;
char file_description;
char file_tutorials;
char file_types; // what kind of data it handles, jpg, models, etc...
char file_structure // where is loaded from or group of files, example : application structure
char file_description  // loads the description from the file. 
 
Advertisement
Width previous object we can now create a install tool or standard install tool. Which is the point of the software create standard things. Comments explain, but, it manage installation and dependency's for us.
So instead of a user know how to install jpg independent library we create a map of the installation width notes. The user only need to get the map files and it auto installs.

Could manage much more things, which are not in the design like: download directly the files, or link to site where the library is. Compile, edit files directly. More easy if you know dependency's etc…

Preparing the version 0.0.3 sharing another tool planning.

A costume text editor that works width the rest o the software. It loads a proper template to work width stuff inside the software.

In here comments will be separated from code editor. You add them in text editor, link width a function, then it will not occupy space in code, and if you need to move a function it will also move comment. If you need to call function again the text will also follow, no need to copy comment again or a tutorial linked width a function, can be any kind of thing.

The draw back is that links can be broken if you chance function name, but can create a mode in code editor for that prevent links to be broken. It detect previous name or link and rename link.

Another example of functionality, allow to post a pre formatted “format” to our web page, or design document, articles, etc…

The connection width Code editor.

We can see the connection between text editor and code editor. Comments added in text editor, can now be viewed in code editor. They are hovered. Other things can also be hovered or clicked like : tutorials, code snippets, information, file inherit, comments, code connected, etc…

Something i see is missing from code editor is the ability to open files directly from code editor: "open directly : files, functions, variables;…"

Short things width theme, lets say we click on a function we can get all stuff connected : files, variables, comments. And display in a new page width all the stuff connected.

The mode debated in previous post to prevent errors: A bottom, “rename”. we click in that button and when we click on a function, it stores the connections so we can rename in safe.

Display in a menu width all the connections. So it does not make the software slow by waiting for connections of functions. This prevents always displaying connections. it could bother a bit the work since was always displaying connections this way is by click. In this way we have a button to rename functions, variables or things width connections.

Functions will have a color or a icon to show it have connections, When you want to rename a connected function. Need to click first in the rename mode and then rename : If it was no icons, no need to activate rename button, we can edit directly.

ps : width the file map we can also rename all files that have the same variable since it is stored in “file map”, we know which files have that variable. It probably will be delegated to synchronize. From temp data files to temp project files.

The links look:

wonder if the concept works, but to see it in perspective, think ya. I organized the information by topic, So we have less used generic stuff. Then the same as folders application structure, game and online stuff or related to online.

Advertisement

And the last piece of the puzzle.

A potent search engine to connect all the stuff. We can search just a piece of information, like a ip for a game. Or complex search rules, that can get any information.

This ill help to publicity any thing width out the need to resource to money. This money based search's is very problematic for our needs in today times. We just need to : access the local market, pay; publicity a private game server pay; get publicity for a small application pay…

(in dev interface)

We can separate the information width lists or by : theme, region, language, author, type, rank, location, by tags of any thing we can connect, etc…

Voxy Box

You asking how much time. Don't think it will take much as sone i understand the costume “MVC” it can be working. Because it have very few dependency's. You can include any code in it. Frameworks, libraries, costume, etc…

I said 2 years, but for the raw working version think will be much sooner. It can be working width external libraries then improve the stuff i want little.

In here is my current code:
-it open files width the stack, width several options: folder, single or several files.
-Then load the object,
-move a line in a model,
-and store the model again.

file_type = "txt";
open_folder_files = {"/information/"};
path_file = {"c:/information/model.txt"};
//path_files = {"/information/", "/information/"};
open_files = {"model.txt", "database_id.txt"};
file_type = "txt";
 
last_id = open_files[1]++;
 
#include open_files.c  
 
object_id = 1;
object_type = "txt";  

//file_type = "txt";

#include load_objects.c 
 
line = 1;
action_ty = "line";
action = {"move line"};
line_position[3] = {10, 10, 10}; // x y z

#include objects_actions.c
 
active_model = 1;
 
actions[] = {"store object"};  
 
line_array[] = {"line_id", "model_id", "line_type", "x", "y", "z", "points", "line_junction"};
 
#include objects_store.c
 
objects[];

The MVC code is just if and elses width libraries code

 if(file_type == "jpg")
 {
  #include labraries_stack/jpg.c
 }
 else if(file_type == "png")
 {
  #include labraries_stack/png.c
 }
 else if(file_type == "bmp")
 {
  #include labraries_stack/bitmap.c
 }
 else if(file_type == "bmp SDL")
 {
 	SDL framework load BMP
 }

You see the connection? There is no problem to add framework code, because it's in our MVC code, or structure, it will not affect if we do updates.

Have to test it in C to see if it works, but it's getting close to my PHP code.

Think i have a “CSS” example for code now

Since i only posted examples for non code.

Once we define the type of object, all files will work width that type, in this case we working width 3D models, but it could be projects (object_type = “projects”). They all recognize the type . We just define the settings we want and the files have the rules.

(* As i stated before it works like CSS. the settings are declared outside)


object_type = "3D model"; //or projects, character, etc…
object_action = “…”
#include open_files.c  
#include objects_load.c
#include objects_actions.c
#include shape_action.c
#include objects_store.c

Added another planning tool

Or it will be the structure tool or the project tools. Don't now because if project in the future will do to much, need to move it to structure.

So the structure will be a inter mid step to lore tool. Because lore tool is not programming we don't have the places to put stuff. So we create the places in this step. Like if we are going to use 10 races, add them in here and in lore tool we fill the races.

We could generate the places auto, but could be problematic if we need to access this values lather for programming. Regardless if is done auto in lore tool or manually in project/structure tool we will need this values.

we should be able to click in this slots, and access the info. Lets say we click on race 1, we should access something like a dwarf race. Or if we click in our 10 races, (in image, games) we should see all the information by topics:

-race 1, dwarf
-race2, elf


and then by: maybe generic info:

(dwarf )
-spells

-skills



and background, if need to be more specific:

-history,

-citys,

-sub races

If a game will not use background, since is not that large, we don't need to define it, etc…

This topic is closed to new replies.

Advertisement