Evergrint banner

Evergrint

48 devlogs
175h 18m 17s

Evergrint is a 2D RPG game made in Godot Engine inspired by games like Terraria, Forager and Minecraft. Explore the world, fight enemies, gather better items and summon a boss underground!

This project uses AI

Gemini for bug fixing and help with some of the code.

Demo Repository

Loading README...

szydlowskijakub

DEVLOG #48

  • Started creating controls tab in settings
    For now I just made the UI. Nothing works yet, but this is about to change!
    There has to be buttons for:
  • UP, DOWN, LEFT, RIGHT movement
  • Interaction
  • Action
  • Heal
  • Drop item
  • Pause game
  • Toggle informations tab
  • Dash
    Maybe more but I can’t remember
0
szydlowskijakub

Shipped this project!

Hours: 172.36
Cookies: 🍪 1356
Multiplier: 25.26 cookies/hr

I added a lot of new features! The biggest ones are biomes - there are currently 3: Forest, Desert and Ice biome. The next really big thing is equipment - This was the hardest thing to implement because i had to rewrite inventory logic.
Thank you for voting!

szydlowskijakub

DEVLOG #47
I didn’t had much motivation past days but i fixed some critical bugs and I think it’s suitable for next ship!

Attachment
1

Comments

dinithayehan
dinithayehan 5 days ago

wow love to play the game. let me know when it finished !

szydlowskijakub

DEVLOG #46

  • Finally made spawning enemies only in specific biomes
  • Added 2 more slime types - Desert and Ice
  • Added palm trees
  • Changed textures of sand and water
  • Current time is now saved in game file
Attachment
0
szydlowskijakub

DEVLOG #45 BIOMES

  • Added desert and snow biomes
  • Added a new enemy - Water Goblin
  • Resprited wooden armor
  • Added 1-0 labels in hotbar slots for better UX
  • Fixed a lot of bugs
    I’m really proud that i managed to implement new biomes because it was really frustrating
0
szydlowskijakub

DEVLOG #44

  • Fixed inventory dragging and tooltips
  • Fixed a bug where items disappear when swapping slots
  • Compas is now updating once per 0.2 seconds because of performance
  • Damage text is now a child of the enemy - now it’s following the enemy and it looks better
  • Settings changes are written to the disk only when you leave the menu, not every change
  • Added a texture to enemy health bar
  • Fixed a bug with dropping items when you have cursor on inventory
  • Added a full set of wooden armor - drops from trees
  • Damage is randomized by +- 20 % for better game feel
  • Added pathfinding to enemies - they cannot go in the water
  • Added day-night cycle and time
    And a lot of other things that are not interesting enough
0
szydlowskijakub

DEVLOG #43

  • Fixed a bug with picking up items when you have a full inventory
  • Added a world migration when you have an old version
  • Equip slots are now saving correctly
  • Added a defence icon next to the equip slots
  • Added placeholder icons to equip slots
  • The amount of defence reduces upcoming damage
  • Fixed a bug where time_created variable became null after loading world
  • Added a damage and heal label. After each hit, label spawns with a cool animation and shows how much damage was dealt. This works even with healing but the label has green color
  • Items can be now thrown away from the inventory
  • Added an icon that indicates autosave that pops up in the top down corner
0
szydlowskijakub

DEVLOG #42

  • Started working on equipment
  • Just made working slots and it was a PAIN

I broke a lot of stuff so i have to fix it

0
szydlowskijakub

Shipped this project!

Hours: 44.16
Cookies: 🍪 1320
Multiplier: 29.89 cookies/hr

This is my second ship! The biggest things that I created are:
Menu

  • Create a world with a custom seed and set the difficulty.
  • Load your world.
  • Settings.
    Saving system
  • Your progress and settings are automatically saved.
  • the data is being saved in AddData/Roaming/Evergrint folder.
  • This should work even on Web version

The most challanging thing was to succesfully load the data from the json file, but I love the technical side of the development so it was enjoyable!

szydlowskijakub

DEVLOG #41 SECOND SHIP IS COMING!

  • Updated Itch io page
  • Created better screenshots
  • Fixed some bugs in the code
Attachment
0
szydlowskijakub

DEVLOG #40

  • Added settings with sound volume that saves into .json file and than loads
  • Reworked inventory UI - Now it’s bigger and more readable
  • Tweaked some colors of the UI
  • Tweaked volume for some audio
  • Added time created and last played in world file
  • Last time played is displayed under world name
  • Worlds are sorted by last time played
0
szydlowskijakub

DEVLOG #39

  • Updated UI:
    MAIN MENU
  1. Added a Quit button
  2. Changed New game and Load game sections (sample in the video)
  3. Added a text box for world seed (you can leave it empty for a random seed)
    PAUSE MENU
  4. Added pause menu with resume, new game, load game and quit to main menu buttons
    DEATH MENU
  5. Changed font of the label
  • Than I fixed a lot of bugs with creating and loading worlds. The most annoying one was that the inventory was shared through the worlds
0
szydlowskijakub

DEVLOG #38

  • Added backup file - When it’s deleted, the script creates another one
  • Added versions to .json files so the save doesn’t collapse after an update
  • Changed UI visuals, fonts, reworked menu

There are still a few labels that has to be changed, but it’s too late to do that

Attachment
0
szydlowskijakub

DEVLOG #37

  • FIxed lag when picking up items and managing inventory - this happened because it was deleting everything and recreating it back with a change - now it only updates the icon or amount

  • Added a dash mechanic

  • Added layered state machine to the player script, allowing player to attack and dash at the same time

  • Player MoveStates: IDLE, MOVE, and DASH

  • Player ActionStates: NONE, ATTACK, STUNNED and DEAD

  • There is a bug where the tooltip sometimes doesn’t hide, I don’t know why

0
szydlowskijakub

DEVLOG #36 BUGS AND BUGS AND BUGS

  • FIxed a bug with interacting with inventory in menu
  • Fixed a few bugs with save system
  • Adjusted slime spawning
  • Fixed a bug where trees were sometimes spawning on top of each other
  • Fixed a bug with unlimited shooting arrows (happended because of my yesterday’s reforactoring)
  • Fixed a bug with boss spawning after changing scenes
  • Added a logo to main menu
Attachment
0
szydlowskijakub

DEVLOG #35

  • Added world list so the player can easily select which world to play
  • Refactored the whole player script because it was a mess
  • Added Itch io link in demo screen (Forgot to do that before release)
  • Changed health bar sprite

It’s not perfect, but It’s getting better every day :)

Attachment
Attachment
0
szydlowskijakub

DEVLOG #34

  • Added autosave
  • Added save on player exit
  • Saving player inventory
  • Fixed a few bugs with persistence
0
szydlowskijakub

DEVLOG #33
This is my first devlog after ship and I want to thank you so much for your generous votes ♥️. It really gave me the motivation to keep going!

  • Added save and load system for worlds
  • Every world has its own .json file that keeps informations like changes, difficulty and seed
0
szydlowskijakub

DEVLOG #32

  • Created Itch Io page
  • Added Windows and Linux builds and Web version

That was reallyy hard because i have never released downloadable game before. I ran into a lot of bugs and export issues, but it should work now.

Attachment
0
szydlowskijakub

Shipped this project!

Hours: 87.42
Cookies: 🍪 1678
Multiplier: 19.19 cookies/hr

I finally managed to release my game demo on itch.io! This is my first bigger project and I’m really happy it isn’t completely broken :). I’d love if you could play it and share any feedback!

szydlowskijakub

DEVLOG #31

  • Added a loading screen to hide chunk loading
  • Added a few more sound effects
  • Fixed projectile spawn - Arrows now spawn at the bow position
  • Added icon to cursor when organizing items in the inventory
  • Trees are half transparent when player is behind
  • Added debug tools - F11 shows player position
0
szydlowskijakub

DEVLOG #30

  • Fixed Y-Sort problem on weapons
  • Made better tooltips
  • Fixed a bug where player respawned every 5 seconds after they die
  • Fixed knockback on slime arrows
  • Fixed knockback softlock in the underground
  • Fixed projectile knockback direction
  • Changed a few sounds and volume
0
szydlowskijakub

DEVLOG #29

  • Added sound effects!
    There are currently 10 SFXs in the game
0
szydlowskijakub

DEVLOG #28

  • Food now gives health to player. You can’t heal when you have full
  • Boss has a spawn item that can be used only in the underground
  • Boss summon drops from slimes
0
szydlowskijakub

DEVLOG #27 ANOTHER OPTIMISING

  • Finished chunking - the chunks are loading and unloading as they should
  • The game doesn’t lag even at 16x speed
  • Fixed micro lags when loading too many chunks at once
0
szydlowskijakub

DEVLOG #26 OPTIMISING
Demo is really close so I wanted to make sure that it is playable
BEFORE:
World size 200x200 - load time: 3-10 seconds
World size 1000x1000 - load time: 30-60 seconds
NOW:
World size 1000x1000 - load time maybe 1 second

  • Added a chunking system - still have to implement delete chunks function
  • Enemies now despawn when they are more than 30 seconds outside viewport

It needs some kind of load screen to hide the spawning of tiles -_-
A few things are broken becouse of it but thats ok for now

0
szydlowskijakub

DEVLOG #25
I was ill for a few days but I am back! The playable demo is so close!

  • Added a menu with a start button
  • After the start button is clicked, the player can choose from 2 possible difficulties
  1. EASY - everything is normal
  2. HARD - Every enemy has 1.5x more strength and HP, slimes shoot slime arrows
  • Added range for every projectile
  • Tooltips for every item in inventory
  • Refactured entity AI system
  • Fixed a few bugs
0
szydlowskijakub

DEVLOG #24

  • Added knockback to player and stun for a few milliseconds after geting hit
  • Every enemy, projectile or weapon has their own knockback value
  • Refactured more code for better clarity
  • Fixed a problem with collision on player

A problem:

  • Player can shoot arrows when dead (should be easily fixed)
0
szydlowskijakub

DEVLOG #23

  • Added a acceleration and deceleration to the player movement
  • Added invincibility frames to the player
  • The boss now has 3 states - teleporting, shooting and waiting
  • Fixed a bug where projectiles went through walls
0
szydlowskijakub

DEVLOG #22

  • Added 2 attacks for the mole:
  1. Rock Burst - He throws a few rocks at you

  2. Burrow Attack - The mole spawns on the position of the player but with a second delay

The biggest problem was to rewrite all the code for the animations to work

It should be quite easy to add another boss if I wanted :)

It finally feels like a real boss fight, it has it’s own rythm and dynamic.

0
szydlowskijakub

DEVLOG #21
I don’t have much time because of school :(

  • Added a first boss - MOLE!! I still don’t have a name for him
  • Problem is that he just acts like a slime, but he can’t move
  • Because of animations I had to rewrite a lot of code

I can’t wait to implement custom attacks and animations for him!

0
szydlowskijakub

DEVLOG #20
Today I just fixed a few bugs

  • The player can now mine only blocks that are in within pickaxe’s range
  • Fixed Y-Sort problem with ladder in underground
  • Fixed a bug where the player couldn’t use weapons underground
  • Blocks can no longer spawn on lava
  • Projectiles now brake after hitting a wall
  • Added mining particles for better game feel
0
szydlowskijakub

DEVLOG #19

  • I had to completely rewrite all code for world persistance
  • Underworld blocks now have collisions and can be mined with a pickaxe
  • Created sprites for walls in underground and a wooden pickaxe

I don’t even have the energy to write all the things that have to be done for it to work
The project has 1600 lines of code
I’m so glad to present you working underground:

0
szydlowskijakub

DEVLOG #18
After a loooong time I managed to create working underground block spawning system:

  • Made a working tilemap that has the same values as the surface one
  • Instead of grass and water there are stone and lava
  • Because I don’t have a sprite for a stone, there is a tree sprite as a placeholder

At first, it was very laggy and kept crashing my game. I wanted to spawn 31 000 objects at once.
To keep away my pc from exploding I added:

  • Chunking - The script is spawning only what player see
  • When the chung goes out of the sight, it gets deleted
  • After 15 blocks created the script takes a break for a frame

It’s still not perfect, but the game now runs at 150+ fps no matter what

0
szydlowskijakub

DEVLOG #17
Unfortunately I didn’t have much time today, but I forgot to devlog things that i changed yesterday so here it is:

  • Added a ladder to the underground so the player can get back up. The problem is that it tooks a few seconds to load everything. I have to make an animation in the future to hide it

  • Set boundaries to the camera and the player so they cannot just run away

  • Save every change in the world to the dictionary. The world now tracks every move you make. That means that if you cut down a tree, the change will be saved to the dictionary and after a scene change it will not be generated again

0
szydlowskijakub

DEVLOG #16

  • Changed sprites of inventory slots, trees and a sinkhole
  • When the player interacts with the sinkhole, they are now teleported to the underworld
  • The underworld has the same tilemap as the surface. Because of that if there is a snow biome at the surface, there will be snow biome beneath it
2

Comments

B3N118
B3N118 2 months ago

Looks cool, looks like stardew valley a little.

szydlowskijakub
szydlowskijakub 2 months ago

Thanks! I took an inspiration, but it should be more focused on combat and RPG elements.

szydlowskijakub

DEVLOG #15

  • Changed grass sprite so the world looks more alive
  • Added a sinkhole witch is an enterance to the underworld (It doesn’t teleport player now, the player is just killed when he clicks on it for testing purposes)
2

Comments

Kajmix
Kajmix 2 months ago

Hi ^^
In my opinion, you could try generating trees with slightly random sizes!
And maybe add some shadows to give the scene more depth.

szydlowskijakub
szydlowskijakub 2 months ago

Thanks for the tips Kajmix! The trees actually have some kind of randomness in size but it wasn’t noticeable enough. As for the shadows I quickly reworked the sprite to include a black semi-transparent circle under the trunk.

szydlowskijakub

DEVLOG #14

  • Arrows are now a finite resource
  • Arrows do damage when they collide with enemy
  • The player can’t shoot without arrows
  • Fixed a bug where the player respawned in the corner of the map instead in the center

I’m so happy that after a long time I managed to create a working melee and ranged combat mechanics

2

Comments

Legndary26
Legndary26 2 months ago

bro how u got the cookbook authour achiement

szydlowskijakub
szydlowskijakub 2 months ago

I got it by creating 10 devlogs

szydlowskijakub

DEVLOG #13

  • Y-Sort: Sprites are finally sorted right and player can walk behind trees!

  • Knockback: Added a knockback value to every weapon

  • Spawnpoint of the player: He spawns always in the middle of the map

  • Created range weapons and projectiles: Currently there is just 1 bow and 1 arrow that doesn’t even do damage , but that’s about to change!

There is still a lot of bugs in the code but I didn’t have time to repair it.

1

Comments

brianchuaxinshan
brianchuaxinshan 2 months ago

Nice

szydlowskijakub

DEVLOG #12
World:

  • Trees are now generating randomly on a grass (most of the time)
    Inventory:
  • Every item in the inventory now has their own tooltip with their name
  • When your inventory is full you cannot pick items anymore

It isn’t much in that amount of time, but I don’t have enough experience in UI so it was a pain

0
szydlowskijakub

DEVLOG #11 ALMOST WORKING INVENTORY!
After a long session of debuging my code I finally created a clickable inventory.

Things that work:

  • Open and close inventory by pressing E on keyboard
  • Change item position in the inventory by clicking on the item and empty slot
  • Swap item position by clicking on the item and item you want to swap it with

Things that don’t work:

  • Player cannot items with full inventory (items just disapear)
  • Drop items from inventory
  • Tooltip for each item
  • Animations

I’m so glad that it is working now 🔥

0
szydlowskijakub

DEVLOG #10

  • Created a working death screen
  • Implemented min and max amounts for every drop
  • Added iron sword (bigger damage, faster), hammer (bigger range, slower)
  • Changed tree sprite
  • Did a stress test - slimes drop 500 items without major lag
0
szydlowskijakub

DEVLOG #9 NEW YEAR EDITION

Things that have changed:

  • Player data is now in a database: Every player stat is now in one JSON file
  • The health bar is officially a thing!: The player script sends a signal to UI when their HP changes
  • Better weapon swing: Top-to-bottom swing every time, no matter the side
Attachment
Attachment
Attachment
0
szydlowskijakub

DEVLOG #8

  • Slimes now spawn randomly around the player
  • They also have Idle and Aggressive (AI)
  • Added beautiful breakable tree and an axe
  • Reworked the weapon animation to allow for 360° aiming
Attachment
Attachment
Attachment
0
szydlowskijakub

The core fighting loop is ready!
Slimes are no longer just standing there!
They drop items!

0
szydlowskijakub

I locked in and created this:

  • working sword animation
  • slimes that you can kill (so they can you)
  • cool effect

The biggest thing is that i can create or balance any item in a few seconds because of my database made in CastleDB

Attachment
Attachment
0
szydlowskijakub

I have completely restructured the item database. Now I don’t have to hardcode every item by myself.
Also you can see what you are holding right now (maybe remove later).

0
szydlowskijakub

Made it look pretier🔥

Attachment
0
szydlowskijakub

Today I added an inventory system, hotbar and procedural terrain generation.
It’s not perfect, especially the design, but I think it’s going well.

0
szydlowskijakub

Created basic player movemnt, tilemap and prepared game for next steps :)

Attachment
0
szydlowskijakub

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0