Becoming an expert takes time. Improvement is gradual and achieved incrementally with consistency. I’ve committed myself to working at least 20 minutes a day as an experiment to see how far I can get with my skill of choice: game development.
My first post!
My series of posts on managing expectations (start from the bottom)
Other reflective posts
Day 115 – When I finished my Zelda clone!
When I started this blog, there weren’t many competing priorities in my life. I have since found some really interesting things to dive deep into and with strong reasons why. I’ll share them with you right now.
Communication – As I have worked at my company (and through the lessons I have learned writing this blog), I have developed a philosophy about the best way to run a company. Your vision and plan should first be meticulously thought-out and grounded in reason. Then, they should be championed by management and shared on a regular basis. That way, everyone can repeatedly buy-in and work with focus.
I haven’t seen that done excellently yet. I would often find myself wondering why we are doing something or what the plan is next. And it is up to the decision maker to make that clear. You can’t blame the child if they didn’t understand how the storyteller narrated the book. I want to be a part of that shift. I want to explore my theories in aligning a company. That sounds like a grand and worthwhile goal.
Creation – I want to try my hand in entrepreneurship. I want to explore my ability to find pain points in the market and build solutions that fill them and every aspect of that process in between. My friend and I have a project that has been lagging for a while. I want to get back to it.
These goals truly make me come alive and I can’t wait to explore where they will take me. These goals and strong reasons why make it easy for me to decide to drop this blog. Unfortunately, my blog doesn’t have as strong of a reason to exist and I found myself split with too many commitments.
Perhaps someday I will return, but it will be after I have truly given these goals the ol’ college try. This is goodbye. I am so happy for all the lessons I have learned.
(Note: I don’t want to become a boring fart that is all work and no play. I am not foregoing all fun activities for these two goals. I’ve been doing a lot of other fun things like Toastmasters, boxing, dance, and writing. So to complete this post, that’s why I’m dropping this because that’s a lot of balls in the air 🙂 )
Fun, yet exhausting day. Just doing the 20 minutes. Found a GitHub client. More iterations until Commitopia comes to life.
As I mentioned earlier, I wanted to display playable demos for the committed state of each day in my blog. So you can play the game I had at day 3, or day 60, or whatever.
Today, I brainstormed how I want that to work. I call it Commitopia.
I’ll continue tomorrow.
Pretty strong animation and sound effect combo. I am proud of my use of frame counting. There’s an even better way I can think of to do the chug sound, but I will leave that alone for now.
Tomorrow, I will plan out how to make my day commits playable. (Again.)
Found a simplification.
The code originally stored boxcar locations on two independent axes (x and y). This is too complicated and was causing bugs as I introduced acceleration and speed.
I was able to greatly simplify when I realized the train track is essentially a number line wrapped into a circle. I can store a car’s location with a single number on this line and then later “unwrap” the location based on where along the track it is.
This made for very clean code that leaves no room for bugs. The location is a single value, not some arbitrary pixel location.
Next: I want to look into making the “chug” sound match frequency with the train’s speed.
Added an accelerate/decelerate effect to the train. It accelerates once every 10 frames. I’ve heard about counting frames from speedrunners and fighting game players, but now I truly know what that means 🙂
I’ll sync sound and make acceleration more incremental tomorrow.
Sidenote: Had some blog presentation improvement ideas today.
- Visual representation of my projects on a calendar.
- A counter of what day I am on.
Late, tired, let’s do this.
Checking off the tutorial challenges. Got the train moving backwards cleanly. Next, let’s have it rev up and rev down over time.
Took on a challenge from the train tutorial. The train can go backwards (kinda).
Drew the sprites for it, but need to iron it out tomorrow.
I’ll look into automated commits after completing the tutorial.
Did two things today:
- Figured out how to do a looping sound for the chugga-chugga train sound
- Cleaned up the movement logic as asked by the tutorial
Nice logic to loop sounds in Pico. Simple start/stop, although I had to do some digging to understand.
The basis of my improvement was understanding that the train’s direction changes only 4 times. Once at each corner.
The original code was written to check where the train should go at any given point on the track.
I updated the code to check if it is on a corner. If so, update the direction to travel. This greatly simplified the code from checking infinite cases to just checking 4.
Tomorrow: dedicate the majority of my time to automating commits and making these demos playable.
Squeeze in a little post here. Added sound effect and refined sprites. I want to make the sound a little more train-like (chugga-chugga) next.