Slowdive's Little Daily Blog

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I guess the votes are in and the split items (last image) is the winner :lol:
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

Yesterday and today has mostly been code clean up work and some UI clean up as well. Nothing exciting to show :lol:

I also did some work on Blackwinter to have it in sync with IBbasic and prepare it to be the default module that comes with IBbasic (other modules are easily downloaded in the app from the IB server).

I started a features list (or maybe a task list) for IBbasic and included it in the IBbasic area of the forums.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past few days I have been working on the in-app comments, module review, and module endorse systems. I converted them to use a mySQL database so that all functions are automated. Everything seems to be working as intended. It took me sometime to figure it all out as it is all new to me. I retired the old web based comment system page as it was overrun with bots anyway (even with the recaptcha). The only way to access the new system is through the IBbasic app (PC, iOS, Android). Next, I want to try and see if I can come up with a system for submitting a module to the server and having it be available to other users to download and play. Right now, I have been uploading modules myself through ftp, but I would rather have a system that the builders can post them from within the app to the server directly.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I was able to successfully upload and download a module package (info and file) to and from the server. So now builders can upload/update their modules directly to the server for players to download (and all from within the IBbasic app). This was the last part that was not being handled with in the app. This will make it much easier and more intuitive for builders to share their modules with others. I still need to work on the logic for checking if the module already exists on the server and just needs certain fields updated or if it is a new module. I also will check and verify that a builder has the right to update a certain module (verify it is their module)... you can only update your modules. I'll need to also have an option to remove a module from the server (from within the app).
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I added in all the logic and notifications for checking if a module being submitted is owned by the submitter and if the module version on the server has a lower module version than the one being submitted. Everything seems to be working as designed. I'll still need to add a remove module from server option. Maybe I'll add a button for requesting to view a list of modules on the server and some of the basic module info (module name, author name, version, description, etc.). That way a builder can check to make sure their module was indeed uploaded successfully.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

So the above system seems to work on PC and iOS, bt not on Android. After some more research, I now realize that the way I am doing it really isn't the best way when allowing other users to interact with the database. So I am researching how to setup a Web API. So the app will just query this Web API which then talk to the database. This way only the Web API talks directly to the database and this is supposed to be more secure.

Another feature I have wanted to add will be to allow players to upload one save game to the server that only they will have access to. I'll probably switch out the "autosave" button to something like "server save". This way a player should be able to save to the server and load that save from a different device as long as they have setup the same unique userID on all their devices (PC, phone, tablet, etc.)

Thoughts?
Pongo
Posts: 156
Joined: Fri Jan 22, 2021 8:39 am

Re: Slowdive's Little Daily Blog

Post by Pongo »

A server save sounds useful - good idea!
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I finally was able to get the file uploading functionality working with the php web api. So I have the uploading of a server save game file and the ability to upload modules directly from the IBbasic app. Now I need to have a corresponding module info post to the mysql database with the path to the module file and all the other metadata. After that, I will implement the download functionality to download your server save game files (one for each module you are playing) and any modules that are on the server that are new to you or updated versions of modules you already have on your device.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

I was able to get the server save game working. You will now be able to save a game to the server (one save per player per module) and continue that save from any other device where you use your same unique userID. Next I will focus on the getting the module upload and download fully working. After that, all the server features will be fully implemented and I will go back to actual game play features.
User avatar
slowdive
Site Admin
Posts: 510
Joined: Wed Jan 15, 2020 4:37 am

Re: Slowdive's Little Daily Blog

Post by slowdive »

The past couple of days I have been cleaning up a lot of the file handling systems and using a common file handling system instead of platform specific. It is one of the newer xamarin.forms features that I am trying to incorporate that should make managing the code easier going forward. The fewer platform specific code the better.
Post Reply