What I Plan to Do
It is great to have some plan, right? Over next few years, I plan to challenge my skills by various independent projects, which I will list here in no particular order. Some of these projects are very hard, yes, and I am not even sure if can complete them all (some may very well over my skill), but all of them will be a very good challenge.
Game Development
- OpenTTD-like game – I don’t know about other, but while OpenTTD itself is already very good, I find it lack a lot of things that is essential if you aim for realistic gameplay. Mainly, the scale isn’t realistic at all. (C++ or Java project, 3D Graphics)
- Harvest Moon Fan Game – Okay, it is actually just farming simulaion game. For computer nonetheless. The closest game to what I have in mind is probably Stardew Valley. (C++/Emscripten project, 3D Graphics, Sounds)
Web-based Game
- TypingMania -- okay, this is already probably done, but I am migrating it to either Canvas or WebGL. (Canvas/WebGL/Web Audio fundamental)
- osu!/DJMax/O2Jam-like game -- but with dynamically generated beatmap using Javascript Web Audio API (WebGL/WebAudio intermediate)
- ASCII-art based game -- probably Airport game or some silly RPG like CandyBox/CookieClicker. (DOM?)
Programming
- Lite IDE – basic IDE written from scratch. Aim at beginner. But this may as well evolve into sophicated editors, who knows? (node-webkit/HTML5/nw-gyp)
- Heavy IDE – no need to say more (Java/IntelliJ Platform)
- Perhaps some compiler? (Assembly among other things)
Web Platform
- irccloud-like clone – because IRC is freaking important. And it doesn’t look hard. (Javascript, perhaps nodejs)
- BitTorrent tracker – again, this look interesting (nodejs, perhaps)
- Otaku-culture based
- Manga reader – look easy enough to learn AngularJS (Javascript/AngularJS)
- Javascript Subtitle Renderer – not probably really related only to otaku-culture though (Javascript/Canvas)
- Streaming system – Again, not probably related to just otaku-culture. (C++/x264/ffmpeg)
- Online Programming System (all-in-one system) (C++/Javascript/low-level/GUI/etc)
- ACM-like
- Online Judge System
- Learning System – Basic: Khan Acadamy CS/CodeAcademy; Advanced: Specialised Topics
- Online evaluation/Online IDE
Productivity
- Avisynth+ – well, I am actually already doing this. (Assembly/C++/etc.)
- Avs-based Video NLE GUI – one that doesn’t suck. When I do editing, I actualy find that a lot of things are easier done with script, and vice-versa. So Avisynth-based editor should be ideal. (C++/GUI/Video)
- Audio Program – might or might not do, whether I can find other application I am satisfied with before (C++/GUI/Media)
- Image Manipulation – because it looks interesting after doing video processing (C++/GUI/Image Processing)
- Javascript: It is undeniable now that Javascript will not ever die. It is standard of web client-side proramming, and that’s unlikely to change anytime in foreseeable future.
- nodejs: While I am still not sure if this will actually get mainstream like Python, the technbology and innovation itself is outstanding. The only thing I find lacking in nodejs is probably Threading. IMO, its only competitor are JVM-based language
- C++: Ultimate language. You can do everything possible in this language. I personally I find well-written C++ the most elegant code of them all
- Image/Audio/Video processing: These are actually quite math heavy topics, but if done correctly I find result really rewading.
Let see how many I can finish. Bet welcomed (but won’t be paid).