stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Ashfall

  • 4 Devlogs
  • 8 Total hours

Ashfall is my first project and would be my humble beginnings, a text based rpg terminal game that I’m building while learning python from scratch. Create a character, choose a class, explore, fight, loot, encounter allies, complete quests, level up and progress.

Open comments for this post

1h 16m 24s logged

2 weeks later…. ashfall is finally taking shape

It’s been about 2 weeks since my last devlog, and through this time period, I had been contemplating about my decisions and future while things in my irl life were overwhelming me. After coming back from this break, I realised the foundation of ashfall wasnt at all how i imagined it initially when first creating ashfall in stardance.
So…..

I present to you: Ashfall v2

Whats new:

  • revamp of project architecture
  • built world/zone/location JSON database structure
  • made data.py to dynamically load location data
  • Loading mechanic, and improved error handling

At this point most of Ashfall is just a skeleton of what it’s meant to be since almost all the data driven architecture consists of empty JSON files, with a singular populated JSON file for testing loading

Getting the loader to work was hellish too…
I kept on being unable to return the data within the populated JSON file from the data.py loader, this recurring error “path doesn’t exist?: Errno….” just kept on coming back to haunt me
firstly, it was the construction of the file path with the parameters passed into the JSON loader within data.py 🥀
I spent way too long tryna figure out exactly why my game loop couldnt find a file that was literally within my project but after fixing the path post brainstorming, i managed to get the JSON data returned properly as a dictionary instead of ‘None’

it was a small fix but seeing my data.open_location("world1", "blackwatch", "armoury") actually retrun data felt euphoric for some reason

0
0
10
Open comments for this post

2h 14m 28s logged

4 days. One inventory system. The first real system, ashfall grows

Whats new:

  • Persistent inventory storage
  • inventory mechanics
  • Autosaving

I seriously thought I had the inventory system sorted on my first commit, until I realised the inventory dictionary was only being changed in memory and wasnt actually being persisted to the JSON save file. Ngl, this whole thing really showed me that just knowing python syntax and how python works isnt enough.

That lowkey sent me through a 4 day spiral of hell of figuring out how my game state actually flows between main.py, game_loop.py, and inventory.py, functions, dictionaries and the save files. Once I built a mental model of the data moving through the program everything lowkey just started clicking- I could finally understand why things werent doing running the way they were supposed to instead of changing code and hoping

I ended up implemented inventory persistence, item inspection and some basic error handling which also made debugging way easier when i figured out i mismatched parameters somewhere

Honestly, this was probably the biggest learning chunk I’ve had with Ashfall so far. I’m starting to feel like I’m actually understanding the architecture behind the game rather than just making individual features work, and I’m proud of that

Now i want to keep building it piece by piece until theres an actual playable RPG here
truly then i can be hella crazy with the lore and story
this is exhilarating, get excited

0
0
91
Open comments for this post

2h 23m 33s logged

What’s new

hooked up lootdrops() to fetch a randomised amount of random drops from items.json
added a while game loop with an action menu so the game stays running until you quit

The current system

You pick a class, set up your character with stats based on your class, save your progress to a JSON file, from there you explore the world starting with the outskirts, check your stats, and interact with an NPC.

Next steps

  • adding inventory mechanics
0
0
89
Open comments for this post

2h 1m 36s logged

This is my first project, my first devlog.

TL;DR: I created a main menu action system, where players can create their characters or load them, characters can have their own classes, and each class has their stats, character stats are stored in a JSON file.

lil bit of backstory: I’m learning basic python in school, and for a while I’ve always asked myself “What’s stopping me from being better than everyone else here?”, So after I spent countless hours with that short fuelled motivation in tutorial hell, where i relentlessly watched videos on “how to start my dev journey” etc., while not actually implementing anything, and as a result I didn’t really retain knowledge. So with Stardance, I plan actually doing something productive this time

For the past 2 -3 days I’ve been trying to get my head around game loops and file handling and code structure. Honestly, this has probably been the hardest part so far (even though I didnt get far), because I’m starting to realise there’s a big difference between knowing programming concepts than actually putting them into a project 😭😭😭😭😭😭

I had to search a lot of things up, and figure out how to move forward, and for a while, I’ve had this bug where the main action menu would keep looping and after realising it was all because a couple of logic errors.

This is only the beginning of Ashfall, Expect a lot better from me soon

1
0
46

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…