DEV Community


The Novelty Project That Really Got Me Going

iprogramit profile image Ally Updated on ・3 min read

My Project

Dots is a particle toy. It was designed for a bit of fun and a lot of learning. I wrote it back in late 2017 when I was first discovering GitHub and what it truly meant to commit. Ha-ha, get it? I digress. Dots was probably the first major project for me, even though looking back it is incredibly tiny. The features I put into it, though, taught me a lot about OOP itself and the way Windows Forms worked, on top of the .NET Framework. Nowadays I do commissions and they're quite large in comparison (though anything is...).

In Dots, you can play with particle speed, spawning rate, colours and whatnot. You can change the behaviour of the "dots" themselves, creating and destroying them, etc. You can see statistics about what you've got on the screen and what you're using.

Demo Link

Make sure to download all 3 files for Dots and to have the DLLs in the same directory as the executable. You can find the download link here

Link to Code

You can find the respective repositories here:

The story of Dots!

Dots was a step up for me. When I wrote Dots, I wanted to have a bit of fun but also to have something to show to people and hear them say "that's cool, but what's the point?". It was a demonstration that I could learn and advance while keeping things somewhat relatable to people who couldn't understand how it worked. Two main things that I learnt from it: (1) the drawing aspect of Dots, and (2) the extensibility. I learned how to draw on Windows Forms. I'd never done that before, and it was glorious. Can't say it was particularly efficient, it's not meant for that. I also learned how to design a program keeping in mind that making it extensible would keep the possibilities open. Who wouldn't want that?

I originally wrote Dots as a single program and broke it off into projects. Being the idiot I was when starting GitHub, I put them into their own solutions and therefore into their own repositories, even though Dots relies on the Physics "Core" and has extra physics "sets" to use (AllysCore). That's okay though. I came back to it today and put a release up on the Dots repository because that's the right thing to do, right?

I am so incredibly fond of this project I did. It was minor in the scale of things but at the same time, it was a major component for what I do now. That is, commissions and other personal projects which can utilise the knowledge of my mistakes in this project, the concepts used in this project and just time. Looking back, my code's horrible. But that's okay. Because it means the world to me.

How I built it. Afterthoughts.

I wrote Dots using C# on top of .NET Framework 4.0. It took me a while at the time because I didn't know what I wanted to do. I just went with it. And even though I learnt a lot and it's not my best code, I'm still incredibly proud of what I wrote. It will always be something that I remember and will come back to in my years to come.

Discussion (0)

Editor guide