wattiedevlog
wattiedevlog
Games Programming Developer Log
14 posts
Don't wanna be here? Send us removal request.
wattiedevlog · 3 months ago
Text
Games Production (April 24th)
An Overview
This week was only about finalising my projects, getting everything submitted, and ensuring everything works; however, I managed to fully port over Star In The Making to Mobile, which I am pleased about.
Due to the submission date being today, and making sure I have everything submitted, this weekly dev log will be small.
I also exported Dependency Diagrams for each project: Workflow Toolkit and QuickBlock, but for some reason, I am not allowed to post the Star In The Making one, perhaps due to file size.
Tumblr media Tumblr media
================================================
Performance Evaluation
[ I did a lot of bug fixing this week, so I am very mentally drained; this is the last week for my work, so I just have to ensure that everything is completed to a reasonable degree.
I am proud of myself and the work I have done (As it Is much more than I could have ever imagined). In *JUST* the documents I have created, I've written over 25,000 words - not including this devlog, where I roughly get 2000 words a week. And not including the amount of time I've spent coding these projects.
There is much more to do to get these projects even further (hopefully mainstream), but that requires a lot more time, which I am looking forward to. ]
[ I wish I could have fixed a few more bugs, like one that I spotted in version 1.1.0 for Workflow Toolkit, but due to the length it takes to submit a new version, I unfortunately have to notify the lecturer that they should use the older version. ]
================================================
Action Plan
The action plan for the next week needs to be recovering from burnout, then getting ready for the Degree Showcase in June - I still have more functionality I plan to add in my games and other projects - In Star In The Making, I'd like to add more hazards (ways to die) and more powerups. In Workflow Toolkit, I'd like to add a camera functionality that closely resembles the one in QuickBlock, and for QuickBlock, I'd like to source more models and make everything less buggy.
0 notes
wattiedevlog · 3 months ago
Text
Games Production (April 17th)
An Overview
This week, I have been fully confused about cleaning up the Star In The Making, Workflow Toolkit, and QuickBlock projects. I pushed an update for Workflow Toolkit to fix some minor annoyances. I started to port Star In The Making to mobile in preparation for the Games Showcase in June, and to submit it in another medium (even though this version might be too buggy). I have also started a spawning feature in QuickBlock, where you can create a "spawning area" to improve your maps easily.
Star In The Making
Firstly, porting this game to mobile won't be finished when I hand my work in. However, I have made some critical advances in this project with the porting to mobile that I feel are important enough to hand in as a part of my work, as this was the original goal with this project (But had to get sidelined due to time constraints).
I learned a lot from porting to mobile. I had recently purchased a new phone that uses Android 35, whereas the current highest accepted Android version on the Unity version I created the game on was 29. This was incredibly buggy, so I had to first upgrade the version from 2022.3.18f1 to 2023.2.20f1, which enabled support for up to Android 33.
Tumblr media
I had many Gradle build errors until I upgraded to the 2023 version. Gradle is an open-source build system for Java, Kotlin, and Android, which Unity requires to build an APK file.
Tumblr media
Once the APK was built, I encountered quite a few errors. The first one was that the graphics were either corrupted or some mobile settings needed to be swapped.
Tumblr media Tumblr media Tumblr media
As you can see, the User Interface and Colour are just wrong. They aren't accurate, and the UI isn't even correct (there is no pause or settings button in the Game Scene, and the top grey bar isn't completely full). There were also FPS issues relating to settings, which I will discuss later.
I turned off some settings, including the HDR colour palette, which made it look better, but it didn't completely fix it, so I had to continue looking.
Tumblr media Tumblr media
After changing the colour settings from Gamma to Linear, and modifying the Quality settings in the project, I managed to get it as accurate as possible for the mobile version - I am quite happy with this, but it could always be better. As it stands, this is fine.
Tumblr media Tumblr media
I then had to remake the Death effects from last week, as they didn't go over for some reason. This was quite annoying to make, as the different versions made it so I couldn't export the asset over. So I remade it, with fewer particles spawned, as mobile phones have fewer resources.
Tumblr media
To be able to move, I also swapped out the playermovement to a swipe-based one. The modification was quite simple, but I had to do a bit of research into how to do it.
Tumblr media
Essentially, you have to get the "mouse position", see where the swipe starts and ends, then send the player in that direction.
I also realised that there were some FPS issues while on mobile because of a setting I was unaware of until now. It's called Optimised Frame Packing. It helps sync up frames and even out the frames, but it is known to have some issues when on mobile.
Tumblr media
The game now runs a little better, but I need to investigate more about improving the frame rate.
The button icon also fits this game and looks great on mobile.
Tumblr media
I will continue to improve Star In The Making Mobile, as there are still quite a few bugs.
I also received some feedback from Ellie, a previous year three student, for this app's mobile version. They said some important information that didn't effect me on my phone, due to the countless different sizes that mobile phones come in:
only thing i saw that could be taken as issues are the ui being a bit zoomed in in certain places, in game options are fine though, game over screen feels quite zoomed in
tutorial text is quite high up, causes it to get covered by my camera
Tumblr media Tumblr media Tumblr media Tumblr media
Workflow Toolkit
I uploaded my first update for Workflow Toolkit on the Asset Store. This update fixes a few accidentally missed localisation strings and adds necessary UI improvements to the tools.
Tumblr media Tumblr media
Every tool has this, although some might not need it. It's surprisingly easy to introduce this: just add two lines.
Tumblr media
The scroll wheel automatically pops up when needed, which is quite good.
I added the missing localisations and updated the website to reflect the updates.
Unity Asset Store took a few days to update, but it finally did it on the 16th at around 5 a.m. (about 3 days).
Tumblr media Tumblr media
I found this update to be quite vital - small, but vital.
QuickBlock
I worked on a functionality that I had seen while looking for similar level editing projects. Essentially, you spawn in little points around your map, and you can instantiate many at once.
First, showing how it works will make explaining easier - but note that this implementation isn't complete, and we will be improving it as the days go by.
The temporary name for this feature is called "Placer". This is subject to change.
Tumblr media
There are 3 different spawning settings: Random, Fill and Wall. Random mode adds a density slider and spawns a random number of your spawn prefab inside the area. Fill, well... fills the area, and a "wall" spawns at the perimeter of the selected area.
Firstly, click "Start Spawning Points", then hold ALT and left click in your scene to spawn "placer" points.
Tumblr media
Once you click "stop spawning points", the prefab will instantiate in your chosen method. This is the "Wall" mode:
Tumblr media
Note, it is buggy, but I should hopefully iron out any spawning issues by the submission deadline.
This is "Fill" Mode, arguably the least buggy of the three spawning options:
Tumblr media
This is "Random." Random will be great for spawning trees in a large area, and the "density" setting is used to control the amount of randomness—this will be cleaned up later and made more obvious (and hopefully have a "detection" subsetting that allows the spawned prefab to not spawn too close to other objects).
This is footage at 0.2 density:
Tumblr media
This is footage at 0.7 density:
Tumblr media
As you can see, a much bigger amount.
The settings below are Snap To Ground, Grid Snap, and Freeze Rotation. Snap To Ground is a debug setting that will be removed in the submission version. Grid Snap ensures that the spawning listens to the grid. Freeze rotation makes it so blocks don't spawn inside each other, and the rotation isn't changed to match the spawning.
The difference between having freeze rotation ON and OFF is *very* easy to tell:
Freeze Rotation OFF
Tumblr media
Freeze Rotation ON
Tumblr media
This is a very nice design, and I am looking forward to adding more to it. However, as discussed before, it is quite buggy at the moment.
================================================
Performance Evaluation
[ I believe this week was incredibly productive. I did a lot, including the mobile version of Star In The Making, and did my first update for Workflow Toolkit to understand how this works in the future. I am also quite happy with the progress in QuickBlock. This setting is quite good and essential for the project; it allows foliage spawning, which I didn't have an option for before. ]
[I could have done more work, but I have been quite busy - today was a slower week, but I still did a lot. I unfortunately can see my burnout slowly coming back. However, I am close to the end, so I just need to power through. ]
I am pretty happy with my progress, though. I need to iron out a couple of bugs and make a basic map for the QuickBlock submission, and then I will be done.
================================================
Action Plan
This next week needs to be about being a bug-hunter! I will need to find the last few issues to iron out, write some small documents on how to use the projects and get ready to just press the "submit" button.
0 notes
wattiedevlog · 3 months ago
Text
Games Production (April 10th)
An Overview
This week is one of the last weeks of submissions - Unlike most others, I have until the 24th of April, so I will continue posting weekly submissions until then. During this week, I helped a fellow student outbuild his project in an emergency; I have been working on a camera functionality on QuickBlock, Rehauling Star In The Making based on feedback: Adding a tutorial, improving Post-Processing, adding some general improvements. I also have started the process of porting to Mobile, (which has been very positive).
Star In The Making
I first sent out a questionnaire to a few students at the university, asking if they could test my game and give me some last-minute feedback. The results were mixed - I managed to successfully get three people to respond, and one of the testers sent it out to their friends—so in total, there were five responses.
This questionnaire discussed the Audio (both music and sound effects), whether the accessibility features were important, whether the game would need a tutorial, and whether the game ran well.
Tumblr media Tumblr media Tumblr media Tumblr media
I found that 4 out of the 5 responses were incredibly helpful; unfortunately, the last response was very non-constructive. They essentially just said, "Your game needs to look more like this game", although being in a completely different genre and being 2D instead of 3D.
The first thing I worked on this week was improving the Post-Processing in the game. The main scene was very polished, but once I entered the game, it felt a bit too "blank." Adding Post-Processing to the game made it pop out more.
Tumblr media Tumblr media
I then improved the death scene, as I felt this was just plain bad. It ju
Tumblr media
This doesn't give any information, and now it doesn't fit into the project style; I had to improve this desperately. I had received feedback specifically about this: I was told that my score should be shown and there should be a nice UI effect.
Looking through the packages I had purchased for this project, I realised that there are two different "Skulls" particle effects that I could modify for my purpose.
Skulls 1 Skulls 2
Tumblr media Tumblr media
I went with the Skulls 2 design with some modifications. Firstly, the porting from the sample scene to my scene came with some bugs, making the pattern not uniform. However, it still looked much nicer.
I then deleted the Death Panel and made the Game UI disabled when you die and the Death UI enabled. These changes made the death scene so much better.
Tumblr media Tumblr media
I then created a tutorial page, which was also a part of the feedback. It was suggested to me (Although I had the same idea) that I should put a little button in the UI as a notifier, where people can click to figure out how to play the game.
I made sure to have a cute animation on the button and a hovering "tooltip" that says "Play Tutorial".
Tumblr media
This tutorial was hard to make, as I had to restructure scripts to have an "IsTutorial" flag. So, for example, a hazard will automatically be much stronger than if the game just started to amplify; the effect of the spawning pool will only spawn one energy at a time.
Essentially, this tutorial is quite simple, but I wanted it to be that way: It shows you the movement, how to collect energy, how to pick up powerups (and their functionalities), how to avoid hazards, and more.
I designed this tutorial to be relatively hands-off.
The scripts specifically for the tutorial aren't the most efficient or clear, and I need to work on improving them in the future.
This tutorial also works in all included languages, including Danish, which I had just added before working on it.
Moving on to the settings, I improved something that had also been requested: customisable volume for SFX and Music. Previously, you could only control the music with the mute button in each UI area. I have implemented a slider for both the SFX and Music volumes, with the mute button now being a global mute.
This required me to shift around the settings menu a bit, but it made a big difference.
Tumblr media
The sliders independently work as expected - including saving and loading the correct volumes.
Next, I optimised the codebase to ensure that everything was up and running.
I have also implemented UI sound effects that fit the game more, these are "bubble" popping noises. This will be discussed more in the next week, as full implementation hasn't finished yet.
Workflow Toolkit
I purchased around £30 in advertisements on Reddit, which resulted in roughly 30,000 advertisement views and 150 clicks to the Workflow Toolkit unity page.
This screenshot is quite outdated, and was taken before the end of the campaign, but it is a good visualiser.
Tumblr media
I didn't plan on doing this, and I don't think this advertisement will get me any purchases, but it is also good to understand how to use advertisements in the future.
More in-depth information can be found in my Marketing Strategy Document.
QuickBlock
The current feature I am working on for QuickBlock is a "Security Camera" sort of system - essentially, you click on an object and can spawn a camera. This camera allows you to screenshot your game - you can do this for multiple cameras. Additionally, if I get the time, each camera will enable you to spawn a small camera viewer, so when playing the game you're testing, you can track where each user is.
This system is a work in progress and is currently very buggy - so I'll only show what fully works now.
Tumblr media
This is the Camera System UI. You can create a custom camera name and change the global resolution, image size, and FOV.
I have yet to decide whether the image size will be removed, as it'll make it one less setting the user has to worry about, and most people won't be changing it anyway.
When spawning a camera, you need to select a GameObject for it to focus on. You will get a simple warning message if you haven't done this.
Tumblr media
When selected, however, A camera will spawn that faces the selected game objects.
Tumblr media
A small array of buttons pop up, along with the camera name (the custom name comes to play here, and the default camera name is the object's location).
In order, there is the "Screenshot" button, the "Reposition" button, the "Render" button (if off, the cameras won't appear), and the bin/trash button, which deletes the camera.
If you press the Screenshot button, the tool will take a photo with the camera, save it as a file and open it all at once.
Tumblr media
Clicking the "Change FOV" (and setting it to 120, where the default is 60) Button changes the following screenshot you take, which looks like this:
Tumblr media
However, you can also press the "Reposition" button. This button does what it says - it repositions the current camera when you highlight a different area.
Tumblr media
With QuickBlock, I have also improved some button designs, including the "Spawn Scalable" buttons.
Tumblr media
Some quality-of-life improvements have been made, with widget bugs, UI issues (buttons do not react when the window expands), and minor functionalities not working.
================================================
Performance Evaluation
[ This week and last week, I have both been focusing on working on the behind-the-scenes documents to ensure everything gets submitted efficiently and correctly, so the progress that I have made while doing this is (in my opinion) reasonable. ]
[ Working during my last few days for this project is stressful, and working on last-minute feedback is also quite tricky, and I can feel myself getting burned out again. I need to keep my head down and work on as much as possible to polish off QuickBlock, particularly before my deadlines (even if all of the functionality I wanted couldn't been implemented). Unfortunately, the closer and closer I get I realise that this project almost definitely won't be fully flushed out until well after deadlines - but this is also a good thing as I'll be able to use this on my portfolios, and submit this to Unity Asset Store along with my already-submitted Workflow Toolkit. ]
================================================
Action Plan
In the next week, my whole focus needs to be on adding to QuickBlock and getting it to at least a semi-usable state. This project is massive and has a lot of potential, but it is a project for the future.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (April 3rd)
An Overview
This week has been about finishing up documents, ensuring my ad campaigns are running fine, getting some final QA and Testing feedback and fixing minor bugs on Star In The Making - I, unfortunately, do not have anything tangible to post this week due to focusing on documents.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (March 26th)
An Overview
This week wasn't as effective as I'd wished. I needed to improve some post-production documents as I have recently left this a little behind. Nonetheless, I made significant progress with Star In The Making - specifically with gameplay mechanics and code quality. This is similar to QuickBlock; I have improved some functionality and code quality..
Star In The Making
During this week's development for Star In The Making, there have been a few things done; firstly, I have contacted a very talented Audio & Sound Designer who would like to take on my project - We have talked back and forth for 3/4 days or so to ensure the sound effects he makes are both accurate to the project, and what the project needs.
I had to find all of the Session Files (a file that stores the whole "Music Setup") and Stems (the individual parts for the music) and neatly give them to him; this is so he can use my existing music to have similar sounds.
Tumblr media Tumblr media
As an example, here are some of the individual Stems from some of my songs:
Of course, he will take a few days to make these sound effects, so I don't have them yet. I did develop the infrastructure for these sounds, though, so when it comes time for him to give the assets, I can drag and drop them.
In terms of development on the game, the project had a few bugs I hadn't noticed until the person who helped me make the magnet power-up sent the code back - essentially, the death functionality from the Hazards just stopped working.
This made me panic as nothing was working in terms of colliders, I tried to remake the black hole, and it still didn't work - the rigid body detection didn't work, collider2D detection didn't work, but I noticed that the energy asset still had to work colider2D/RigidBody detection
Tumblr media
I then figured that the Energies' Collider & Rigidbody works, so I copied and pasted all of the settings from the Energy Prefab, and thankfully, it worked.
Tumblr media
After fixing this critical bug, I created a shader for the magnet effect - I believe this design is excellent and shows how far the magnet effect reaches to pull in the energy. I then slightly tweaked the colour & blur amount to make it look nicer.
Tumblr media Tumblr media
Here is the effect in action - I personally love this effect.
Tumblr media
Temporary pick-up assets will be replaced in the next couple of days, as a tester (Who is also good at art) said they would make a few for me.
To quickly comment on the optimisation, I went through hundreds of lines of now obsolete code and removed it - this included save files (as this is a hypercasual game), discord integration (which caused a lot of unnecessary bugs for no real gain), any unused functions from these integrations. I also removed hundreds of assets from imports and removed any that weren't used - this is important to project cleanup to ensure nothing unnecessary will be here.
Tumblr media
Workflow Toolkit
Last week, the Workflow Toolkit was accepted into the Unity Asset Store, so I gave out around six codes to testers: two for lecturers who will be marking my work and one for me to verify that everything in the project works and so I'm able to write up about the redeeming process.
The way you redeem these codes is straightforward; you get the developer to generate a key, head to the Unity Asset Store, click 'Redeem Code' then paste it in
Tumblr media Tumblr media
Then click 'Redeem' then 'Claim Now'
Tumblr media
You're then able to use the asset in Unity
Tumblr media
I updated the workflow toolkit website to include the new Unity Asset Store links on the "Purchase" page.
I also received some valuable feedback on the Unity Asset Store page, where people can see the rating and react. I responded to this feedback in an appreciative manner, as this is how I planned to respond to feedback from my Marketing Strategy Document.
Tumblr media
I have also received confirmation from 3 people who have downloaded this project that everything works perfectly; it imports correctly and doesn't have any issues when loading - so that's good and something I don't need to worry about right now.
QuickBlock
This week, I didn't do much on the whole project - I optimised the code, worked on the signifiers, then modelled some basic shapes and experimented with blender to come up with some nice effects for the signifiers
Firstly, I looked for some inspiration for the "Markers"; I know a rough sort of style I'd like the Markers to look like - I wanted it to have that anime-style outline that I've seen in some blender tutorials recently. (Something like this)
Tumblr media Tumblr media
I looked at some tutorials and found a semi-easy way to make them. However, I would have to remake some already-made assets for the project, as it required a completely different setup.
As you know, I'm not great with Blender, only using it when absolutely necessary. I found it very stressful to figure out, but it was fun, as some things are quite clunky for me.
Firstly, I had to add two materials to the model, one normal and one "Emission".
Tumblr media
I then had to add a "Solidify" modifier and change the material priority to 1, so it put the Solidify modifier on the outline material.
I then messed around with thickness settings and different material types but found that the emission one was best.
I clicked "Render Image" to see if it worked, and thankfully it did:
Tumblr media Tumblr media
I then repeated this process with several different model types: block, triangle, and semi-circle. The Semi-Circle was quite difficult, though, as I had to cut a circle in half using the "bisect" tool.
Tumblr media Tumblr media
Before porting everything into unity, I created two shaders - one for the inside of the shape and one for the outside, so when I drag the eventual marker, you can see a solid centre and a translucent outline
Tumblr media
The black square "MarkerInside" was relatively simple; it's just a shader that is built to render an opaque colour that the colour changes slightly depending on the viewing angle - the grey "MarkerOutside" was quite tricky, but it essentially works by comparing the depth to your screen camera and changing the opacity
I then imported the models that I created to my project and had a few issues - especially with the semi-circle:
Tumblr media
I fiddled with the settings on blender for a bit until I figured out that the rendering settings were on "Fill" and "Only Rim" and not "Even Thickness" once changed, it made a big difference:
Tumblr media Tumblr media
I then imported the rest of the assets, connected up the materials, and resized the objects to the correct sizes.
Tumblr media
The first iteration of these models was quite glitchy; as you can see on the left model, the centre isn't the correct size, but I managed to fix it by remaking the outline instead of scaling it in Blender.
Tumblr media
After doing this, I then attached each model together - The pole will go with the Triangle, Square and Semi-Circle, along with a Gizmo and Circle Collider for future functionality.
Tumblr media
I messed around with the gizmo style and felt that the text version was better. I'll be able to write a script that applies the area's name to the gizmo.
Tumblr media
I also implemented the Instantiating of the markers into the UI, but full functionality hasn't been included yet.
After working on the Markers, I needed a little bit of a rest, so I worked on improving the codebase, as currently, almost all functionality is connected to the Main Windows inside of the Main Window script, which isn't great coding - I spent a good few hours going through the code, moving functionality to their own scripts
Tumblr media Tumblr media
I ended up creating three new scripts: ZoneUtil, PaletteManager, and UIDesignUtil. This allowed the Main Window to go from 700 lines of code to around 480. I also refactored the code using Rider's built-in plugins to ensure it ran smoothly.
================================================
Performance Evaluation
[ The amount of work I did was quite good, considering I have been focusing on my Post-Production document writing and work. I also believe my work is quite essential - especially on Star In The Making. Getting the SFX Artist to create some audio for my game is fantastic, and getting an artist to do one or two assets for the game is also quite good. I wish I could've done more for QuickBlock, but time didn't allow it. ]
[ I unfortunately could have done more, but I didn't want to strain myself and risk being burnt out again, especially this close to the deadline. I see myself slipping from doing important work, like better Quality Assurance and Beta Testing. Still, everybody, including year 2's, is busy with their work, so it has been almost impossible for anybody to try each update. ]
================================================
Action Plan
Next week should be about finishing Star In The Making, getting those two final assets in, and finishing the audio—Star In The Making will be finished then. The second most important thing to do is implement the Zone functionality to its completion. I had planned to get some people to make a few models for a map, but this is not possible anymore.
Next week, I plan to also have a small video out, which will complement my post-mortem.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (March 19th) 2/2
I then started to create a "Zoning" System; this is not fully implemented, as I need to add a few more features to it; nonetheless, it is looking excellent so far
I have designed two modes, "Area" and "Wrapped" - Area mode is better for more significant regions of the map, and Wrapped mode is for smaller areas.
Tumblr media
This zoning feature marks specific areas - a bounding box that attaches to your already placed sections. Firstly, I have created a wireframe shader and material (using some tutorials) to make the zone look more professional.
As you can see, the box's corners are filed in, whereas the areas aren't. I like this design a lot, especially the default zone material.
Tumblr media
I also plan to work on different materials to better signify different areas.
I have also added a colour system where you can colour your zone. There are three template colours (red, orange, and green) with a custom colour button. I will make the UI more appealing for next week, but focusing on functionality at first is more important.
Tumblr media
I have also started working on a "Pin" or "Signifying" feature, where you can spawn in arrows, pins, no-access areas, and more. This feature isn't implemented, but I have started designing the buttons and UI for it.
Tumblr media Tumblr media Tumblr media Tumblr media
These are the current buttons so far, a Hammer, Arrow and Pin.
Tumblr media
I have made each button add a specific shape (for now) while I add the proper prefabs.
Tumblr media
This will be worked on until its completion next week.
The last thing I added to Quickblock this week was snapping functionality, it now works natively in the settings tab, and I'm quite happy at the design.
Tumblr media
The buttons at the top (0.25, 0.5, 1.0, and custom) control the grid amount - it changes the snapping. Grid Bounds control the grid snapping bounds.
Tumblr media
================================================
Performance Evaluation
[ I think it's clear that these two weeks were generally a success. I added a lot of functionality to Quickblock, and it propels the project forward. I am also getting some help on my other weak project, Star In The Making, from an ex-student at the university; even if he doesn't do too much, it has helped me in allowing me to put my full focus into QuickBlock this week.
I'm also overjoyed that Workflow Toolkit is now live on the Unity Asset Store (here's the [link] if you'd like to visit it), which means I can start making money off of this project (and use it for my portfolio website).
I believe that this project can go far, and I will continue to work on it after university, as I believe it shows off my skills very well and will allow me to enter the Gaming Industry more easily. ]
[ To be honest, there is nothing I can say negatively about my progress today, I didn't precisely follow the checklist in these two weeks, so I'll need to evaluate it and re-add some necessary tasks. Nonetheless, these two weeks have been some of the strongest. ]
================================================
Action Plan
Next week, I will continue with QuickBlock's functionality - specifically the Zoning & Pins/Area Signifiers. Workflow Toolkit has been wrapped up, so it leaves a few bits on Star In The Making and final functionality on QuickBlock. I will continue to monitor the Unity Asset Store for plugin purchases (although I don't think there will be any) and any tips/feedback anybody can give.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (March 19th) 1/2
An Overview
This week was incredibly productive; I have put my full attention this week and last week into QuickBlock, from researching the features I had planned to add to add them to the project. I have also asked a few previous year 3 students for help with my work, as no year two student has contacted me about helping yet.
Star In The Making
I asked a previous student for a favour to help me - he will be credited in the project files. I had asked him to work on a few gameplay mechanics that I had started but didn't have the time to complete due to Quickblock being very far behind and all of my focus being directed to this.
So far, he has only shown me one video of the mechanics I requested: the addition of the power-up Object Pool and the "Magnet" Power Up. He is currently working on some SFX for the project, but this will be shown in next week's devlog.
This video also shows my canvas system working, where multiple screen sizes & shapes still have no issues with the UI.
Workflow Toolkit
I didn't do anything regarding the Workflow Toolkit code - but I submitted the project and waited for the green light (or red light). The whole process took 6 days, and the queue was anxiety-inducing.
it went from 336 on the 14th march -> 359 on the 15th -> "A few business days" on the 18th.
Tumblr media Tumblr media
Unfortunately, I got denied as my website wasn't pointing to the correct domain, and I didn't have a contact & feedback form - so I got to work adding them to re-submit my project
Tumblr media
Firstly, I created a temporary website on Adobe Portfolio—this will just be so everything works and the publishing checkers can make sure that I have a good website set up, as I don't have one for my Games Studio yet.
Tumblr media Tumblr media Tumblr media Tumblr media
For more authenticity, while verifying, I decided to connect my domain to Adobe Portfolio's website, so I don't have that ".myportfolio" domain.
I did this through Namecheap's Custom DNS settings - Adobe Portfolio gave me some IP addresses I needed to connect.
Tumblr media Tumblr media Tumblr media
I then worked on a contact page for the workflow toolkit project website - it took a while to make and had a few issues (like the contact button not being "secure), so I switched over to a form API called FormSpree
Tumblr media
The form itself isn't very pretty, as I just wanted to make sure I could conform to the Unity Asset Store rules, so I could re-submit with a fast track to get re-submitted.
This implementation wasn't hard, but it did take a while. The API is quite simple, but web development isn't my strong suit.
Tumblr media Tumblr media
this is what it looks like when somebody submits something to this website:
Tumblr media Tumblr media
I can email them back once I get a bug report or issue.
UPDATE!!!
As for submitting the Workflow Toolkit again, 30 minutes later, I got an email ~30 minutes later telling me I had been approved! This is so exciting!
Tumblr media
It can now be viewed, used and purchased on Unity.com as well!
Tumblr media
Tumblr media Tumblr media
Package Manager & Importer view
Tumblr media
I will continue to work on the Workflow Toolkit through Year 3 and beyond, as this project has incredible potential.
I have generated a few "Vouchers" for this project - I'm only allowed a maximum of 16 a year, so I have decided to give around 4 to beta testers who are free and willing to review my project and one to the person grading me (to test).
Tumblr media
QuickBlock
This week, the project has received countless bits of functionality, including scalable objects, zones, widgets, default palettes, and more! These two weeks have given this project a major bump forward.
Firstly, starting off with the easiest to explain, Scalable objects are objects that are… scalable; essentially, the three "primitive" objects, Walls, Floors, and blocks, are now able to be scaled, and instead of stretching, the object just gets bigger. I had to modify the default QuickBlock shader and add some code to achieve this.
The Left (white) block is the standard, primitive block - and the Right (black) square is the testing-scalable block. As you can see, the shader is grid-based, not block-based.
Tumblr media
The texture compresses and stretches with the white block, whereas the black block conforms to the texture.
To do this first part, I had to modify the shader to use tri-planar mapping, whereas before, it used normal UV mapping. I had to do a lot of research on how to make one, but it was worth it. I found this tutorial by Catlike Coding useful [here].
This was the first area in implementing the fully scalable object - if I didn't modify the shader, the scaling would work but look silly.
I created a simple script to animate and round scaling, with a unit size so you can control precisely how much you want to scale. For next week's submission, I will make a nicer menu setting to change the unit size and animation speed.
Tumblr media Tumblr media
This is the scalable block on 0.5 units, meaning that you can half the block (go 1.5, 2, 2.5 etc)
Tumblr media
This is the scalable block on 0.25 units, meaning you can half the block (go 0.25, 0.5, 0.75, 1, 1.25, etc.).
Tumblr media
The wall and floor prefabs are the same but have a different structure. I'll only show these for brevity (and Tumblr's upload limit).
I find this feature quite important, as the prefabs I have might not properly suit the user's needs, and this provides at least some flexibility.
I then worked on some default/template palettes for the project, which will likely be tweaked. Even so, I need visuals to clean up the UI.
The function I made two weeks ago that generates an image for the palette is handy for this, as I can just set the images as buttons and add the function to swap the palette.
Tumblr media
In order, you have Blue Dreams, Forest, Purple, Sunset & Volcano.
The next thing I added was Widgets - widgets are similar to my Workflow Toolkit system, but very simple - they're little windows that give you information on the project.
This could be a vital feature, as it's expandable and can provide excellent ease of use.
Only two widgets have been made so far: Notes and Project Statistics. Notes are just like notepad; you write ideas or notes and pin the window to the side. Project statistics show how many of each section you've placed, with more functionality coming.
Tumblr media Tumblr media
As you can see, they're pretty simple but do provide some nice functionality. I have also made it so the tabs can be dragged around and "Pinned" using the green dot button.
Thankfully, the functionality works flawlessly on both.
Tumblr media
Part 1/2 of this weekly devlog.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (March 12th)
An Overview
Due to unforeseen issues, I will not be posting a devlog this week, but my progress for both weeks will be combined in next week's recap.
I have been working on QuickBlock and Star In The Making this week, but they are also not significant enough to post.
0 notes
wattiedevlog · 4 months ago
Text
Games Production (March 5th)
An Overview
This week, I needed to focus on some post-production documentation, so I haven't completed as much work as I should've; however, I still believe that the work I did is incredibly valuable to these three projects as a whole, and I have still made decent strides in my FMPs, especially on Star In The Making
Firstly, however, I cleared out my FMP Task document and repopulated it with incomplete tasks from last week and some new, fresh tasks
Tumblr media
As you can tell, I wanted to focus more on bringing up Star In The Making project, especially as I fixed that one critical bug last week - I needed to put some work into the project.
Star In The Making
This was my main focus for this week - I did a lot of research into making powerups for this project, fixing some annoying visual bugs and more.
Firstly, I wanted to quickly get one of the "Easy" tasks crossed off, so I fixed a UI issue that has been annoying me - essentially, the Colour Blindness toggle setting's text was incredibly blurry, scaling up or down the text, changing font size etc doesn't work, so I had to find another way to fix it
Tumblr media Tumblr media
These buttons don't work the same way as a dropdown, and I needed to code my own logic to allow only one option at a time - this wasn't difficult but required some tinkering.
Tumblr media Tumblr media
I also added some of the same button assets that I used in the Main Menu button, resulting in fixed buttons that look nice.
Tumblr media
I then started to research powerups for this game. In my Game Design Document for this project, I had talked about adding three specific power-ups: "Speed," "Hunt," and "Point Pack." I believe these power-ups would be a nice way of making the game more challenging, but I needed to modify the ideas of each power-up.
However, from my research and idea planning phase, I decided to replace the Star's Trail Renderer with textures and customisation to add nice effects when picking up a power-up.
Tumblr media
This is the current star material; it's a default white colour - I then played around with different textures and assets and found the "Flare" shader -
Tumblr media Tumblr media Tumblr media
I found this idea quite intriguing, as it let me make
Customizability options
More "depth" in this game; for example, making specific textures for hitting landmarks (1000 points, 5000 points, etc.)
I opened up Photoshop and decided to try to texture the default idea with one side being slightly lighter grey to give it a subtle effect, but I quickly realised that both sides having the grey line looked better
Tumblr media Tumblr media Tumblr media
This worked out very well; however, the shader didn't have an option to change the tint of the shader, so I needed to make some nice effects for the pickup.
This shader is made by Unity, so it was pretty easy to decompile and make my own custom one, simply by copy-pasting and cleaning up the code from the shader itself - I also just added a simple colour tint that I found in the Unity docs page here.
Tumblr media Tumblr media
This allowed me to add the tint I needed to start animating the trail effect for power-ups.
Tumblr media Tumblr media
I then just made the first power-up, the speed one - as it was the easiest essentially, all I did was create a "powerup" script, and in this script, I created an OnTrigger2D function that triggered when going into the collider of the powerup, and a function that housed the speed power-up settings - making the colour of the material's shader a rainbow, increasing the boost strength slightly, decreasing the boost recharge time and increasing the "bounce" (stretching and squishing) amount to making the speed power-up more believable.
Tumblr media
I could've optimised the rainbow effect, but I used a function from one of my previous Java projects and ported it over.
Tumblr media
I also made the temporary power-up asset, which will be worked on for next week (and the spawning of power-ups, too).
I could not work on the "Hunt." power-up (and the point-pack will be discarded, and another plugin will take its place) due to time constraints and the amount of research it took to create this power-up in the first place. However, I now understand how it'll work and will make the next few powerups easy to develop.
Workflow Toolkit
Not much was done on this project, as it's nearly wrapped up. However, I modified one thing - I changed where the resources were being loaded from, allowing me to use Resources.Load() and do not have to use hard-coded directories. This change is for an end-user who wants to change where the default workflow toolkit files are, and it just makes the plugin more professional and efficient.
I also put the dependencies in this project file to simplify the file structure, and these changes will be reflected in the upcoming versions of the documentation.
Tumblr media
I also deleted a few unnecessary scripts, like CompressionType.cs - this Enum used to control which data compression algorithm the user wanted: None, Lz4 or Lz4HC, as the functionality had been ported into other scripts (the OptionsBuilder script)
QuickBlock
This week, this project only needed a little maintenance and fixing a critical bug (which I managed to do somewhat). These bugs included tiling/snapping issues that prevented you from placing walls or floors correctly.
Firstly, I had figured out a very botched job of modifying the snapping scale of the specific sections to get the correct grid snapping. However, this had so many issues (like only working for two out of the 8 walls), and it wasn't practical.
Tumblr media
As you can see, it's far from perfect, and all the other walls (that aren't doors) don't work entirely.
Tumblr media
I talked to Sean about this, and they talked about the Origins of the models. I asked them about this on the 11th of February, as this has been a critical bug for a while - I had to ask everybody else as they weren't responding to messages. Jade managed to figure out this issue in the Models and fixed 99% of the issues I was having.
Tumblr media
There is still one issue I have discovered and will look into fixing in time for next week's devlog (as it is pretty annoying, but I think it'll also be quite challenging); the wall models only line up correctly on one side. I believe the way to fix this in code is to mirror the transform when it detects it on the wrong axis.
Tumblr media
To finish this week's recap on QuickBlock, Adam Mann - another student- made loads of models for this project. He is on holiday and hasn't finished some aspects of the models (like UV mapping) and correct scaling. Still, I appreciate his hard work and will ask him to complete it after he returns from holiday - I estimate it to be completed by week 9.
Tumblr media Tumblr media Tumblr media
Adam managed to do some of the UV mapping; here is an example of the UV-mapped ramp:
Tumblr media
but here you can see that the UV mapping wasn't quite correct, but it'll get sorted out:
Tumblr media
================================================
Performance Evaluation
[ I did pretty well this week in terms of research. It takes time to figure out how to create and implement my ideas into these projects, such as the power-up changes and the Workflow Toolkit hard-coded directories. I believe I did this in a practical way that allowed for the most optimisation of my projects. I have much more to do, but I feel confident and excited to implement these ideas further (more power-ups, more customisation for quickblock, etc.). I also completed my action plan for last week by researching and creating the start of power-ups. ]
[ I do believe that this week wasn't as effective as it could've been in terms of the creation process - I could only get one power-up done and couldn't improve QuickBlock as much as I wanted, but it's good legs to stand on, and while the weeks are counting down, I can do more work more effectively. ]
================================================
Action Plan
Next week, we should focus on completing at least the power-ups, including the "Hunt" and replacement for the "Point Pack" power-ups, fixing the spawn object pool and QuickBlock's directional placement issue, and adding more functionality into QuickBlock (like the "tagging" idea, where you can individually label specific areas of your map).
0 notes
wattiedevlog · 5 months ago
Text
Games Production (Feb 26th)
An Overview
wow... A very busy week - I have been recovering from burnout for the last few weeks, and my plans for a slow reintroduction to work, with the focus of doing important, but not stressful tasks has allowed me to do almost all of the tasks set out two weeks ago. This Devlog post will go through everything I've done this week, but the main focus was getting these tasks finished.
Tumblr media Tumblr media
Star In The Making
I would like to first talk about Star In The Making: This week, I set a dedicated day (Monday) to figure out the phase-through bug with my void asset. I have been stressing about this bug since the implementation of the void asset in November of last year. The bug took about 8 hours to fully fix, but I truly believe that it was worth it.
Tumblr media
after the first few hours of me messing around with the shaders and finding a new asset, I had looked into something I had tried before, using multiple cameras.
The Main camera is rendering the black hole, energy, UI and player, and the other camera is only rendering the black holes, while ignoring all other objects. I had tried this once already in December, but I don't know what I did wrong then.
Tumblr media
This fix has given me the interest into making this game have a "pseudo-3d" effect by having different scoring points on differing Z axis.
Tumblr media
I will explore this idea in the following week.
I'm glad I fixed this bug; this project has been the least developed (in my eyes) due to the frustration this bug gave me, I didn't touch this project for a very long time because of it.
Fixing this bug also gave me a valuable learning experience; to be honest, when programming games, I had never really separated cameras to render different things - I had heard that this is a very efficient way to make games, but didn't see the benefit.
Workflow Toolkit
Surprisingly, I didn't get up to much with Workflow Toolkit itself, but I did add the language tracker to the website, improving the "Redeem Cards" design, some documentation updates and adding another language!
Firstly though, unfortunately the person that was supposed to do my German translations couldn't do it (due to personal issues). I would've liked them to tell me slightly earlier, but there's nothing I could do about it, so I had to find another language to replace it with for now, while looking for another German speaker to help.
I had a friend that spoke Danish offer to help, so I took it, they got the translations within 8 or so hours, and I'm very thankful for this person - I offered to pay, but they didn't want anything.
Tumblr media
As normal, I implemented this into the project, just by adding Danish to the two switch cases, and the LanguageCode script.
The second thing I did was to update my Workflow Toolkit documentation page, with detailed instructions on Languages themselves - I have designed this project in a way that promotes modularity, so it takes about two minutes for people to add their own languages into this project (not taking the translating time itself into account), but the issue is that the documentation around how to add your own language was... lacking.
Just for simplicity, I will only show the most relevant pages here, as Tumblr allows a maximum amount of images, but they're all visible for you to see yourself on my website.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
This is very straightforward for people to understand, if they have even a little bit of code knowledge - it's just Copy and Pasting text.
The next thing I worked on was the website; I have been meaning to make a language tracker for just over a week now, I wanted to add a way to download each new language file, and a way to download the template file / get more information on languages in this project.
I was inspired by progress bars, as I believe this is a very quick and concise way to visualise this data.
Tumblr media Tumblr media
The little download button on the side of the language name (with the region code) just allows you to download the newest files. I really like this design as a whole, it's very easy to tell how far along each language is, and takes about three seconds to update progress.
The filled in part is calculated with a JavaScript file, and set in this .js file - I found some online resources for this as I was a little confused on how to do it.
My cousin had also finally sent all translations, so portuguese is now completed too.
Tumblr media
The dropdown gives you the download link to the template file, and the PDF File version of the documentation, which was discussed above.
Tumblr media
I believe this really does improve the experience of the users, and myself - as it allows me to see if I'm on target. I will continue to look for German (DE) translators to get that 45% up.
The last thing I did for Workflow Toolkit this week was to update the redeem card, and make the reverse side. I felt that the social media area is too compressed and small, so I am delegating that to the back-side only.
Front (left), Back (right)
Tumblr media Tumblr media
feel free to look at the old design on my last post - as you can tell, the social media has been removed. I would like to ask a professional to design this, but unfortunately, I currently don't have the money to.
QuickBlock
I have managed to fully implement palettes into QuickBlock, I do need to iron out a few bugs, but all basic functionality is there. I did some research into datatypes with unity, and read about using something called "ScriptableObjects" - I was going to try to make my own JSON file system, but realised that this would be far simpler, easier and more efficient, so I did it this way.
Firstly, before getting into the technical stuff, I'd like to show the progress off a little:
Tumblr media
Each Palette you choose can have a custom colour for each section, it's own night or dark mode and it's own texture. I am VERY happy with my progress here.
How It Works
I slightly swapped around what MainMat does now - before, it would be the only texture attached to all assets. Now, this mainMat acts as the parent of each individual section's material - so you have "wallMat", "floorMat", "blockMat" etc.
Each material is connected to the palette, and the functions that I had previously made for just MainMat now apply the colour (night/day) and texture to the currently set palette.
Tumblr media Tumblr media
The way that this scriptableObject works is that it is just a "House", it holds a copy of all of the materials and settings that are able to individually be customised.
Tumblr media Tumblr media
This allows the end-user to either A) create their own palette, the same way they would make a script
Tumblr media
or B) use the Palette Creator Utility I made (and have now hooked up) - note, it currently isn't very good-looking, but I will make it more appealing later.
Tumblr media
This Palette Creator makes a file for you in the right directory, with the Palette ScriptableObject. The "Blue Dream" palette will be one of 6 pre-configurated template palettes.
Tumblr media Tumblr media
These colours aren't the best to show this off, so I will show it in light and dark mode:
Tumblr media Tumblr media
I don't currently have any misc or foliage items, as the person that has supposed to be modelling these hasn't been responding.
Tumblr media
There are quite a few advantages of doing it this way too - the palettes are individual .ASSET files, meaning people are able to export their config to other users of this project, if it ends up big enough.
with QuickBlock, I have also removed a few things - one of them being procedurally generating materials when the project is first made - I do like this, and it is good at saving space if you have a massive project, the issue is that it's both very convoluting, it makes the project harder to debug, and it will only save a few kilobytes, so I decided to drop it.
I also modified the "links/connections" system - I originally wanted to have a feature that would allow you to have a wireframe view of your built map, but realised that you can do this just by changing the texture's properties - I instead edited the code to show what your last placed section was. I felt like this is just so much nicer.
The last major thing I did with QuickBlock this week was make another ScriptableObject - this one is called "Marker" and it allows me to not hard-code directories, since all directories were currently using a function that would search through - now, if a "Marker" file is detected in the root QuickBlock file, all directories now connect perfectly, allowing you to change the default file location.
Tumblr media
I wanted to talk more about this, but have run out of the max image amount - so I'll leave the rest of this information for next week, and cut this weekly Devlog short.
Just before I end though, I need to mention that it is the day in my bi-weekly cycle where I remove all tasks from the tracker, and start adding more tasks again.
================================================
Performance Evaluation
[ I think I did quite well this week, I made some significant progress in the two least-developed projects - I fixed a bug that has been annoying me for months and months, I implemented something that was categorised as the hardest on my task tracker and overall got the two least-developed projects up to par for the current week we are in.
I believe that this week's progress has been one of the best since this semester started - I am looking forward to improving on these projects, whereas before I felt quite demotivated. I had also completed my action plan from last week - so I'm happy for that too ]
[ I still have the tiniest bit of burnout still, but I have essentially recovered - I do still feel pressure due to the need to catch up from my down-period, and the loss of momentum from this stretch of time has made the pressure to do work be quite big, so I have now switched from doing smaller tasks, to bigger tasks that give me a sense of completion when finishing (like fixing that bug)
The one thing I also need to work on is getting feedback from people in university, as my messages to the group chat have been futile ]
================================================
Action Plan
Next week should be about experimentation with power-ups on Star In The Making, as once I've implemented that, the game is finished and I can move. QuickBlock should also be improved, the UI and bugs need to be ironed out.
I have booked holiday off for the next few work days, so I can implement these features without any external stress.
This week's action plan is a little vague, but I essentially just need to continue improving the two main projects right now, as I think I can say Workflow Toolkit is complete (until I can get some testers).
0 notes
wattiedevlog · 5 months ago
Text
Games Production (Feb 19th)
An Overview
This week was slightly less productive on Star In The Making and Workflow Toolkit as I wanted to focus on the project that is the most behind: QuickBlock. I followed the plan that I talked about in last week's Devlog post - to make a Task Tracker, and have been using it to the best of my ability to curb burnout.
Task Tracker
Firstly I'll visualise what I did to help me process the task information, and then I will show the full tracker.
Tumblr media Tumblr media
I have created two dropdowns, one for tracking the difficulty of the task (Easy = quick or simple, Normal = easy to implement, but might take some time, Hard = will require dedicated time to implement, and might require research & Very Hard = will take multiple days to implement, with research and planning required) and the progress of each task. If I am slightly burned out, I will hoover up the easier tasks.
Here's what the full task list looks like (and note, the majority of tasks were at the "not started" dropdown when I first made it)
Tumblr media Tumblr media
All tasks that are completed or are in progress will be shown later on.
This has really helped me organise my ideas, especially during this rough time of burnout, but I must power on! (healthily, of course)
just as I described in my last week's post, I will continue to add tasks, track them and completely delete all tasks bi-weekly (and re-update them) to stay up-to-date.
Star In The Making
I did not make any progress from last week, so there is not much to talk about - however I had discovered a video from my production files from late 2024 that had the Black Hole asset without the current bugginess - so I will continue to investigate this.
Tumblr media Tumblr media
As you can see in the left video, the black holes don't "phase" through the text (although the panel needs to be made bigger), currently - in the right video, you can see that it does in fact phase through.
I will research the reason for this, and attempt to fix the issue by porting old assets and .meta files over in the upcoming week.
Workflow Toolkit
I managed to buy a dedicated domain for my "Games Studio" (it's in brackets because I want to make this a reality, but have only done the groundwork so far). and is hosted on the subdomain of this game studio website (chompgames.co.uk, and the subdomain is workflowtoolkit.chompgames.co.uk). everything about the website is the same.
During this process, I had also added an analytics tracker (and SEO improvements). I started this while the website was being hosted on the old domain, so some domains in screenshots won't be matching, but they are in fact tracking the same website.
I looked around for some Analytics Trackers - Google Analytics, SEMrush and Heap were all considered, however they lacked simplicity, and Google's Analytics required you to use your home address - so I avoided these.
Tumblr media
I went with a platform called Plausible - it gives you a 30 day free trial, allows tracking with one line of code and only costs about £8, so I went with this.
Tumblr media
This is the only code you need (to do basic tracking), so I really appreciate this platform.
I also get good enough statistics on the website for my purposes: current visitors, bounce back rate (how many pages they visit before leaving) what countries visitors are from and which pages they access most frequently.
Here is a screenshot from the first day of tracking - I had asked friends to test the tracking for me, so numbers are inflated.
Tumblr media Tumblr media
I find this incredibly useful, as it allows me to measure my changes to the site day by day, to see if I am getting more visitors or not.
After migrating to the new domain, I had purchased the SEO optimisation package (called RelateSEO) for a month to test it out, and re-checked the analytics a day after, and i am getting at least some natural visitors now - I find this very cool!
Tumblr media Tumblr media
I will have to do some SEO improvements as my "score" is very low, but this again is still such good information for my production phase.
Quickblock
I did a lot this week for Quickblock. I created new textures, implemented the Texture Switcher, added a "Light & Dark" mode, reworked the settings UI and fixed some personal pet peeves:
Firstly, I did some research into Kenney's Prototype textures and took some inspiration for the textures
Tumblr media
the three textures that have arrows are the ones I took inspiration from.
Although I would be fully in the rights of the license for Kenney's projects, I felt that making my own would be more "Authentic".
I launched Photoshop to design them:
Tumblr media Tumblr media
for the 4x4 and 8x8 checkerboard pattern images, I divided the canvas with loads of lines, filled them in with the paint bucket and deleted the guidelines.
Tumblr media Tumblr media Tumblr media
These are the textures (in full quality) that I came up with:
Tumblr media Tumblr media Tumblr media
I decided to dump the 8x8 in favour for the original 4x4 lined square texture.
I also created the sun and moon texture for the Light / Dark theme buttons on photoshop:
Tumblr media
I created the moon by combining two massive circles then exporting the image
Tumblr media
I simply just drew a circle, and added a line at 45 degrees for the sun image.
My fear around this texture switching task was having to have hundreds of different materials to enable customisation, and this led me to doing some research on how I could do this while being somewhat efficient.
I couldn't really find any way to do this, so I had to come up with my own fix - something I'm quite happy with
Essentially, I have my own shader script, that controls the default texture, drop value and colour connected to MainMat - the material that is on all prefabs at runtime
Tumblr media
Due to shaders being scriptable, I am able to directly control what texture is being used (to make the texture switcher) and whether the mode is "light" or "dark" (by changing the Drop Value from 0.5 to -0.1)
Tumblr media
These functions were surprisingly easy, but I will optimise them for next week, to avoid bugs. I essentially have a switch statement for both - both the texture buttons and sun/moon buttons are an image array, and depending on the array, the texture (or colour) changes
Tumblr media Tumblr media
In theory, this implementation will also kill two birds with one stone, as I can instantiate another material for each "Section" (block, ramp, wall, floor) etc and slightly change the colour for each, so instead of having ~100 materials, I can have 6 or 7 versions of a single one, generated when needed.
This gif is also demonstrating the new settings tab. I redesigned the font, removed the tacky enabled/disabled ticks and centred the text. Here's a before and after.
(left) Before, with no modifications from last week.
(right)Dropdown improvement, but no font changes.
Tumblr media Tumblr media
Final changes - font changed to JetBrains Mono, Customisation tab added.
Tumblr media
I have a lot more to do for this project, so I will keep at it.
================================================
Performance Evaluation
[ I am so happy with how Quickblock is going, I did have a bit of a rough patch with it, but I'm enjoying working with this project again - I am slowly becoming happier with working on these three FMP's, and my burning out is disappearing - slowly, but it is.
I am very glad that I realised the double-edged sword issue last week (essentially focusing on too many small improvements essentially just delays my burnout if I'm not careful), so I went full-throttle on coding important AND rewarding tasks - like the Texture's and the switcher. ]
[ While I did do very well on QuickBlock this week, I also didn't have my brain fully on Production this week - I have been spending a bit more time on the pre-production semester, and it might've been too much this week. ]
================================================
Action Plan
For next week, I need to continue going full-throttle on the development of Quickblock, as this project is the most technical - requiring me to denote more time to this. Although it hurts to hear, I need to nag my cousin for the final translations of Workflow Toolkit, then stash it away.
The "phasing" bug on Star In The Making has been bugging me to the point of not working it, and now that I've found the source code to the version without this bug (thank you to my USB!), I will dedicate a few days to fixing this bug, then adding the final touches.
================================================
1 note · View note
wattiedevlog · 5 months ago
Text
Games Production (Feb 12th)
An Overview
this week was surprisingly productive - I have been suffering from burnout recently, and have been taking it slow, but I have significantly improved the Workflow Toolkit website, fixed some significant bugs in all three projects, and added some functionality to QuickBlock.
Star In The Making
This project hasn't been progressed much, but I finally added an audio system that allows all songs to be listened to during playing.
Tumblr media
the Audio Manager Singleton plays the menu song in the menu scene, and the array of Game Music in the game scene. I was thinking about randomising the songs (so there is no order) but felt that this was nicer, like you're listening to an EP while playing - However this is subject to change.
Workflow Toolkit - Project
firstly, Portuguese (EU) has been added to Workflow Toolkit - making it the fourth language in this project. The translations were made by my cousin (and I am very thankful)
Tumblr media
I will have to get a few more translations done because I had changed some text around to make it more understandable, but this is incredibly easy to do.
Workflow Toolkit - Website
I have made some great strides with the website, making documentation easier to understand as it is separated clearly and looks professional.
Firstly, I have now added a footer to the website that points to Chomp Games' (a studio I am planning to make) Social Medias (where in my marketing plan, I am posting weekly updates & information on the project)
Tumblr media
The buttons from left to right are Instagram, BlueSky and YouTube.
I have also been working on the website's documentation page - currently just improving the UI and layout behind it, with plans to add more in depth documentation (like a record of functions, localisation language trackers and more)
Tumblr media Tumblr media Tumblr media Tumblr media
I have also redesigned the dropdowns that explain what the project do, and it looks and feels nicer.
Tumblr media
in comparison with the old website, here are some images:
Tumblr media Tumblr media Tumblr media Tumblr media
in terms of the website, some other enhancements include Embeds and web scraping/crawling improvements:
Here's the embed:
Tumblr media
to make this work, I added OpenGraph meta tags to each file (so I could make a different embed for each page)
Tumblr media
To improve web scraping and crawling, I added two files to the root of the website; SiteMap.xml and Robots.txt - SiteMap.xml tells search engines the important pages to cache. Due to how small the website is, I have told it to cache all pages.
Tumblr media
Robots.txt tells web scrapers if they are welcome to scrape this website (although they do not have to adhere to this)
Tumblr media
I have disabled scraping for all robots apart from Google's Scraper and Archive.org's scraper - I have a soft spot for everything related to archiving, and hence have allowed it through.
Googlebot has been allowed to enable it to get a high up link for SEO purposes.
I added a very slight overlay to the background of all pages (barring documentation.html) to make the website feel more lively. Here's a comparison:
Tumblr media Tumblr media
I then added a 404 error page incase somebody goes to the wrong page, it'll display that (instead of the default github pages one). The animation is 20 seconds long, so I have shown a sped up one below:
Tumblr media
I also refactored the whole website because of internal frustration - it fixed some annoyances (but do not harm the website) like all spaces in download links being replaced by "%20".
QuickBlock
I refactored the asset loading of this project to be much more efficient, fixed some critical bugs in Grid Snapping, imported all of the assets that were made for me and worked on transformations of the placed assets:
Tumblr media
These shapes allow you to fully customise your map (and more will be added!)
Tumblr media
Firstly, I fixed the asset loading, and made it much more optimised. Before, there were hard-coded directories that connected to Enums, so you'd have to load an asset based on an enum and it was very ineffective, now, there is a ResourceManager Singleton that loads every asset based on it's "type".
Tumblr media
For simplicity in terms of this screenshot, I have deleted the other initialisations (logos, materials, textures etc).
you can then freely use the loaded assets like this:
Tumblr media
This change has made the project feel more professional and optimised.
I then fixed some grid snapping issues that made it impossible for differently tagged items (for example, a block versus a ramp) to have different grid snapping. this lead fixed a major concern, and I can already now build simple areas with the blocks, walls, floors and ramps I have.
This week, I also added transform modifiers. I am very happy about this.
I have also started working on Palettes (will discuss this after my future plans), but no functionality yet
Tumblr media
it also creates a little swatch of your palette, I love this!
Tumblr media
A lot more ideas will be worked on throughout this next week, as I do think that QuickBlock has a lot of potential.
These Include:
Texture Customisation (choose between textures)
Scaling
Commenting (comment in-editor while you're building)
Palette Implementation
Palette Implementation will allow you to colour specific parts of your build automatically - just by creating a palette. There will also be "Dark" modes and "Light" modes.
Ramps = yellow, foliage = green, floors = white,
walls = blue, misc = red.
DARK MODE
Tumblr media
LIGHT MODE
Tumblr media
This will automatically be done with tag checking.
I hopefully will have this fully implemented by next week.
================================================
Performance Evaluation
[ I feel quite relieved that despite going through burnout, my ability to find less significant (but still important) tasks contribute to the momentum of these projects, without sacrificing my mental health.
Essentially, while these features (a .404 error page, colour palette, or music) isn't critical to the core functionality of these projects, it will enhance the final projects. ]
[ This however, is a double-edged sword, I need to be aware enough about feature creep, and knowing where and when to stop, then divert my attention to the necessary features of these projects, otherwise it can create a backlog of essential tasks, which would be challenging to come back from when I have just recovered from burnout. ]
================================================
Action Plan
This following week will be about organisation; but I need to be careful and plan for contingencies in terms of my mental health - and follow my Risk Assessment & Mitigation plan
Tumblr media
Firstly, I will create a task tracker for Workflow Toolkit, QuickBlock and Star In The Making, I will not separate tasks by project, as this causes further frustration, but do any task I can tick off without further hurting my burnout.
This task tracker will be updated every two weeks, and I should be aiming to complete at least 2 tasks from this tracker every day (but allow less or none during tough days). I will make sure these tasks are measurable, and able to be completed.
I will make sure this tracker has some tasks that can easily be done, in case I am having a rough day in particular, but still need a task to be completed.
Once the bi-weekly tracker needs to be refreshed, I will delete all tasks and re-add them, to make sure my priorities will shift to more important areas.
================================================
1 note · View note
wattiedevlog · 5 months ago
Text
Games Production (Feb 5th)
An Overview
This week was about consolidating everything I did last week, getting the assets I was waiting for, and improving Star In The Making (the game) and Workflow Toolkit (the Unity Plugin/Tool Project).
Star In The Making
The person I'm commissioning finally managed to get back to me - and gave me the songs; I had to ask a friend who knows a lot about mixing to touch up one or two of the songs to ensure all of the volumes matched, as one of them was louder than the rest. I now have 4 out of the 5 total songs for this project (and OST I will release on SoundCloud, Bandcamp and Spotify as a part of my Post-Production Module)
The tracklist is supposed to tell a story for this game.
Here are all of the songs! Feel free to listen to them (and give your feedback!)
Tracklist (could be changed):
Celestial Prelude
Star In The Making
Into The void
VOID (Cosmic Echoes?)
I am very proud of this so far. The final song hasn't been commissioned yet, but will be the star leaving the void, and entering a new world.
Balance Changes
I made some balance changes for Star In The Making as I felt the game took too long.
Normalisation Factor: 12,500 -> 10,000 (leading to faster games)
Difficulty Factor: 0.55 -> 0.65 (black holes grow more with less points)
Minimum Pull Radius: 0.5 -> 0.6 (black holes start with a little bit of power)
Here's a visual difference in growth - measuring from 0 points to 500.
Before
Tumblr media
After
Tumblr media
More features to come, like my planned pick-ups.
Workflow Toolkit
I managed to get all translations for English, Spanish and Dutch, and consolidated them all on my Localisation Sheet - a good way to express this data (and I will be able to script and auto-export in the future)
Tumblr media
These have been added to the toolkit itself and are now fully compatible with these three languages.
I managed to talk to my cousin (who is Portuguese), and she thankfully agreed to translate these strings into Portuguese (EU); I will have to wait for week three to get all of them, though.
I also fixed one or two issues with the Workflow Toolkit (UI bugs regarding localisation).
Due to security concerns, I also reworked the previous "BUG REPORTING" and "FEEDBACK" pages for the Workflow Toolkit; I felt that having discord hard-coded webhooks in your project is unsafe and looks unprofessional. I opted to have a Google Sheets feedback page for both.
Before
Tumblr media Tumblr media
After
Tumblr media Tumblr media Tumblr media Tumblr media
Unfortunately, I lost the ability to upload log files, but I feel like this is far more professional.
Note, This modification was started during the last week of last semester, but I have fully finished it here.
Website
I also fixed countless issues with the website for both mobile and PC viewing - here's a before (left) and after (right):
Tumblr media Tumblr media
I also converted the base64 encoded SVG background and put it as an actual file, which greatly optimises the project.
Tumblr media Tumblr media
I also removed some unused CSS.
Some other improvements were backend optimisation for both the website and the project.
QuickBlock
I used Rider's built-in tools to refactor and re-format the code; I did not do much else on this project this week due to focusing on wrapping up the other two projects.
================================================
Performance Evaluation
[ I consolidated last week's work very nicely, getting integral assets created and polished (mixing and mastering for songs). I am quite proud of this, as I have something to listen to and share with the world.
I am also proud with my improvements to the website, The changes I made won't bring new people, or be stunning for the user, but the optimised website allows it to just run faster, and more efficiently - making them more professional. ]
[ I can tell that I am struggling with project prioritisation, QuickBlock has been taking a backseat for a while, which does indicate that next week, I need to push the project further, even if it is just a tiny bit, as I don't want this project to be sidelined, and my focus diluted. ]
I am happy with this week's work overall though, I pushed Workflow Toolkit quite far with the improvements, and Star In The Making's soundtrack will open up some new doors (like potentially putting these songs on Spotify, Soundcloud and/or Bandcamp)
================================================
Action Plan
Next week, I need to focus on bringing up QuickBlock to a respectable place, even if I don't do much on the project, something needs to be done, and ideas that were discussed in the Game Design Document will need to be planned and researched as I don't want this project falling even further than it already is.
I need to also continue refining the website's UI to something I'm happy with, potentially adding a custom .404 error page to make sure users are able to navigate back to the website if they type something wrong.
GitHub Pages (the hoster I'm using) has it's own .404 error page, but it is quite "boring".
Tumblr media
I will also ensure that if signs of burnout appear, I will sort them out first, by diverting attention from hard, important tasks, to less critical, but more "fun" tasks.
================================================
0 notes
wattiedevlog · 6 months ago
Text
Games Production (Jan 28th)
An Overview
This week was about getting my projects up-to-date again - during the holiday, I had been tinkering with my three Final Major Projects and managed to add some improvements here and there.
Star In The Making
Tumblr media
I made black holes! The red circle you see is the gravitational force of the circle exponentially getting stronger (bigger).
You can use these black holes to move more freely, but the more points you get, the more risky it becomes - if you aren't quick enough, the game resets!
Workflow Toolkit
I have started the localisation of Workflow Toolkit - essentially, this product will be available to a broader range of people. English, Spanish (Mexican) and Dutch are supported, with German and Portuguese being added soon.
A few translations are still missing from the currently included languages but expect completion soon.
Tumblr media Tumblr media Tumblr media
The way I made this was using an Enum for each language and an enum for each string inside of the project; I have multiple .JSON files that hold the definition for each project string
Tumblr media Tumblr media Tumblr media Tumblr media
A few improvements on the website's backend have also been made; I will continue to work on this for next week's devlog!
QuickBlock
QuickBlock is my Level Editing plugin; it is quite complicated for me; the functionality is not currently too in-depth, but I am working on it and feel like this will both be very rewarding to make and challenging.
Tumblr media
Here's the UI currently. I have made it so you click on the specific type of "Section" (a prefab for your level) and build!
I'm going for a more Minecraft-esque build style, as this plugin is designed for beginner-level editors.
I am waiting on a member of my class (Sean) to complete some blocks, ramps, windows, etc, for me before I progress further with this project - as some texture issues with Unity's default 3d objects have caused some issues.
Tumblr media
I do like this project, and I'm happy somebody talented in this aspect of game development is willing to chime in and help where I cannot.
Essentially, my biggest issue is when I attempted to create these assets using Blender, I could not get them to:
Scale Correctly
Get the UVs right (which led to the textures looking wonky)
have enough confidence to make anything other than cubes
///// ----- Programming Plans ----- \\\\\
Here are my plans for next week:
Get the rest of the music back from the person I commissioned for the Star In The Making project (and mix/master if necessary)
Improve the Workflow Toolkit website (both backend and frontend, as it is very scruffy)
Finish the full translations of Spanish and Dutch for Workflow Toolkit
Start working on marketing material for Workflow Toolkit
Additional Notes:
I plan to not work on QuickBlock for a week or two, as I want to finish up Workflow Toolkit and Star In The Making, as they are both incredibly close to completion.
0 notes