Quantcast

New/Updated Release Process

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

New/Updated Release Process

aaalafayette
Administrator
A lot of behind the scenes updates have taken place with the 1.9 release. Historically TripleA releases took a good bit of time and started with a forum post requesting people with Mac and Unix systems to SVN download the game code, and build the code and run the ant installer build. After files were then emails around, and the dust settled, that process took a week or two.

With 1.9, the build of release files is done automatically in about 10 minutes every time any code is updated!

This means we'll be able to release 'point', or minor, releases relatively frequently. To do that, we'll simply be updating the version number on the download website: http://www.triplea-game.org/download/

A major release will be needed eventually down the road as not all changes can be made in the game code and maintain compatibility. The dev team is going to try and avoid that unless it is necessary. There is a project underway to try and remove the compatibility problems, in which case all release would become point releases (and pretty much any game engine version will be able to play any other one as long as the maps are compatible): https://github.com/triplea-game/triplea/issues/814

Questions, comments?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

eurofabio
Yes!

What is the roadmap for 2.0 or 1.10? May we have something like this post?

http://tripleadev.1671093.n2.nabble.com/Development-To-Do-list-td7582044.html

One think that was never implemented was a card engine.

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

Cernel
Yeah, I asked about something like that in GitHub too.

It is hard for outsiders to guess what the developer are jumping on next, amongst the over 100 open issues in GitHub...

I do not believe the card engine is going to be developed, as I think the CotW project has been abandoned in favour of the many more pressing matters.
History plays dice
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

aaalafayette
Administrator
@Cernel, to the 100 issues in github, add these 82 from sourceforge bugs: https://sourceforge.net/p/triplea/bugs/, and these 143 feature requests also in source forge: https://sourceforge.net/p/triplea/feature-requests/?source=navbar

Github issues is not meant to say what is currently being worked on. It's a replacement for the two SF queues mentioned. It seems as if everyone forgets/never realizes that issues is actually replacing two whole other queues. So, our TODO list has effectively dropped from 220 to 100, which seems like progress, particularly since we can organize it better.

It's also interesting that github issues, unlike SF bugs is a decent tracker for conversations and decisions as well.

Otherwise, there is no dedicated development commitment/staff, and projects are generally interest based.

CotW project is mostly on hold for the moment. The 'card' engine aspect of it never got past the design phase, was  never redeveloped to have a more original concept to it. But also the project is a bit on hold for the moment.. plenty to do with: https://github.com/triplea-game/triplea/issues/1073


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

aaalafayette
Administrator
In reply to this post by eurofabio

Main thread with priorities/projects: https://github.com/triplea-game/triplea/issues/1073
Other projects/topics being discussed: https://github.com/triplea-game/triplea/labels/Discussion
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

aaalafayette
Administrator
But.. if it were up to me, the #1 priority for dev's would be to fix save game compatibility between major versions. This would let any engine play any save game. All major releases could then be handled as point releases. After that on my list is migration from derby DB to mysql, in-game challenges,  and purchase/turn planning,

Otherwise, given a sense of what others have been working on, it seems like the current pushes are to incorporate JavaFx for nicer GUI windows, fixing Global rules, and AI

And as always high on the list is simplifying the game engine code. It's quite hard to work with, and many things are just done the hard way when it could be much simpler. 1.8.0.9 had 250,000 lines of java code, we got that down to 170,000 lines now.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: New/Updated Release Process

aaalafayette
Administrator
Heh, how so easily off topic : )  

So game releases. Given that we are now able to build the installer files and deploy them, and update the website to point to new ones, we *can* and I think *should* do releases more often. In good part that was the motivation behind getting the download size smaller and having a nicer installer process, the releases will be less painful than compared to before.

More frequent releases will allow us to get bug patches out sooner whenever needed, this then let's us have a bit more faith that it's okay if the software is perfect, and push forward a bit faster. There are some nuances to this point, but essentially we can:
-  spend 2-4 hours to really test a feature and figure it's likely pretty solid
- or realize that any problems will be a major issue for deploying a patch, perhaps months or a year, and hence we'll probably want to spend more like 6-12 hours testing, to *really* be sure that we're okay.

Effectively what winds up happening in the 6-12 hour scenario, you can't test that much, so things are just done slowly in cadence with what you can test. IE: maybe a couple features here and there, and spend a bunch of time testing it, and trickle out content that way..

Which brings up the point of how much there is to do in TripleA. The code base is about 15 years old, it is 170,000 lines of java code, and much of that written by different people, as learning projects and with varying skill, and much of it is extremely messy and hard to work with. A lot of effort has gone to improving that, and I still think that kind of work to make the game engine easier to work with is desperately needed. For example, I really enjoy the fact that version 1.8.09 of the engine had 250,000 lines of code, that is how much we have lopped off in the last year, and just about all of it was rarely or never used (the loss of grid games was a bit sad, and accounted fora  good chunk of the 70k)

My very long winded point here, given how much there is to do, moving at a very slow cadence because we have to invest so much in testing, was just not going to cut it. We were not going to make progress similar to cutting 25% of the code base out, which has made it noticeably easier to work with.

Hopefully the very long explanation above gives compelling reasons of why we plan to release more often, and gives insight into some of the recent work done.

So with all that said, any type of set schedule for releases is to be discussed. I somewhat think about a point release every other week is relatively reasonable. There will though come a change where save game compatibility is no longer going to be there, in which case point releases will then be queued up behind a major release..
Loading...