The last few months have been really slow for Auraxis Control Center. Most of the features that I wanted were there and I have not getting any bug reports, and with the jobs and Youtube projects I had to push coding down the priority list. But lots of changes were coming and I decided it was time to get back into action.
With the change from Sony Online Entertainment to Day Break Game, their backend had to migrate from http://census.soe.com to http://census.daybreakgames.com and all the API calls had to be moved to new API endpoint. The API also added new namespaces for PS4 data, both EU and US data. Some other changes that were in the pipeline involve general improvements in some rough edges here and there(more on this can be found here: https://github.com/cesarramirez/auraxiscontrolcenter/issues)
Another aspect that was important for me to support was multiple languages. English is the dominant language in the Planetside 2 community but there is still a big number of other languages. The statistics showed that the most used languages are English, German, French, Spanish, Italian and Russian. The DBG census supports English, Spanish, German, Italian, French and Turkish so I am planning on at least supporting the first five for Auraxis Control Center.
For adding this new features I needed to implement some changes to the code that would break some assumptions to how things were done before. Previously, the URL requests were made using my own API to generate URLS, but this could get complicated and sometimes I ended up just hard-coding the URL. Now with the new set of namespace I had to add some UI elements to let the user select the namespace to use. Some other changes had to go to the database schema so that the namespace would be saved for all profiles and outfits so they could be retrieved later too.
For adding support for multiple languages I had to clean some URLs that had the language hard-coded, as well as condense several Name classes into one. Some strings also needed to be externalized, which was not a big deal, but now I am in the process of getting all the right strings for all multiple languages. Currently I have a doc open to the public where people can contribute to get the strings translated.
I have tested the Spanish translation and all the strings seem to be ready and the Census API also provides the correct values. The namespace support is 99% ready, currently just in the process of doing the last tests. If things keep going well, I should release a new version in the middle of May.
The LibGDX tutorial I had in mind never really happened but I that does not mean I have not done anything with Libgdx. I have been using it periodically to stay up-to-date but I dont have any plans in mind to use it for a game or app.
I also have been working with Alicia to get a Youtube channel. We just started and we are trying to get ideas on what to focus and how we should do things. The current plan is for her to have a Let'sPlay channel with some other personal anecdotes while I will be doing videos, mostly about Planetside 2.
I am planning on starting to work on a game that has been in my mind for the past four years. Since 2010 I have been on-and-off working on a TBS game very similar to Advanced Wars for Android. Since then I have started multiple projects that were related to certain parts of the development process but I never got to really finish any of them. Or at least finish them to a point that I felt comfortable with them. I did a good tech demo using AndEngine back in 2010 but due to limited time and knowledge I had to stop development. Between 2011 and 2012 I worked on MechTactics, a game engine that handled the network back-end of a multiplayer TBS as well as the game logic. This is the project that I feel came out the best, as I got to achieve the goals that I set for the project. But because of work, research and school, I did not have enought time to work on this sort of side projects. Between 2013 and now I still managed to squeeze some small projects, couple python games and a small java project that I did for school.
I found LibGdx last year and I worked on some simple demos. LibGDX is definetly more complex than AndEngine but it is also way more powerfull and also cross-compatible with OSX, Web and Dektop. I will document here my development process, remember I am just starting and learning with LibGDX, so this is not going to be a tutorial.
Version 2.8.X was released! After several months of work, finally I was able to ship the tablet support as well as some general improvements under the hood. After the first day I noticed some minor bugs that were fixed on a ninja-fix with version 2.8.1. After the features were out I started and(after several nights of work) finished adding comments to most of the classes in the game. Now they are easier to understand for newcomers. But I have also noticed a new set of crashes that are affecting a small number of users. With me moving and finishing college I have not have time to go back and fix the errors but is it top priority in the bug tracker. Currently I only have my laptop, which even though capable, it is still not a very good environment to work on. Hopefully I will have some time soon to fix this problems, no ETA though, I will also take it easy as I feel I need some vacations too :).
The app was submitted and approved by the OW team but at the same time I noticed a critical bug that could completely crash the computer. Apparently when multiple kills happen at the exact same time, the Census API may return them in different order every time. If the events come in different order, the killboard will count that as a new events and it will trigger a screen capture. So in theory the API could return a different result on every call, and with that a new screenshot would be taken. Given that the killboards can make requests multiple times a second, that could fill up several gigabytes of data very quickly, eventually making the system to slow down due to all the IO requests.
As I said earlier, I will not have time to work on this and due to the severity of the bug, I decided to ask the OW team to simply remove the app for now. Hopefully I will bring it back at some point.
And I saved the best for last. Now the Census API supports the use of websockets to push some data based on in-game events, more info here. Currently the events you can recieve are kills, vehicle kills, player login/logout, territory change and alerts. This opens the windows of possibilities to a completely new set of applications, seen as now we can receive data on demand instead of having to pull every single time. I have some great ideas, but I will talk about them in other time.
I have spent the last several days working on a new release for Auraxis Control Center. My main focus for this release is to bring tablet support as well as to improve the documentation for the project.
Right now all the code is at the table_support branch. You can see the progress on this pictures:
Most of the functionality is there but there are still an unexpected behaviour with the action bar that I need to fix. I am planning on finishing this milestone before the end of the month but it will all depend on how my schedule will be.