Too much text, need a photo!
Its been a long, long time coming
Just realized in typing the above that it is my 40th programming "anniversary". Didn't start programming professionally until 1995, or 1996. So 25th year as a professional programmer. I actually find that hard to grok.
About 5 months later...
Have been trying to get back into "coding for fun". I've been programming since i was ... 11? First on my Vic-20, then the C64 and on to PCs from there. Now working as a programmer I do find that i burn out on programming much more easily, and do not find the fun for post-work relaxation. Especially during these Covid Times. However my down time had turned into hours spend just kind of browsing Reddit or reading Gamedev Mastodon... So, i fired up my kobo, and started borrowing books from the library. It was nice to see that my brain could still read full novels! After reading a couple books, my interest in programming started to perk up again. Not wanting to squash it immediately, i began thinking about how i could program for fun, and keep it fun, or at least stress free. Rather than rushing to my IDE, i began writing, writing about problems that i find interesting, things i'd like to learn. I also realized that i need to keep this project safe from the idea of becoming a game, it needed to be a toy. I don't want to bog my process down with having to make something follow some game-design, or whatever. It is a toy, and a play space for me to experiment. If it is fun, or if you can play a game with it, so much the better. But that isn't the goal. It isn't even a bullet point. Removing the requirements of time, or feeling like i have to work on it, is also important. I am still reading novels, and watching Ted Lasso on TV, and that is fine. Programming is an other activity I can do, when I want to make time for it, not the be all and end all.
So, what is this set of goals i have, for fun personal programming? At least, this is the list at this point in time!
- Networked Multiplayer
- Networked Physics
- Procedural Generation (of whatever, probably the physical area one plays in)
- Programming Blocks
- NPC AI
- Player Actions and Interactions
- Auto-Translated Chat
- Icon based Chat (eg Meadow)
- Photo Mode
I have 1 and 2 working in the prototype. The physics stuff is great, using the state synchronization and authority articles by Glen Fiedler as the basis for my stuff. I've done a fair bit of multiplayer networking and this is the best implementation of rigidbody physics, shared across multiple players, that i have ever done. Best both from a "works better" point, but also that it is a very simple implementation.
Also been noodling with how to select objects in the space, and then how to architect the code that makes a thing do a thing. Like, how to select a box then pick it up. Kick a ball. Move items around the world without picking them up. These are questions that i think are fun to think about. There may be something wrong with me!
Still improving the networked rigidbody code, i think the next thing will likely be some experiment with selecting objects, and then activating an action on them. Like, kicking a ball, or moving a block. Depends on how i'm feeling next time i fire up the project.