I replaced my old CDMA commection with WiFi some time ago. While pretty much everything improved, WiFi is a bit troubling: distance from AP and building as well as some growth in path make it fairly unreliable (as in, when it rains or when cat climbs tree, signal gets interrupted.)
Anyway, precise aiming of directional antena is lot of fun if your field of vision is obsured. You need to check signal strength and move a bit, wait, recheck strength, move aiditional degree.
But hey, it can be fun coding excercise and let computer give you neat beedback.
First, WiFi router propably has http interface, what about reading and parsing it for signal strength? Check.
Next, how to report connection strength to user? What about tone, lets use midi and control pitch of note with signal strength!
Here we go: Signal.java
Now you have auditory feedback you need to aim and if you are really good, you can swing antena to play something. Possibly.
I have discovered ingeious article about generating random levels with cellular automata. It worls like charm:
Now, from its looks it seems quite radom, but it makes wonderfull caverns, swamps and forests.
Dwarf Fortress is game that has intriguing and rich gameplay, but which lacks polish. One of things it lacks is sound engine and sfx, situational music and such goodies.
Of course, it has goregous menu and game music, but when it rains, i would like to hear rain in background.
So, I went ahead and started SoundSense project (a not-so-clever name derived from StoneSense.)
Basic idea is simple: game logs amouncements and messages to file. In order to start listening to events, you just have to read new lines and react to them. Message gets matched to pattern and sound linked to pattern gets played.
Create Commons licensed music and sounds are suprisingly abundant on net and easily found in high quality.
Did a bit work on it again:
Skills, Abilities and Attributes are working again. Targetting screen works like a charm :)
Resulting GUI code got quite pretty as result and while backend is also much cleaner, it could use some work (it once again became spagetti quite fast, but there are eat solutions).
What is left is Inventory, Statistics screen and Dialogue.
… And were back.
Slow progress was made to get everything back to working state: Gui is now way more segregated from “engine” and theoretically, it is possible to save several “sessions” interacting in same world as well as remote message dispatching with TCP/IP. Result? MMOness (Add grind and its thousands of hours of fun!).
There are losses, of couse: Pretty much only thing working now is movement and picking up items (I think. They disappear when pick message is sent.). That is going to be a bit more work ahead.
Overall, I have not given up on this yet :)