30
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
My current project is farmd. It’s the backend to a farm game. It’s currently all made in c. It’s currently about a feature away from being moved to alpha. When I move it to alpha, I’ll make a dedicated post for it. I’ll love to answer any questions about it. Or accept any PRs and issues.
https://github.com/Dotz0cat/farmd
This looks super cool
I’m glad that you think that :)
I'm working on an RPG (sort of) called Raspberry Resort. It's still in early development, but I've gotten some menu and dialogue stuff working recently: https://www.python-b5.com/images/resort_tildes_preview.gif
This looks super cute!
Me and a group of close friends are working on a survival / exploration indie game! I can’t share much until we announce it properly (some time this year!) but we’re all super excited about it.
Consolidating duplicate/frequently used code in work scripts into a common module with functions that can be included in the actual scripts. It's a lot of work and is a pain to refactor some things, but it's going to simplify a lot of stuff and reduce duplication.
This sort of work always feels so gratifying when it's finally done. Just to have everything cleaned up and in one place.
Oh 100%. It's great to cut code in half and just make all those functions more generic and usable by anything. It's really satisfying.
I am a full time game programmer. I don’t tend to work on personal projects very often any more, but I did build some programmable Christmas lights last Christmas and a couple little arduino robots from kits since then. Also made a joystick a few months ago. I figure that if Jedi have to build their own lightsaber to be a real Jedi then game developers have to build their own joystick. So now I’m a real game developer.
For work I work in Unreal right now and I’m happy to talk about Unreal generally. Can’t talk about my actual project yet.
How do you like the Unreal engine? Have you worked with other engines? How do they compare?
I’ve worked in proprietary engines at AAA developers, and in Unity. I prefer Unreal to Unity by a wide margin. It works like the other engines I’ve worked in, and having source code for everything is a big deal. You don’t get source code for Unity unless you pay enterprise level fees up front. The general thinking around Unity is that it’s easier for new developers, and also easier for prototyping. The former is maybe true, but I don’t buy the latter. Once you understand Unreal, I think it’s easier to build things quickly than Unity. It does just have a very steep learning curve.
Unreal feels like it has the history of video games rolled into it. It’s not perfect, it has bugs sometimes and the documentation is largely shit. Unity has it beat on documentation. But Unreal has Unity beat on real world lessons and hard won experience. It’s made by a company that’s shipped many games and it shows.
Unity isn’t terrible, but having now worked in both big engines, I’d take Unreal any day for any project.
Thanks for this glimpse into the unknown to me area of game engines. Interesting to read.
I can totally relate to giving a lot of weight to having all source code available. Makes it so much easier to help yourself if you can't find the answer in the depths of the world wide web.
What kind of Christmas lights did you do? Addressable RGB? I looked into that for last Christmas but couldn't find a good somewhat easy way to do it and found the number of addressable RGB types overwhelming and not well suited to mounting on a house given that most need frequent power injection.
Addressable RGB, yeah, but I didn’t put them on the house, only around the Christmas tree. With a button to change the patterns, nothing very fancy.
I just ordered some strings off Amazon then found what part they were using and an arduino library that matched. Not a whole lot of planning or research.
Yes, power is a problem. I think I strung three strings of 50 together? And that’s already too much. They could do one primary color across the whole strip but at two colors the ones at the end didn’t have enough and full white was right out. For an indoor tree display for fun I didn’t care so much but I’ll have to do something smarter if I do a more public version.
I'm learning Rust and some basic game development via the Bevy engine, by writing a little sports game (trying to make Blitzball from FFX, but with improved mechanics and smarter AI).
Mostly doing this because in my actual job as a backend Cloud developer, I don't get to spend much time programming "fun" stuff. And I'm a bit worried I'm losing some skills over time as a result.
That's super relatable. I'm also beginning my journey in Rust for similar reasons, I did see bevy and thought about checking it out. How do you like it?
It's super enjoyable to work with! I'm not sure if you're already familiar with other entity-component-system engines, but it is what Bevy uses for describing what things are in your game and how they behave & interact with one another. In Bevy, entities are simple IDs, components are structs, and systems are functions.
My favorite thing about it is how they implemented dependency injection. It's incredibly clean to write functions taking arbitrary input which needs to be passed to them by the engine -- you just include a
Query
parameter describing what combinations of components you're interested in looking at, and Bevy behind the scenes gives you all the entities satisfying the query.It is a very young project, so it won't be nearly as feature rich as something like Unity, but for personal projects I think it's perfect.
I'll be coming from EnTT with C++. EnTT handles the "query" idea with "views", seems similar but it's handled at the call site rather than in arguments to the system. I think it's just a limitation of C++ template deduction that Rust doesn't have because its generics are actually part of the type system. Definitely going to check it out.
At the moment I'm putting together a simple chat server and client to get a handle on io and threading. Nothing super robust, but I think it's a good learning project to figure out concurrency and streams in a new language or framework. Once I get some lessons learned on this maybe I'll try setting up some simple networked player controller in bevy to see how that goes.
I just want to say that's a very cool engine. Just looked it up to see what it's about and I love that it's data driven. I hear a lot about career programmers enjoying spending their free time doing this fun stuff. I'm glad the less enjoyable work life hasn't drained the fun out of programming in your free time. Enjoy!
I've taught an intro to research methods class at a university for many years. As part of my class, I developed a series of R lessons to teach students how to deal with simple stats. This spring, though, I convinced myself that it would be better to teach them how to deal with AI tools. I've spent many hours over the past few days teaching myself how to use chatGPT and other tools so I can adapt them for labs. It's challenging, but I really like crafting prompts to teach simple concepts like correlation.
I'm very curious what types of things you've come up with that you feel are more useful than using that time for R!
To be honest, I'm 70 years old. When I was working in R&D, R was about the only tool I used. However, now I teach a couple of classes a year and spend the rest of my time doing what I feel like at the moment (and that is rarely stats). My dog, Scruffy, seems to demand much of my time, and I guess he's earned that over the past few years. So, about anything is more important to me than R. :).
Fair enough ;) I'm just interested in uses for all of these AI advances since I'm sitting here feeling like I have no use for them in my day to day!
I'm sorry it took so long to respond. I'm teaching a class to end users (not programmers). For the most part, they are just curious about all this "AI is going to destroy the world" hype they are hearing. However, once they get past the "Oh, My" fascination of texting with a computer or generating a nice image, they start to figure out how they can use AI in their work. One of my students regularly produces sales materials for continuing education classes (think, "How to bake the perfect cake"). She had ChapGPT writing a short paragraph about baking cakes (with "make it humorous" thrown in), and realized that would cut her work by hours every week. She asked me if I could get ClipDrop to create a picture for a class about "Divorce Communes In 19th Century US" (I guess I should take that class, since I didn't know it was a thing). I entered a prompt like "Victorian Divorce Communities" and she was excited about the four usable pictures generated in just a few seconds. I don't know how everyone else is using AI, but I know at least a couple of my students are using the materials I covered in class to help them with their daily work.
I love this, thank you! I find my imagine very limited when confronted with modern AI tools. I see people doing such cool things, but I wouldn't know how to start. Neat.
I'm working on a visual novel -- Missing Stars! It's a huge story with multiple paths and a focus on mental health. My team has released an older version on itch.io, but the updated version will be released there and on Steam soon!
For my research I’ve been needing to train neural networks to emulate a computationally expensive calculation that needs to be done for my data analysis. I’ve just recently determined that I need to repeat my analysis with higher precision settings and more data. So I’ve recently been generating the new training data I need for the new neural network for this new analysis!
I’m one of those guys who prefers the thin client model. I like to offload as much compute as possible to something dedicated while carrying around the lightest, thinnest, most battery efficient laptop I can.
I have a base model MacBook Air, which I like the weight and feel of. And I have a beefy heavy work laptop, which I have permission to play games on, but I keep it stowed away in a corner of my house cause it gets really hot and the fan can get kinda loud.
For work I usually Remote Desktop in with no latency problems, but when streaming video games it can’t steam fast enough over my wifi network and it gets all pixel-y.
So, knowing that it may not actually be possible to have it the way I want, I’m going to make one or two feeble attempts at boosting the connection speed. I’m starting off with hooking up just the work laptop to Ethernet, and hopefully that’ll be enough. If it’s not I’ll try hooking both to Ethernet, which bums me out cause I hate being tethered, but maybe I can run a cable to the living room and it won’t be so bad.
how about using Parsec to play games instead of RDP ?
I've done that myself over wifi and it work quite nicely!
oh yeah I meant to say that I use RDP for coding and steam remote play for gaming. I chose Steam over Parsec because of the ease of launching games and my hesitancy to install anything more than necessary on the work laptop.
I can give an update though that my half-Ethernet arrangement solved my issue
I've been working on setting up the infrastructure to support connecting two databases via an API. It's a super laborious process because I have to crosswalk three different data dictionaries to make it all work.
I’ve been making a character sheet generator for a new tabletop rpg called Break!! It’s pretty simplistic, just a basic page made with Vue and PicoCSS at breakmaker.netlify.app
My main project is getting a small library written in F# for my common CRUD needs.
My hobby project is probably going to be replicated Turncoats, a fairly simple board game, in F# so i can get some practice on UI.
With summer classes starting soon I've been busy adjusting/fixing/updating my python materials, ready for new students.
With every new cycle I tend to revisit materials, check validity, relevance, get it all up to date.
With the machine learning explosion I tend to have much more students than used to, most just starting.
I’m spending all my time on LLM stuff, working on ways to approach GPT4 capabilities on the cheap.
I've been working on a building game in Roblox where the map is infinite, and everything saves forever. To do that, the map is split up into chunks of individual servers. Its a fun technical challenge implementing that in roblox, really pushing the limits of it.
I'm trying to emulate the TI30-Xa scientific calculator, with the eventual goal of completely identical operation. One of the things which makes it difficult is that there are undocumented bugs in the calculator, which I would also like to replicate. I have wired up a Raspberry Pi to push buttons on one of them 24/7, so I have plenty of behavior documented.
My current hope is that I can find a way to dump the firmware from an older model of the calculator, though that may be a dead end. If that doesn't pan out, I will return to coding the features by hand. If you have any ideas for where to take this project, do let me know.
Slightly different take here, I work in data and sometimes cosplay as a software engineer.
I have an old web scraper for job descriptions that is currently broken. I am working on getting it up again and getting an ETL pipeline up from raw > BigQuery > undecided visualisation tool, maybe Looker / or a web site. I want to remake it with proper software engineering principles basically, the old version was locally hosted and analysis was mostly adhoc.
It has served me well in the past to:
I've been working on a gravity system to mimic super mario galaxy gravity in unreal 5. It works almost perfect in 2d space, but I've been struggling to get the gravity from multiple objects added to the player (or any object) in 3d without it applying in seemingly random nonsense directions.
I never was the best at linear so I'm sure it's just a logic error I made somewhere along the way.
Currently working on some form of automatic playlist maker for Spotify that scrapes the setlist.fm API for latest shows of an artist, when I have time. Also looking at making a clone of the ssh tarpit endlessh because it looked interesting to implement.
I already write code all day so I don’t do many side projects at home anymore. I keep my homelab full of self hosted services up, so I’m never dependent on a corporation existing to keep my notes, data, recipes, etc… all organized.
I just finished putting together a HiFiBerry based system together so that my fiancée and I can play music in the kitchen while we cook. We had previously had a Google Home Mini but decided we wanted to get something a little dumber.
I’m keeping half an eye on what HomeAssistant is doing with locally processed voice commands though. I’d be into setting up a little home hosted voice assistant.
To that end, I’m slowly building a “home stuff” API (with a corresponding CLI tool) that controls our lights as a way to get some experience working on building APIs for work.
I’ve been trying to make an sst stack that serves a rest api, Vue 3 front end, and cognitio userpool so I can whip out websites like mad.
A nice control panel app for my home automation system. Configured straight from the code (no "programming in json/yaml"), direct connection to mqtt. If all goes well, want to turn it into a framework for making similar apps.