FullGame Diary/Devlog


Hello this is going to be my Devlog for the GoedWare Game Jam #11. I will write what I did in a day by day style. My main goals for the jam

are: improve my blockbench skills and submit a polished game.

Day 1:

The theme is Isolation and I started thinking of ideas, in the end I picked the one that has the less scope, as Im used with teaming up for

jams, I normally only do programming and sometimes 3d/2d but Im by myself this time around so keeping the scope even lower than normal is very

important. My idea consist of a lumberjack that lives in a small cabin in the wood and is tasked every day with chopping-down trees, I also

want to add a twist at the end but havent thought about it enough.

I started by setting up a To-Do list on trello and configuring the Godot Project. The first thing I added was player movement which I just copied

from my last jam, afterwards I made an axe model in Blockbench and started coding the swing. My basic idea for the swing was: "hold the mouse

to charge" and "release to swing", I was doing it with both sides; left and right but at the end I went with only left as the transition 

animation was causing too many issues. With only the left side coding the swing was very easy, used a state machine with 2 states and setted it

to the "Holding" or "Swing" state depending on player input. Animations were ok to do, I did them using the anmation_player from Godot as the axe

doesnt have any internal movement.

With the axe in an acceptable state I started coding the tree. Just a Static Object that gets damaged when the axe hurtbox enters it, fairly easy. The biggest

issue was that my previous swing animation was making so the axe went trhough the tree and detected it multiple times, causing it to "die" instantly.

To solve that I decide to use a Tween(its like an animation using code) when the axe detects the tree making the illusion that they actually collided, the tween started to overlap

the animation and played multiple times in sequence it was a hell to solve and definetely the hardest part of today but I got it working after a while.

With both systems ready I reused an old pine tree model I did when I first installed BlockBench and retextured it, split the trunk in 2 parts and imported

it to Godot. Created 2 scenes, one with a full tree and another with a Rigidbody(Object that uses Godot physics) trunk. I made so when the tree health got

to 0 the fake tree top would dissapear and the Rigidbody trunk would appear with a random rotation, making it fall down very naturally and with almost

no code. When the velocity of the Rigidbody gets to 0 I disabled the leaves aswell.

Afterward I added a simple shake animation to the tree using Tweens and made an impact sound mixing some open source sfx I found online (I mixed them in 

Audacity and had to watch a tutorial lol).

Thats all for day 1 I think it was good progress with the time I had.

Day 2: 

I was super busy today so I didnt do much, modelled the player house and the terrain, also fixed a bug where having multiple trees

would just trigger the first one.

Today I also kept thinking on how to get the game loop done asap. As I want to make something thats like a history/movie with a progressive narrative,

I believe making the game take by take will be the best. My goal is having 3 days in which your tasked with choppin a tree type and leaving it somewhere

and trhough out the days the plot would advance.

Thats it for day 2 I guess the biggest issue was that Blockbench crashed when I tried to UV unwrap the terrain that was a 1000x1000 cube, ended up using

solid color unrwap option and it worked.

Day 3:

Another busy day, did mostly 3d models: windows, a door, a bed and a skybox thats just a scaled up sphere, Im really glad on how the windows turned out

as I used transparency and white pixels to represent a thin glass panel that doesnt use any extra geometry.

Also coded an interaction system that display the object name and interaction key, made it for opening and closing the door but im planning on using it for the

tasks aswell.

Im starting to worry about the inital concept, I really need to define what is going to happen in the game so I can have clear goals, will try to rethink

the concept tomorrow and detail it as much as possible.

Day 4:

Today I improved my idea but havent detailed it enough. Did a computer, a table and rocks as 3d models. Added headbob, step sounds, axe swing sound,

tree shake sounds and a bird ambient sound that muffles when you go inside. 

Made a system that places both trees and rocks at the correct rotaiton depending on floor normal although it doesnt work properly in some inclinations.

Half jam has already passed and I still dont have a playable loop, I will blame that on my game style lol.

Day 6:

I forgot to write yesterday(day 5) so I will resume it now, I modelled some decoration for the cabin (table, chair,plates and pans) and started to 

redo the axe swings.

Today I finished the axe swing made so you have to drag and make more like a real life swing with the mouse for maximum "damage", I will try to make so

you can swing right aswell as one side only tires my wrist.

Added a grass texture that I found online to the terrain, reduce it to 32x32 and limited the color pallete to the Apollo pallete im using, it looks better

and gives a sense of depht specially on the slopes.

With the new swing style I also changed the damage system, the more you delay the animation the more damage it deals, this makes so you have to rotate 

away from the tree and back at it quickly, added a sfx that changes depending on the damage and a percentage to represent said damage.

Finally concluded my game concept: Your objective is to chop all trees but you can only work when theres sunlight(yes I did a day/night cycle, spoiler,

its just line of code lol), by chopping trees you gain points that you spend on the pc to buy upgrades and chop trees faster. I reduced the scale of the map

by 75% as the days only have 60 seconds and I dont want the game to be too long. Also added a cricket ambient sound and faded the bird out and the crickets

in according with the time.

My goal now is to make the pc interactable which I think is going to be hard as I dont know how to display a 2d scene in 3d space, in the last case I will

just made like a menu/options screen.

Day 9:

I got sick so in both day 7 and 8 I didnt touch the game, as theres 1 day remaining I decided to cut all of my ideas of having tasks that changes each day.

Now your goal is to chop down all the trees in the map.

Today I basically finished the game, made a system that destroys some trees so the game doesnt take too long, a garbage collecting system for the 

chopped trees, made so you could sleep to skip the night, added a main menu and a pause menu. The only missing part is the ending thats going to be just a

fadeout with some text.

Also tweaked the visual a bit, mainly the ground texture that I reduced the UV sizes so the chunks are smaller and reduced the screen resolution that makes the

game looks a bit like A Short Hike which I find very cool and found completely on accident testing out different resolutions.

After finishing the game I want to add some more sfx and extra decoration aswell as the EasterEgg that a extra challenge from the jam and I think my idea

will fit the map well.

Day 10:

Today I finished the end game state and made the itch page, I wanted to add more models to the game but I was too busy.

Im happy on how the game turned out although I think its repetitive on gameplay, I improved a lot in 3d and made the game in a short period of time without crunching so it feels good, I dont think people will enjoy it much but I really like the ambient so who knows ...

Thanks for reading, goodbye !

Files

chopping_trees_0.3.zip Play in browser
May 05, 2024

Comments

Log in with itch.io to leave a comment.

(+1)

Great read! Good job with the game!