I need help about changing the engine of Triplea.
I would like to learn more stuffs about the engine but I have no idea what kind of way should I follow. Does anybody at least tell me the best way of learning the engine step by step.
I had dozens of ideas and opened them as topic in the forum just wondering how well would I be able to implement them to the engine.
@Schulz I believe it has been decided to keep program discussions and help in the TripleA GitHub repository. Maybe you will have better chances to get in touch with the developers, on such matters, by posting in here:
Well I'd not value this as a pure technical discussion, so the forum is probably a place that suits well.
It's a bit hard to tell how to learn more about the engine, but I hope I can give you an idea how I got started with this project:
I first got involved with triplea development 2 and a half years ago (On 1st April 2016 to be precise).
Some time before I discovered triplea searching for an A&A that worked on Windows 7 or higher. I quickly realised that triplea was written in java (due to an icon that wasn't correctly set), and I had a couple of things in mind I wanted to change about it.
I'd consider myself to be a programming noob back then (I knew how to write simple programs and the syntax of java so that's the basic knowledge I had), but back then I had the confidence I could achieve everything by simply messing around with the code (how wrong I was).
But I found a couple of things in the code I found mildly annoying (generic raw type warnings in my case, that could easily be fixed by adding a couple of lines).
Combine this with my perfectionism and my first pull Request was born. (I had used git before but only using the github desktop client.)
Somehow one thing lead to the next and here I am 2 and a half years later, with much more knowledge about programming, java and the triplea engine.
My approach really was simply learning by doing, the idea came first, and then I started trying to figure out what needs to be changed to achieve that, not always successful.
To conclude: I'd recommend learning the absolute basics about programming (if statements, while loops, functions) and then trying to apply that knowledge to the code on your own.
We can show you how to setup your pc locally so you can mess with a couple lines and try out what happens.
Of course we can give you hints about what part of the code is roughly responsible for what functionality, but the truth is that nobody really knows the codebase 100% because triplea is such an old project.
So everyone is some sort of specialist for a certain area of the code.
I hope this gives you a good idea on how to approach such an ambitious plan.
Thank you for the detailed answer. I will start to learn basic programming then Java and finally the engine.
My obsession is firstly simultanous rounds then fog of war.
I will probably have been reviving this topic from time to time.
I am planning to create a WWII map for Triplea it will be even bigger than World at War before starting I just want to learn that is there ay capacity limit for maps.
My map will like something like this. Currently drawing Sea zones, land borders are already drawn.
@Schulz Your image link doesn't seem to work. But there are no hard limits. Mostly just comes down to having enough memory allocated to TripleA. TWW is probably currently the most resource intensive map given its size and level of detail. This is probably the largest in terms of number of territories that I've seen: https://forums.triplea-game.org/topic/699/terra-firma-1939. GD is also supposed to be very large: https://forums.triplea-game.org/topic/95/global-dominance
Sea Zones aren't ready yet and definitely won't be complex like TWW.
@Schulz Looks like an ambitious project.
Before you get too far the one thing I will ask is what scale you intend to draw this map at... because as of right now you are going to have some serious over-crowding issues based on the scale of what you posted.
There is an example of a 48 x 48 pixel unit next to your Europe... you can see that Europe is just going to be a jumble of units over lapping one another... potentially making the game unplayable.
Just a helpful FYI for you.
I haven't though other detailed stuffs. Just I would like to extend the limits of zoom-in and zoom-out with decent sized units.
is that possible?
You need to make the map bigger
Actually I will try to make a kind of different game by changing somethings (simultaneous rounds, fog of war etc) in the engine since I believe the current one isn't really fit for big maps. It is extremely time consuming.
Just wondering should I start to use the current engine for this project.
@Schulz I would recommend that you first create a much smaller map that has most of the features that you envision for your huge map. By doing that, you'll have a good understanding of what it takes to develop a map and what features don't exist in the engine that you'd like to add.
@Schulz I hope that you will keep your spirit alive, and that you continue to really want to make a new map. Because making maps from scratch can take many months depending on how much time you have, and maybe also how much you maybe lose interest along the way.
You should expect a long and tiresome map base construction process, where you make the map's graphical backdrop and a black/white grid/territory border version of the same map. Best advice: Make backups of your stages of process along the way, so that you may return to a previous point and fix or improve stuff.
Then you build the file structure of the map and construct all the files, ultimately to the point where you can load the map in TripleA. So the initial complexity should be kept very simple. When the map loads, then the fun stuff begins, where you can determine the rules of the map and create the player conditions.
As @redrum I would also recommend you start out with a smaller and less ambitious project. After your first map is complete or nearing completion, you are sure to have acquired more skills, knowledge and also new ideas for how your map could have been better from start.
Maybe you have had another map idea, with another theme on your wish list? An idea that could be turned into your first map? Smaller in scale and that just used the currently available features and rules of TripleA?
Maybe it could be better codding fog of war and simultaneous rounds before creating a map. Since both of these features could work only in big map if its better I can try them for an available small map before starting to create the actual map.
Simultanous rounds and fog of war aren't only features that I would like to add. They are just the most important ones for me the other issues for me was lack of reversibilty, big stacks and dicey tech system. I was thinking solutions about them before starting to learn some stuffs about codding.
Thank you for advices. I really can't give up simultaneous rounds and fog of war because without them games become stacky, predictable, time consuming and irreversible in big maps. I used to think another solutions but I did really fail to find more easy ways.
Only one way of simplfy the project could be using WaW map.
Also I am not sure how well could these idea works in WaW?
Thank you for advices. I really can't give up simultaneous rounds and fog of war because without them games become stacky, predictable, time consuming and irreversible in big maps
You are free to hold this opinion. However, in all of your threads discussing this problem, there have been several ideas posted to help address these issues.
Is implementing manpower concept possible in the current engine similar like oil? I would like to implement it for my game. Every unit will have different manpower values and nations will gain it from their territories like Pus values.
@Schulz Yes, you can define any type of resource. You'll want to take a look at Civil War as it uses the concept of manpower and several other types of resources for upkeep, unit production, and unit movement.