March General Progress Update

March General Progress Update

So its been about a month since my last update. So its about time I updated y’all on where things are at.

Save Manager

The main progress has been on the save manager, with the code base now being pretty close to being production ready. I’m currently working out some bugs on builds which are been a bit annoying. The editor side of the asset is ready though, with just a few stress tests to do to make sure it works.

I have a few feature changes to the asset, mostly due the amount of work for the amount of use it will get. So the create tab has been removed as the creation of save data is a more modular in this version and should be easy enough to follow without a tool. I may add it again in a future update if its requested or really needed, but for the initial release making data manually will be fine with documentation and videos to aid with that.

Speaking of documentation, I’ve been looking into solutions for that. Annoying there isn’t really any solution I’m 100% happy with, most either are paid which I can’t afford given everything I release is free or doesn’t quite do everything I need it to. I’ve ended up trialling an idea using a website builder & either GitHub pages or similar to host the site on. An example below that I trailed using the Multi Scene docs

I’ve also changed up the path remapping in the asset to be different dependant on the target platform. You can define the path still but using some pre-defined strings rather than selecting the path yourself. There are some caveats such as having the update the path for each platform if you want it to be different etc. But it should work out fine for the first version. You can also press a button to open the directory where the save will be if targeting a standalone platform (PC/Mac/Linux).

I think I’m still good for the April release, but things may crop up that interfere with that, well see.

Audio Manager

The advantage of not doing the Audio Manager before the Save Manager is that I can use what I learn from it in the new version. I’ve recently been testing the early versions for bugs (which there are many) and researching some ideas. This week I was able to make a method chain solution that will change up most of the API I’ve written so far. Currently the setup is similar to 2.x with loads of methods for each use case which gets very hard to maintain. If I went about the chaining solution which I’m planning to now it works, I’d be able to reduce that and make the asset much easier to manage from my end without compromising on features. If you’ve used Linq, String methods or some tween libraries then you’ll know the syntax. An example below of what I’m thinking of doing and what it’ll do:

// Example
AudioManager.Play(Clip.Click01).SetVolume(.5f).SetDelay(.1f);

// What it does:
// Your normal play this clip, clip being the struct system I already have in place.
AudioManager.Play(Clip.Click01) 

// Sets the volume of the clip to play at .5f volume (range 0-1)
.SetVolume(.5f)

// Sets the clip to play with a delay of .1f
.SetDelay(.1f);

Now this is still quite a while off as I’ve only just got my head around how to make this work. I also won’t be working on the Audio Manger 3.x until I’ve finished & published Save Manager 2.x. But this will certainly give me a lot to work on. I do still plan to keep a modular method for the more traditional calls should people wish to use that syntax over this setup.

Personal Project

While I’m working on Carter Games stuff, I’m also taking on a personal project at the same time to give me some variety. Mostly to avoid burnout on one project which I’ve had in the past. In this case I’m making a passion/portfolio project where I attempt to replicate the Person 5 Royal (P5R) combat system & to an extent the look as well. I played the game over the Christmas break and really enjoyed it. So decided to make a project out of it.

The end goal is to at-least have a small custom boss battle which a full party of 4 vs something. With the user being able to use a mini velvet room system to make a persona with the skills available to then use in the fight. I don’t plan on replicating the AI or anything for the players party so it will be direct commands for all party members. The party members will also be custom and not related to the actual P5R ones. At the end of the day I’d like to make a mini-experience out of it, but it will always just be for portfolio, I obviously cannot release it commercially due to copyright etc.

Below is a little video below of how that’s going so far on the UI side, but its still very early days:

If you want to see more on the project then you can see the full project page on my portfolio here:

Its a long project so I’m posting update posts which you can view on that page. The up side of doing a project like this is that I learn even more doing it. I’ve now got a custom UI shape system as well as a basic Google sheets downloader working as well will come in handy in future projects.

That’s about it for this update, I’ll see you in the next one.

Whats coming in Save Manager 2.x?

Whats coming in Save Manager 2.x?

Currently the save manager is the asset with the longest time since its last update & with the most progress on its update. As this is the case I felt like updating you all with what has changed between the old and new versions and how it’s progressing so far.

The bad with the old setup

1.x while stable it has a lot of flaws both in workflow and how adaptable it is to different projects. The setup only allowed for 1 save data class which could easily get bloated and was often a slightly inconvient setup for non serializable types such as vectors. The setup also had no way of editing the save in the editor which is inconvient when debugging issues with projects.

What is the new version offering?

The new version offers a much more modular setup which addresses all of the above and more. This currently includes:


Save Objects & Values


  • Save objects holding a collection of values that can be defined as needed.
  • Can save Vectors & Colors as their normal values. No need for SaveVector2 etc anymore.
  • Can store as many objects as needed.
  • Tool like in 1.x to help make save objects.
  • Easily make variants of data in the save with different save keys.

Save Editor


  • Ability to edit all save data in a window.
  • Changes in values apply to game save when changed.
  • View/hide each save object & save value.
  • Easy reset for objects & values.

Save Profiles


  • Ability to save a copy of the current save data setup in the editor and load back to it when needed.
  • Profiles can also be edited in the normal Unity editor if needed.
  • Changing data structure will reset values in profiles, not ideal but the feature is intended for debugging mostly and struture changes can be worked around.

Saving Icon

The ability to show an icon on a canvas when the game is saving for a defined amoount of time. Handy if you want to let the user know the game is saving and that they should not close the game while it is active. Currently is still a work in progress but the first version is working as of writing.

Faster saving and loading


  • Data stored in dictionaries for better performance.
  • Saving and loading process has additional catches to avoid issues.

What is still to-do?


As of writing there is still a fair amount of work to do on the asset before it reaches a testable version. This includes a load of bug fixes to the current setup & a few features I’ve yet to implement which include:

  • Save Encryption
    • A way to let the user encrypt the save data should they wish to for extra security.
  • Path Remapping
    • Support for the user to remap the save path for the save data outside of the project as well as any editor paths for generates files from the asset such as settings assets & save profiles.
  • Additional Collection Types
    • Support for the normal Lists/Arrays as well as other variants and dictionaries.
  • WebGL Support?
    • A planned feature that 1.x didn’t support. My hope is to find a solution to let this new setup work on Web builds. But I do need to do some more research on this to be sure that it’ll work.
  • Documentation & Tutorial Media
    • The big bad of any asset, the docs. Always a slow process. For 2.x I plan to work find a good solution for the docs to be hosted on that I like, It’ll follow a similar structure to the Multi Scene docs I wrote last year though. With some video tutorials going over the basics of how to use the asset to hopefully help new users with commonly asked questions.

ETA?

I don’t have a firm date for release yet as I need to finish the code first, but I imagine that it’ll be ready by around April at the latest. I’ll post a more exact date when I have one but for now that is the best I can give you.

Audio Manager 2.6.1 Live

Audio Manager (2.6.1) Update

In a way to keep this page more active I will be posting update blog posts for each update so you can get additional context for the changes to any product. The changelog will always have the changes listed but sometimes its good to go into a little bit more detail on what these changes actually mean. So here’s the first of these posts.

🎨 Asset Changes


  • Added button on the library tab of the audio manager file asset to allow the user to perform a manual scan in the editor to refresh a file. Previously it was a rather tedious process.

This was the main change is this update that meant it came out more of less the day after it was reported. A user in the discord server reported that they had changed a clip name & wanted to update the library so they could use the new name as the key instead of the old name. This is something that is easy to fix in the upcoming 3.x as the library management is a lot better. But it 2.x it had quite a tedious workflow for it. This update adds a button to let you refresh the library manually with ease.

You can manually update the librarty via the “Force Update Library” button on any audio manager file. This will update the file in question. Once pressed you’ll get a dialouge appearing once it has finished the refresh to confirm it was successful.

The other more minor changes in this update are more just updating some scripts to match the new standards for 2023 a little. So every script now has a header comment. I also updated the asset accessor script to use a dictionary so it’ll be more performant when you use it than the old Linq setup I had before.

🔧 Bug Fixes


  • Fixed a bug where the editor would throw an error on the first instance of the audio manager being added to a game object.

While doing some quick testing I found that there was an error coming up on the first added the audio manager script to a gameobject. This has been corrected so there are some extra checks to avoid this error coming up.

  • (Community Fix) – A fix added in #1 pull request to fix a null ref with the audio pooling system.

This was a fix that went out silently just on Github without a release until now, as it was a minor issue that not many had come accross. This fix is in this release, if you find and issue and can fix it I do accept & process pull requests on the Github repositories for the projects.

🗓️ Where can I get 2.6.1?


Below is the current status of the update on all platforms:

  • Unity Asset Store: Under Review (Expected Mon (9th) – Wed (11th))
  • Itch.io: Live
  • Github: Live

Thats all for this update. 3.x is still in development but awaiting the completion of C.W.I.S before I can focus on it fully. Hopfully it’ll be within the next 2-3 weeks, as there isn’t too much more to do on it other than balacing & a tutorial. More on this soon.

~ J

New Website Layout!

For a while there has been a notice on the site stating that it under construction. But I have finally gotten around to sorting it out properly. I wanted all the stuff I’ve made so far to be accessible by one click and to keep the menu navigation as simple as possible.

To start I blocked out the rough design I wanted to go for and tried to make it as close as possile to said designs. This was mostly successful with only a few minor changes needed to make it work. Below you can see the before and after of each page:

Home Page

The home page has changed the most over the years. In this latest version I’ve made it really compact and ditched the footer content for a simple logo & copyright notice only. I kept the old intro header as I felt that was okay as is, but the rest has been updated with the asset pages now being a click over their logo’s which also have a little hover animation now.

Initial Design

The Result

The Blog/Posts

The blog section has been rather under used this year, but I hope to change that next year. The initial design was going to be mostly the same, however I ended up going for a much simpler design which just has all the posts in one place with pages for seeing older posts. That being said I did still make some minor adjustments to the setup for the posts that appear.

Initial Design

The Result

Pages

The design for the pages, mostly the asset ones were the ones in need of a refresh. The current page for C.W.I.S is good as it is for now. The old asset pages were muddled or lacking information such as the documentation which is currently a mix of hosted locally on this site or on Notion. The new layout has the notions pages on the site. I did hope to embed the pages so I didn’t need to do too much work, but sadly notion doesn’t let you do that & the solutions online were paid only which was a bummer. Instead I resorted to an export of the Notion page which seems to do the trick as the file size for a page was only a few MB.

Initial Design

The Result

New Content

Just this morning I added a new page to the site, but there isn’t any direct link to it yet. This page is the Unity coding style page, to be followed in all projects in 2-23 and beyond. The idea is to keep the style consistent in all my code assets for both myself and any other contributors who wish to add features to them.

You can see this page here if you want a peek: https://carter.games/unity-c-style-guide/

I am also planning to post more on the site with updates on projects as I go as well as some guides & tips to help y’all out. The idea is to make a post atleast once a month, but hopefully twice if not more. We’ll see how it goes.

Closing Notes

With the website now done, I can focus on some other tasks. I have the year in review to prep which is coming up in just over a week & I still have C.W.I.S to finish off. I can say that a good amount of progress has been made there, leaving mostly polish bits and a few gameplay bugs to fix. Most of the gameplay bugs are to do with missiles missing their targets, so quite bad xD.

Another Website Update & Future Roadmap

I have yet again updated the website look & feel. It has been a while since I last use the website posts section to make announcements etc. but this will become the norm soon as I want to revive the website as a hub of knowledge for everything going on with Carter Games.

What’s changed?

So, you’re probably wonder what has changed. The main change with this website update is the structure of it all. Before there was a massive header menu with a load of items and it was all a little too cluttered. Now there are just three sections, “Home“, “Posts” & “Contact” to keep it super simple and easy to follow for any visitors.

The home page has been updated to have more content on it. Previously it was very bland and simple as the footer was an actual part of the page. Now the homepage contains a summary of every major active or release project to date as well as separate pages for users to read more about a particular project and a main link to the relevant store for the project if it is released. I’ve also added an about section at the top of the page and plan to add a slideshow in the future showing off some of the better-quality projects when I have some to show.

The news section has been setup for future content, including guides & development logs. Currently there are obvious gaps which I hope to start filling up in the coming months so keep your eyes peeling for more here soon.

Other updates

Outside of the website update I spent the time to revamp the brand graphics. If you follow me on the socials you will have already seen this, but I thought I’d mention it here to in case you missed it. Below is a before and after for the logo & banner graphics.

A before and after of the Carter Games logo & banner graphics

Roadmap

Going forward for the next 6 months or so I have been planning out what I want to release and when. These are obviously not set in stone, but it’s a rough plan going forward with a more certain one coming around the new year.

Autumn 2022

Audio Manager 2.6.x

I spent the last long weekend 50/50 working on C.W.I.S & this. The idea is to clean up the asset a little and provide some minor improves to the inspectors as an end-of-life update. That is end of life for the 2.x.x version line, not the asset. The asset has a new 3.x.x line in the works which I have made decent progress on and teased on socials a while back. The new 3.x.x version is still quite a way from being production ready. So, this update acts as a mediator between the two versions, introducing the project settings window for the asset settings as well as some of the new standards all the assets will follow in updates when they are next released. Below are some screenshots of the new inspector looks:

The Audio Manager script 2.6.x inspector look
The Music Player script 2.6.x inspector look
The Audio Player script 2.6.x inspector look
The Audio manager 2.6.x settings provider window look

C.W.I.S Arcade Build

I’ve been spending a lot of time on this game project since I started a remake and progress is good. I’ve spent the last few weeks trying to get a good enough looking water shader working from a top-down perspective which is harder than it sounds. I have since settled on a look and continued to work on fixing the existing mechanics to work as intended.

A screenshot of the arcade scene in C.W.I.S

I’ve also spent the time to improve the realism of the missile launchers. Previously they would just spawn missiles from the centre regardless of the number of missiles shot. Now they have the tubes that open before the missile in the tube launches. It’s a subtle difference but a feature I really wanted to add. At the same time, I was able to fix up the missile objects, so the trail particle now correctly reset instead of using up all the particle returning to the launcher when a missile is called to fire again. I also fixed another issue where only 3-6 launchers were being used due to the same reset logic.

A screenshot of the Unity editor showing a open missile tube on the ship in C.W.I.S

Multi Scene 0.2.x

Some of you may be wondering what on earth is Multi-Scene. Yea I’ve kept this somewhat quite apart from a few teasers on socials. Multi scene is a experimental asset to help with making games that use Unity’s multi scene setup, this is where you load scenes additively instead of one at a time allowing for elements of your game projects to be split up into manageable chunks. If you’ve had a gander at the Carter Games GitHub, you’ll have seen this as a repository for quite a while.

Dark Mode

Link: https://github.com/CarterGames/MultiScene

The last major release was back in February of this year with update 0.1.3 where I added a ordering feature to the interface referencing setup. This 0.2.x update adds a load of new workflow improvements to make using the asset a lot easier. These include scene selection for the scene groups instead of a string field, a lot more control over how scenes load & how often the listeners run when a group is loaded + an editor window to load scene groups at the press of a button in the editor. On top of all that the asset manager is now static instead of instanced based for ease of use. There will be lots more on this when this update is released to go over how to use the asset and were using a multi scene setup can be handy.

A promotional image for the Multi Scene asset.

Winter 2022

Compared to autumn, winter will be quieter with some room to allow one of the above projects to fall behind if it happens.

Leaderboard Manager 2.1.x

The leaderboard manager had an update somewhat recently to fix one or two issues. Since using it in a personal project I noted a few features that could use improving along with a few suggestions or comments from users that could be handy for usability. These include:

  • Option to show equal scores as =3rd instead of 2nd & 3rd for example.
  • Option to change the save location of the leaderboard data
  • Option to not use the display pooling setup, instead having the leaderboard be pre-defined in the scene with the rows in the parent object.
  • Option to view and edit all leaderboards and entries in a editor window of some kind.
  • + All the new improvements I’ve made to my other assets in recent times.

Detective Notes 2.x.x

A bit of a supprise one, but for a while I’ve wanted to make an update to the detective notes app with some clearer art, animations & performance improvements.

Early 2023

The new year is a bit of a blank space for the time being, but I do have a few ideas of things to be doing that year which I’ll list below:

  • Audio Manager 3.x.x
  • Some other minor asset updates (possibly a new Save Manager if I get the time)
  • Anything that has overrun from the previous year.
  • Some new game project planning.

So that’s all for this update, keep your eyes peeled for more updates coming soon!