Project ClickyGarden
SirPrizeMF GameDev DK30 Fall 2020 5 5
Description
I want to make a small, mobile based 2D-clicker with a gardening or farming theme. I’ll do the coding in Unity, and the artwork using either GIMP or Blender. The goal of the project is mainly for me to learn to bring all the gamedev skills I’ve tried to learn over the past 6 months since falling ill together into one project.
Recent Updates
I designed a little farmhouse in Blender. This took me several hours. It has hideous clipping issues. And I love it. I want to do more of this.

This will be the final update for the project with regards to the DK30 event. I will keep updating a bit here, mostly for my own sake.
I ended up fixing the zooming, so it’s now smooth as buttah. I’ve also since gotten a new telephone, as my old one is having issues. The new telephone doesn’t show touch inputs when recording the screen, but you get the jest!

I just wanted to see what I could manage to produce given the constraints of both time and my physical well-being. Even though the eventual product has no real purpose, and no appeals in a gameplay sense, I’m very proud of what I created. I learned a lot, and that was the real purpose.
I will keep this project as a sort of repository for skills I acquire, kind of like a playground for what I learn. Thank you all for the interest you’ve expressed in my progress!
Made some progress again. First of all, the UI background now scales with the content (thanks to a fantastic video in the DayKnight gamedev Discord!). The UI now also disappears when zooming out far, so it doesn’t obfuscate the gameobjects any more when zoomed out. Lastly, there’s now a maximum and minimum to how far you can zoom. Here’s a gif!

The zoom limiting is a bit wonky at the moment though. Right now, what it does is basically check ‘is it outside the limits’ and if the answer is yes, it disables the zoom gesture and pushes the camera back to within the limits. That’s what’s causing the wobble when trying to zoom beyond the limits. Right now zooming in and out is done with the same bit of code, just when zooming out the symbol becomes negative. I may have to split this into two separate bits of code, so I can disable the Zoom In bit of code when zoomed in too far, but you would still be able to zoom out. Right now, I can only disable the zoom gesture in its entirety. I think splitting it and then disabling only zooming in if you’re too close, and zooming out if you’re too far, will make it more smooth. More updates to come, surely.
Today I worked a bit on getting some kind of gameplay loop working. So far it’s very simple: click on an ‘object’ and attempt to buy it. If you have enough money, you buy it. It generates income. Clicking someone other than an object gives you 1 money. Here’s a little gif.

Note that the UI is still incredibly wonky and it still has the colour changer script enabled, which triggers even if that object isn’t bought which might be a tad confusing. This will all be fixed of course. But for now, I’m happy I got the core ‘gameplay’ aspect working.
Today I decided how to figure out how to make individual objects interact when they are tapped. Now you might think I was already doing that by changing colours, but the colour of an object is an inherent material. I could just say ‘change the colour of whatever it is you tapped on’ and that would work. For more intricate behaviour though, we will need to distinguish between the objects we’ve actually tapped, and the interaction becomes a bit more complex. I won’t bother you with the details, but with thanks to the fantastic Day9 gamedev Discord (And WittyAdrian in particular this time) I’ve figured it out. And here’s proof:

So small update today. On Thursday I’ve had some tests done at the hospital for my health issues. Sadly, the docs still don’t know what’s wrong. The tests did leave me very sore and drained though, so over the weekend I haven’t done much. I’m feeling a bit better today so I’m gonna start researching how to attach UI elements to object in the game, so for example a name or health bar will be displayed over the object it’s attached to.
Edit: I figured it out. It was much easier than I had anticipated. That being said, I’ve done my task for the day and will feel accomplished in doing so. Not my fault it only took 5 minutes lol. Here’s a gif!

Somehow managed to get the Unity Remote app working, althought I don’t know how. It’s giving me headache, so I’m gonna see that as a win, never touch it again while it works, and call it a day.
Here’s a small gif of how tapping an object makes a code snippet trigger. Just need to write some code that’s actually fun gameplay instead of changing colour. How hard can that be, right?

Today I fixed some basic object interaction scripts where if I tap an object, it changes color. That in and of itself isn’t very useful but it at least shows I can make certain code run by tapping objects, so the mechanics are in place.
I also tried to polish the camera controls a bit more by clamping the zoom. I did eventually sort of managed this, but it was giving some weird results. I think the fact that I’m limiting the distance between the camera’s pivot point and the actual camera, means that after that minimum distance is reached, trying to zoom pushes the pivot point back. In order to see how this is happening, I tried to get Unity Remote working, which should allow me to see what’s going on in the app on my phone, in the Unity Editor on my PC. However, getting this set up is an absolute nightmare. I will continue trying tomorrow.
This took me far, far longer than it should have if I were any kind of capable, but I finally got the camera controller working! It still needs a bit of finetuning but the mechanics are solid I think.
Testing on a mobile platform without having Unity inspector to check certain values is complicated for me. Every time I want to try something, I have to build the app to my phone and then figure out what’s wrong based on what I’m seeing on my screen. I can’t check the inspector because the phone doesn’t have an inspector. I’m sure there’s a way this can be done easier, but I don’t know it. Still, making progress! Here’s a gif of the camera controls :D

I’ve decided to start with a camera controller because I for sure know what I want the level to look like. After struggling a bit because my coding knowledge is next to none, after two days of work I’ve got my camera controller set up to where I’m satisfied with what I have. Dragging moves the camera, and a zoom gesture now properly zooms it. Baby steps that would take a decent coder 5 minutes, but I still figured it out and am happy about my progress!
Note that I’m not going about this in a structural way whatsoever. I’m just trying to be any kind of productive. The end product doesn’t have to be good. I just want to have learned something by the end :D
So right off the bat, I’ve run into some trouble. On the day the project was supposed to start, I woke up ill. Huge headache, grumbly bowels, foggy brain. So let’s hope it clears up a bit and maybe I can do some work tonight! Still excited as heck let’s goooooo!
Estimated Timeframe
Oct 15th - Nov 15th
Week 1 Goal
In the first week, I want to start solidly outlining the project. I want to brainstorm about art style, gameplay loops, aesthetic etc., and get a clear, written down picture for myself of what I’m going to have to do to completely the task.
Week 2 Goal
In week 2 I will focus mainly on making the gameplay work, so this will be mostly coding. For the visual part I will be using placeholders for now.
Week 3 Goal
At this point, I hope to be generally satisfied with the gameplay loop of the game, and I can start creating visual assets to start replacing the placeholder.
Week 4 Goal
Week 4 will be spent wrapping up the project, and if time is left perhaps add some flourishes such as animations, VFX etc.
![Day[9]TV](/images/header-logo.png)