Lord KJWilliams
Member
I have a game that I have been working on for more than 20+ years, originally designed on a Commodore Amiga which I had to survive from PC to PC, after Commodore Business Machines went out of business. Since then I had to learn C which saved me from the insanity of BASIC. So I have been working on this game at the planning stage because since then, technology and software have changed. I created two C programs ( random generator programs ) that would build me the game data map details for my game that I was designing, because without it the data map, the game would not have an environment for the player. So now that I have GMS , I have been reworking my game and planning, to work with GMS.
I decided that I would explain the entire structure of my data system ( which is just the tip of the iceberg ) on this forum, about the basics of its map organization.
In my game , the environment of mapping system is contained in what I call the Universe Deck. The Universe Deck, can be thought of a deck of cards standing upright . In this deck, you have 1000 universe fields which are 2D , which can be thought as a card of the deck. Each universe field is represented as a 2D size of 20 x 20 units, in which each unit are called intergalactic fields. Each intergalactic field has a 2D size of 100 x 100 units, in which each unit can be a location for a galaxy unit or a void. A galaxy unit, can come in different sizes , and depending on those sizes, determines the size of the cut section of the galaxy, called the starfield. Starfields are also a 2D map, representing what is further broken down , called sectors. The sectors are 2D size of 10 x 12 intrasectors. Each of 10 x 12 intrasector units, represents a 2D map size of 60 x 60 zones. In each of these zones there can be a solar system, a asteroid field, a ice asteroid field, a nebula field, worm holes, black holes, and other things that I can define. Again this is all created by the random data generator. This not the full extent of the mapping system, because mapping system continues into each solar system, for each planetary system of every orbiting planet and moon, and further on. So let me go back to what I want to do, with the intrasectors of my mapping system.
I first need to use GML create a series of random data generator programs to create each part of the complex map structure that my game uses. The random data generators, which are part of my game, are used randomly create what is called the intrasector deck , which is 1000 units of 60 x 60 2D maps. The index number in this 3D array is what is used to construct the next larger piece of the map called the sector. A sector consists of a map grid of 10 x 12 intrasectors. Then from there, another random data generator uses references to the index number of intrasector deck, to randomly create 1000 units of sectors, create a sector deck. In the same way like the intrasector deck, the sectors index value of that 3D array is used to randomly create the starfield. Then from there another random data generator, randomly creates each starfield ( depending on the starfield size , which is dependent on the galaxy size ) using the index references to the sector deck. Depending on the galaxy size, the same random data generator will repeat making starfields data sets to represent the area of the galaxy. The galaxy unit which is created , is referenced by its location on the hard drive, by a specialized directory system, and is numbered from 1 to 2500. Each intergalactic field can support up to 2500 galaxy units, each unit on the 2D map is either galaxy or a void. Each intergalactic field represents one unit out of the universe field which is a 20 x 20 2D map. This is just part of what I am trying to do for the whole mapping system. Again, this is just the tip of the iceberg of my game idea.
To explain it easier, I constructed a picture diagram of the mapping system ( long ago ), which is now out of date to what I have planned out now. I have been changing my game design but the map design shows how everything fits together in my plan as a rough draft. Don't confuse what I have written above for values with the picture. Please note sideways 8s are meant to be interpreted as infinity symbols.
see picture:
So am back to my main problem which is using 3D arrays for the deck mapping sets, to construct this system of maps in. GML does not provide an easy way to do this, so I think I have to come up with another way to do this and thats where I am stuck. Please note, I did not give all the details because of the complexity of my game design which is at the planning stage, which revolves around what I can and cant do with GMS.
I know how to do this when I program in C, but not in GML because of the problems GML has with accessing individual values in a array , especially if its a 3d array. So I am wondering if there is another way I can do this using the DS Grid data structure or some other way.
A second opinion would be appreciated.
Thanks.
I decided that I would explain the entire structure of my data system ( which is just the tip of the iceberg ) on this forum, about the basics of its map organization.
In my game , the environment of mapping system is contained in what I call the Universe Deck. The Universe Deck, can be thought of a deck of cards standing upright . In this deck, you have 1000 universe fields which are 2D , which can be thought as a card of the deck. Each universe field is represented as a 2D size of 20 x 20 units, in which each unit are called intergalactic fields. Each intergalactic field has a 2D size of 100 x 100 units, in which each unit can be a location for a galaxy unit or a void. A galaxy unit, can come in different sizes , and depending on those sizes, determines the size of the cut section of the galaxy, called the starfield. Starfields are also a 2D map, representing what is further broken down , called sectors. The sectors are 2D size of 10 x 12 intrasectors. Each of 10 x 12 intrasector units, represents a 2D map size of 60 x 60 zones. In each of these zones there can be a solar system, a asteroid field, a ice asteroid field, a nebula field, worm holes, black holes, and other things that I can define. Again this is all created by the random data generator. This not the full extent of the mapping system, because mapping system continues into each solar system, for each planetary system of every orbiting planet and moon, and further on. So let me go back to what I want to do, with the intrasectors of my mapping system.
I first need to use GML create a series of random data generator programs to create each part of the complex map structure that my game uses. The random data generators, which are part of my game, are used randomly create what is called the intrasector deck , which is 1000 units of 60 x 60 2D maps. The index number in this 3D array is what is used to construct the next larger piece of the map called the sector. A sector consists of a map grid of 10 x 12 intrasectors. Then from there, another random data generator uses references to the index number of intrasector deck, to randomly create 1000 units of sectors, create a sector deck. In the same way like the intrasector deck, the sectors index value of that 3D array is used to randomly create the starfield. Then from there another random data generator, randomly creates each starfield ( depending on the starfield size , which is dependent on the galaxy size ) using the index references to the sector deck. Depending on the galaxy size, the same random data generator will repeat making starfields data sets to represent the area of the galaxy. The galaxy unit which is created , is referenced by its location on the hard drive, by a specialized directory system, and is numbered from 1 to 2500. Each intergalactic field can support up to 2500 galaxy units, each unit on the 2D map is either galaxy or a void. Each intergalactic field represents one unit out of the universe field which is a 20 x 20 2D map. This is just part of what I am trying to do for the whole mapping system. Again, this is just the tip of the iceberg of my game idea.
To explain it easier, I constructed a picture diagram of the mapping system ( long ago ), which is now out of date to what I have planned out now. I have been changing my game design but the map design shows how everything fits together in my plan as a rough draft. Don't confuse what I have written above for values with the picture. Please note sideways 8s are meant to be interpreted as infinity symbols.
see picture:
So am back to my main problem which is using 3D arrays for the deck mapping sets, to construct this system of maps in. GML does not provide an easy way to do this, so I think I have to come up with another way to do this and thats where I am stuck. Please note, I did not give all the details because of the complexity of my game design which is at the planning stage, which revolves around what I can and cant do with GMS.
I know how to do this when I program in C, but not in GML because of the problems GML has with accessing individual values in a array , especially if its a 3d array. So I am wondering if there is another way I can do this using the DS Grid data structure or some other way.
A second opinion would be appreciated.
Thanks.
Last edited: