DigiClock is an open source project. Sweeper 3D and Word Shuffle, however, are not. This is not because I want to protect the source, but simply because Unity 3D doesn't really work with an external source control, so it's actually effort for me to open source it. If you were to ask me for the source of one of them, i'd hand it over without an issue. So I decided to formalize that a little bit. Word Shuffle's source code is now online!
The main purpose of this is to give people an idea of how i structure a Unity 3D project. This game took only a few weeks to make, so there are some hacks, and some of the structure is a mess. There are also some bits of architecture that i'm pretty pleased with - such as how i do state management in Unity.
What's NOT in there:
- Assets that i'm not sure I can legally share. For example, i've used some free assets, such as those from the Unity asset store, but I don't know the legality of distributing them. So what i did is, if they're not mine or definitely free, i won't share them.
- My Network messenger class. This is mostly because i don't really want people seeing the web calls and the security i used. It's not that it's bad, it just opens the game up for attacks. The class itself is very uninteresting, and basically just wraps Unity's WWW calls in my own nicer ones, combined with some hashing and security. Sure, in theory you could get this from the game binaries and a tool like fiddler, but i'd rather not just put it out there. I pay for the server, and i'd rather not open it up for attack.
- Assets that I've made. Icons, buttons, 3D models.
- An openable Unity 3D scene. You may not be able to hit play, but you can see how i've handled menus and states.
- My dictionary processing tool. I wrote this to process the original dictionary files that i had. This was a major optimization. Take a look at the board generator to see my trick for optimally generating consistently good boards ( hint, it's a dirty trick :)