[GameAWeek] Week #3 Recap

This week hasn’t been as productive as I initially hoped. There were 2 days where I didn’t have much time to work on the app. I also took 1 day off to spend time with my family and had a throbbing headache yesterday. Yes I know, it’s a whole buttload of excuses. I won’t deny it because it is. Let’s do better next week.

Project idea

The goal for this week was to build an NFT viewer (I’m calling the app Pocket). You can think of it as a Pokédex but for NFTs. The idea behind Pocket is to give users a way to easily show off their NFT collection, to search and buy other NFTs (future scope).

Scope

The scope that I had planned was as follows:

  • connect a user’s wallet

  • get all NFTs of a particular address (moralis / opensea provides an API for this)

  • provide a way for users to search NFT contract address

  • a clean and simple way to display NFTs

  • a smart contract marketplace that allows users to trade their NFTs (future scope if Pocket gains traction)

This looks like a week’s worth of work; I already have some code for task 1, tasks 2 and 3 should be doable within a day and task 5 is an extension. I was only a little worried about task 4 since UI was never my strong suit. I decided to challenge myself to make a more professional looking app. I imposed on myself an additional condition of making the app responsive (to different UIs) and to have some cool animation (design mock ups).

Problems I encountered

I found this really cool example on Godot which looks almost like what I had in mind for my UI so I thought that it’d be a good idea to use it and build the remaining features on top of it. However, I did not want to just copy and paste the code because I want to actually learn how it works so I decided to re-implement (most) of the Book scene.

When I tried to run the scene, the page numbers of my book did not want to update correctly. I’m definitely missing something but I don’t know what it is because there are so many properties you can modify e.g. bones, animations, meshes, lights etc. and I don’t even know any of them lol.

The band aid fix

After not making any headway for about 2 days, I copied the original source code and it magically works 🤦! But 2 problem remains:

  1. I still don’t know how it works

  2. my knowledge of UI, animation, lighting etc. is non existent.

For problem 1, I’m going to work backwards from the solution by commenting out parts of the code and seeing how it affects the app. Problem 2 is a very common reason why so many new game developers get turned away from game dev (because the sudden and overwhelming amount of complexity). You can only get better at this by making more games and trying new things. Thankfully there are a lot of tutorials on the Godot documentation so I will have to work through them one by one.

What’s next

It’s called “Game A Week” so I am technically supposed to start on a new game / idea next week but because I barely made progress on this app, I think it’s okay to give it another week and see how much I can get done. You can try the demo here but note that it currently doesn’t work on mobile. Press on the left / right arrow keys to flip the page.

That’s about it for this week, thanks for reading and stay tuned for next week’s recap!