Posted: Tue Dec 15, 2020 12:43 pm Post subject:
Ice Ice Baby
Hey how you doing? Long time no mod.
I've been OCD obsessing over a plan for my old 2018 IGOR faction.
I am a proper game developer now, i can code C# and make games from scratch in Unity. But theres something about this game i always love to come back to since it is modding this game that ultimately got me into true game development.
So Just re-installed the game after a few years. Looking through the code.
LETS TALK (btw i have ares running)
IceCrackingWeight=5.0 ; objects weighing more than this will crack ice
IceBreakingWeight=5.0 ; objects weighing more than this well break through ice
Long time no see AnimalMan, I see that you've made it to C#.
I wanted to say this to you too: Since the fall (or autumn) and I've been learning the Python language, I'm into graphics and not programming, I believe learning this language worth it, have you tried Python before? Just asking anyway. _________________ If you are a MetalHead (Heavy Metal Fan) and don't want to be a metalhead, Just remove your metal ball from your head. �:p .
QUICK_EDIT
I know a little of quite a few languages C++ aswell. Python there isnt very much need for me to learn it right now, but i guess all the languages are the same since it translates the same cpu functions. Moving data, and functioning the logic gates. I find C# and C++ are useful enough to create graphics, shaders, code game logic, so i havent really felt the need to experiment with python. But i am no 3D modeller i am just a technie. I like to code neat complex systems, game logic. I usually buy or download models, i do some 2D art of my own from scratch and i can generate some basic geometry with my current skill set, Like shapes and meshes. This i can use to build a game world. etc etc etc etc.
However lately i have been looking into robotics, in order to create a social network that doesn't require the users email address or personal data and instead uses an offline machine but this is an entirely different story.
ooo it looks like alot of websites will use python. < > but all in all, its all the same in the end. if you understand one language it is only a matter of getting to know another.
I think for as long as the language allows you to access all of the cpu functions, then it is a good and worthwhile language to learn.
If you want to make a real game with me, if you are a 3d modeller or 2d artist! i'd love to program an RTS. feel free to inbox me and we'll network. I am not on any social networks anymore, but i can do whatsapp and email. QUICK_EDIT
Thanks E1 Elite i thought as much. although i do read that not all of the logic has been removed. For example i read earlier that Heavy Vehicles will sink on ice when destroyed. However from what i am interpreting here is that the Ice terrain is entirely unused, and the fa2 terrain that is listed as Ice or Icy is actually just snow template version of rough ground, since its buildable. QUICK_EDIT
I know a little of quite a few languages C++ aswell. Python there isnt very much need for me to learn it right now, but i guess all the languages are the same since it translates the same cpu functions. Moving data, and functioning the logic gates. I find C# and C++ are useful enough to create graphics, shaders, code game logic, so i havent really felt the need to experiment with python. But i am no 3D modeller i am just a technie. I like to code neat complex systems, game logic. I usually buy or download models, i do some 2D art of my own from scratch and i can generate some basic geometry with my current skill set, Like shapes and meshes. This i can use to build a game world. etc etc etc etc.
However lately i have been looking into robotics, in order to create a social network that doesn't require the users email address or personal data and instead uses an offline machine but this is an entirely different story.
ooo it looks like alot of websites will use python. < > but all in all, its all the same in the end. if you understand one language it is only a matter of getting to know another.
I think for as long as the language allows you to access all of the cpu functions, then it is a good and worthwhile language to learn.
If you want to make a real game with me, if you are a 3d modeller or 2d artist! i'd love to program an RTS. feel free to inbox me and we'll network. I am not on any social networks anymore, but i can do whatsapp and email.
Technie, you mean technician? I'm not THAT good at Python, but at least I learned from a programming language, I also use blender (OS 3D modeling software), GIMP (OS image editor), OpenShot (OS video editor), and OBS (OS broadcaster software) all of the 4 are written with the Python language, with all the 4 this easily helped me for digital artworks whether related to C&C or not, if you also work on data and mentioned "robotics", there's the Python Anaconda3 to use for machine learning too, not just for generic scientific computing, blender is what made me learn this language.
I use Anaconda3 and PyTorch add-on for some Python scripts from GitHub, you might not know this, but in fact, these things will heavily support and help me for my future career too, which's science, I mainly prefer and study biology, biotechnology/technology, chemistry, neurology, and genetics/genomics.
Fact: the most influential social media site in the world right now, is using Python for its backend, it's none other than Instagram, some other known sites use it like Netflix, Google sites, Dropbox, and more.
I'm an advanced 3D artist right now, not an expert (yet), I've been modeling a structure for both TS/FS and RA2/YR, but still didn't finish it yet, as for your offer for a real game, I'll see whether I'd decide or not, I don't have time for personal stuffs, also, I'm a little stressed and confused these days. _________________ If you are a MetalHead (Heavy Metal Fan) and don't want to be a metalhead, Just remove your metal ball from your head. �:p .
QUICK_EDIT
I just make stuff for the fun of development i havent got a career in mind. Well i do, but its a political career. Nothing to do with programming.
IF anyone does wanna link up make some stuff with me, i probably going to make something and sell it on steam pretty soon in my life and i'd split 50/50 profits with an artist. like a 2 man or 3 man team. Art really takes a long time to produce and i respect that, and i can work so fast in building functional mechanics and fun game i always abandon projects simply because doing it all as a 1 man team, the art works to me feel so tedius to flesh out i often lose interest at the pace i can produce it.
Im probably going to start an RTS prototype soon and keep the whole thing 2D, on an isometric tile grid. and pretty much implement all of the same mechanics and movements, AI and base building we see in red alert. might do like a Gender Wars, male vs female factions. Something like that. I OCD over that concept quite a bit. QUICK_EDIT
The ice tileset you use to mate to shore tiles in RA2's snow theater allow objects with a high weight to sink rather than just explode when destroyed. I haven't noticed any other effect or use case beyond that. _________________ http://www.moddb.com/mods/scorched-earth-ra2-mod-with-smart-ai QUICK_EDIT
When developers have removed the tilesets, you expect the logic associated with those tilesets are also removed, ice growth and crack/regrow ice. QUICK_EDIT
If you look at [General] section in snow.ini, there are flags like WaterSet or Ice1Set. Those are specially programmed with logic. In RA2, Ice1Set etc. are removed from the game, so don't expect its associated functionality. You are able to create additional tilesets but those only have the land characteristics coded in the TMP files it uses.
Filename is reference to a file or set of files. Those are TMP format files which have just properties, not logic in them.
AllowToPlace is there in TS also, used while building placement on top of it.
LastTilesInSet is a stop-gap arrangement to fill in the number of tiles in a set as Tiles are numbered from 0 to the last tile, defined in all tilesets say in snow.ini. QUICK_EDIT
How would i go about doing what Ares do and attempt to restore this logic? Where do i start?
Or is it all rather meaningless, it'll likely be more profitable to create my own game. If its a simple process i might be able to adjust it, but if its an overly complex task it not ultimately be worth it. I noticed Ares was updated 2020. QUICK_EDIT
It is overly complex because you have to reverse-engineer the TS EXE binary, debugging, assembly and C code. Then implement the same in RA2 game exe. As I understand the ice growth logic was done away with to replace it with water or naval features, so there will be incompatibility. Just forget it for RA2.
You could look into OpenRA.net if you like. QUICK_EDIT
Thanks for the advice man, i'l take it. I'm going to boot up Unity and start to work on an Isometric terrain creation and map saving tool. Hopefully it'll snow this year and i can create some textures.
Similar to ra2 the isometric grid isnt actually square. they are slightly rectangular, I think i'm going to follow these lines and try and replicate the perspective we have.
I wonder if the original ra2 prototype was in full 3D, since we had differnt views of the Conyards in the pre-release, its unlikely new ones were drawn and more likely they were 3D models, and the cameras rotation on the isometric map was slightly different. QUICK_EDIT
float LastTileX = PointZero.transform.localPosition.x;
float LastTileZ = PointZero.transform.localPosition.z;
var x = 0;
for (int r = 0; r < GridSize.y; r++)
{
for (int i = 0; i < GridSize.x; i++)
{
var T = Instantiate(Tile, transform);
T.transform.position = new Vector3(LastTileX + 10, 0, LastTileZ);
LastTileX = T.transform.position.x;
}
LastTileZ += 10;
LastTileX = PointZero.transform.localPosition.x;
}
Destroy(PointZero);
we create the grid in a component here. By specifying X and Y size. in "GridSize"
this is just straight up square, They are actually 3D planes. But 2D objects would be rendered ontop of it but would utilize the 3D field.
after this we paint the grid. and when all is painted we can optimize the grid and map to load it instantaneously by combining all of the 3d objects into a single 3d object that has already been painted.
In a similar way to painting a grid, when you put a grass tile down in fa2, it automatically blends this tile with the surrounding tile. The same method can apply to elevation. These require disrtorted planes befitting of the elevation or hill.
its clever that the westwood developers had premade alot of the elevation tiles. especially regarding fixed cliff heights, Since you need mathematical perfection to achieve it. The corner pieces have to be created specially for the size ratio and elevation increase required. QUICK_EDIT
Hey, I forgot to mention this! It's important, if you may not know, Ares Expansion DLL, which's made by AlexB and some others no longer active here, can be beneficial for you when it comes to new features, I once asked whether vehicles that use SHP and not VXL works, and it does, but it can't incline with slopes in-game, is there any chance you could help to make SHP vehicles incline with slopes a possibility? I'll be really happy if you can! _________________ If you are a MetalHead (Heavy Metal Fan) and don't want to be a metalhead, Just remove your metal ball from your head. �:p .
QUICK_EDIT
Yeah they definately left out the super steeper. But you can see it in games like roller coaster tycoon. Here has all components.
Welcome to the world of Low Poly.
The same code will be used yet modified for Terrain Blending. Finding the edges of a 3x3 terrain set, and then applying them ontop of the base terrain colour.
The components in use are
Ramp, Corner Ramp, Corner Indent, Flat. The fifth component, allows for super steep hills on corners. But i assume it was left out for A) Simplicity. B) because vehicles look stupid going up it. Its actually hidden behind alot of the 2x1 Height Cliffs, and the cliff ramps of Ra2 has it hidden behind some cliff graphics at the edge.
Speaking of cliffs, I will probably add a cliff tool, but cliffs will simply be Cubes that are scaled to the height they are specified at. So a hill set and such could break into some cliffs, which would be cubes. :F Starting to remind me of Dune.
the map editor here is actually using hot keys there is no point and click interface. I am drawing it whilst running the program. The program generates my grid which i specify before run. I run, and then i press "E" it activates my elevation tool. i hold "Left Control" and scroll "Mouse Wheel Up" or "Mouse Wheel Down" and i raise some terrain with surrounding terrain automatically sorted. If i want to add a fix, i stop holding "Left Control" and my mouse scroller will just raise or lower a single tile. I can Change the tile to one of the four above mentioned variants, using "Q" for ramp, "A" for corner, "Z" for indent. I can then rotate my selected square using "R" --- Oh and we select squares by clicking on them. It makes for quite comfy map editing. Am Proud. The cliff tool will be a case of pressing "c" to turn the tile into a cube instead. Which reminds me, if we make a mistake i can also press "F" to flatten the tile. You may be able to tell by the image, but the height they are raised is 50% the length and width of the tile. In my case it translates to 5. Each elevation raises or lowers the tile by 5. and the surrounding tiles decide what they need to be as best as they can. Confusing or Complex hills like in the image must be tweaked manually same as Fa2, but here i used a combination of both auto-sorting, and manual editing.
I'm just seeing this now and I have some points...
You can't have any vertical height pieces on a map without a corresponding slope next to it, not because it breaks the game, but because unit movement doesn't respect height. You will see this phenomenon sometimes when infantry moves across a cliff corner and jumps up to cliff height. The game doesn't care, it is the player/user that cares.
If you are making a map editor, what I would suggest is making a Minecraft-like block placement tool, and then a second smoother tool to "touch" the areas around it and fill in the slopes. As you're probably aware a lot of maps have messed up slope intersections from FA2 not resolving any conflicts, so it would make sense to make sure there's a second pass that fixes such cases once the user is done using the smoother tool.
On the topic of smoothing, it would also be useful to have a "smooth all tiles" feature to go over the entire map, so that a user could make a Minecraft looking map with the basic heights, and then have the editor resolve everything accordingly, including 4-height cliffs, the slope set and so on.
The challenge here will be custom terrain, or replaced tilesets, your editor will need to compile some internal representation of all the tilesets and then somehow figure out which applies in a case where more than one would fit. For example I have several slopesets in my urban terrain that vary in grass/concrete, but also whether the walls are the stone face or slab face, I don't know how your editor would know the context of which to choose. To further complcate this question, I have one set of slope tiles that don't have the diagonal ramps beside the main slope, though still impassable, you couldn't use a universal slope set template for that.
As a side note you don't have to worry about LAT blending, the game will do that when the map loads, it's purely decorative in the editor, as long as the "single" tile is placed. Old versions of FA2 (betas) didn't do any LAT blending in the editor and the maps work normally.
You can force which specific LAT variant is used by the game by placing them manually from that particular tileset, but note here the side effect that any single versions next to it will then treat your specified LAT as a different type of tile, and render as if it was an edge. For example on a temperate RA2 map, you can place the LAT sand next to single sand, and you will get a grassy edge on the single sand when the game loads it, even though in theory they are both sand. For this reason I would avoid allowing this, and respect the AllowToPlace=no in the editor for all the LAT sets. _________________ http://www.moddb.com/mods/scorched-earth-ra2-mod-with-smart-ai QUICK_EDIT
There is some hidden secret in how to display multiple material types on screen at one time. Before optimization, there is no issue in creating a mesh map from individual meshes (being rendered) and then combining these meshes into a giant object. Which is easier to load. The problem ocurrs in applying multiple material types to this mesh. + the meshes of all of the units, and features.
2D is the way to go. Okay 3D map, mesh combine, paint materials. Thats fine. But Units thereafter; more 3d models, more meshes will put a maximum. I have made large sprite based games before, but i always trip up on the 3d games as i simply can never figure out how to get passed the material limit. Maybe part and parcel i develop on a laptop so..
mm.
I'l get back to this one day i develop tonnes of games. This was first time attempting a giant map editor. It works, but i left it at the point when it comes to painting, and painting by algorithm. if i am not using Sprites on a 2D plane, if i am using a 3D environment as i am above; then the materials start to slug the game down when painted. Occlusion culling will alleviate some of this slug, but not all of it.
Okay so
Rather large planning involved in how many materials am i going to use? How many materials can i render as shared materials. how many unique materials. I suppose i could remove the lighting effects, and be left withsomething that looks washed out, but functions. Kind of like They are Billions do.
Sprites sprites sprites.
I probably start the whole project again on a 2D grid. using 2D sprites. even for tiles. Artificial light.
Minecraft i believe is using 1 material with multiple low resolution textures applied to this material, which are pulled from a Sprite Atlas (one image containing all of the textures) the material texture sets itself to a coordinate of this atlas. It also use particle effects. But it just doesnt have that..... urg..... AAA look.
Maybe redo the project using
2D sprites for tiles (not meshes) 2D sprites for units, 2D everything Isometric. QUICK_EDIT
These are customisable lists. A snow and temp tile set would just replace the contents of these lists with respective textures. While the algorithm continues to paint on the basis of algebraic lists. What texture for example should be at grass position 0 or grass position 3 in the list. And will put the texture contained at location x of the list in its correct location whichever texture is input for that value.
If I make a snow tile set I can create a list of snow textures have a bool that replaces the contents of the list with the snow list.
Grass -
0- center
1- N connection = drag and drop texture
2 - S connection = drag and drop texture
3- E connection = drag and drop texture
4 - W connection = drag and drop texture
5 - NE connection = drag and drop texture
6 - NW connection = drag and drop texture
7 - SW connection = drag and drop texture
8 - SE connection = drag and drop texture
The algothim use 0-8 or 9 values and auto sorts.
Terrain elevation and unit properties and understanding of terrain elevation = generation navigation mesh once map design is complete. Navigation mesh specified to unit AI (which is important) where this unit can go. After this you need a path finder logic which tells the unit if something is in the way on the navigation mesh; move around it. The navigation mesh is then what all units use, instead of the maps base mesh which is used for visual purposes.
The algebraic system here operates for both 2D and 3D it doesn’t matter. Because it’s just putting numbers on a grid. And painting the mesh on the grid with the value of the number that this tile has been allocated. And if it’s East of center (0) then it’s value is (3) and (3) can = any drag and drop texture.
In short I accounted for future tile sets but I hit a material limit before unplayable rendering lag. Probably due to lighting interaction with multiple materials simultaneously QUICK_EDIT
I'm sure you know a lot of Unity games use LOD textures to reduce workload at a certain zoom distance, like a 128x128 texture for distant and 1024x1024 for near, but you could add an intermediate step at 512x512 as well. More things to load, which shouldn't matter with today's average ram sizes, but can be used to dynamically reduce complexity to catch up if the engine slows down.
Yes LODs are good but more suited in an FPS but they won’t save the day on the material issue.
I think the secret is in these old ra1 and ra2 tib sun and other old games who get away with a lot of highly artistic design. Whereas you take a look at ra3 emperor for dune, they structure with the same material issue. With dune sacrificing polygons and ra3 terrain is all shaded the same. There’s no depth to it. In the latest tib I think Kane’s wrath, I haven’t played it but I watch a lot of videos last few days on it; they have highly textured detailed terrain, with normals. And highly detailed models with lots of textures and materials.
I’d love to know exactly how they are achieving that. Perhaps custom optimised materials. Instead of unity defaults.
Like look at the ra2 terrain system. No texture atlas, everything has its own file. And it still runs at lightening speed. Because all it really has done is create a cheap low cost load and unload 2D isometric system. Where everything can be edited 1 by 1. Without rebuilding an atlas. Or all that jazz. I think they key to quality and flawless game design is in ra2. As in the structure of how it runs so professionally; it’s all here.
Replicate this system.
Emperor dune uses a number of texture atlasing so there is evidently a struggle and limitation And from then out it doesn’t really enhance the visuals. In fact until modern tib era 3D games were a step back in overall detail. 3D seemed to have ultimately limited the total game content and frame expenditure abilities. It’s wise to note all these 3D EA cnc games are also capped at 30fps that’s 30 whole FPS under what I usually try to design games for. QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum