The Organization

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.

personal programming history permalink

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!

  1. Networked Multiplayer
  2. Networked Physics
  3. Procedural Generation (of whatever, probably the physical area one plays in)
  4. Programming Blocks
  5. NPC AI
  6. 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.

toy01 programming history work personal permalink