During the recent weeks I have been occasionally engrossed in playing Cytus, a rhythm game for the iOS and Android mobile platforms. Most people would probably take a look at the game and just pass it for another one of those catchy touch-based rhythm games that only become popular for a few moments then slowly and painfully die out into inexistence.
Cytus is especially unique due to it being completely designed for capacitative multi-touch screens. I have also played other touch-based rhythm games like osu! (more specifically its Android port, osu!droid) in the past, but osu! appears to be designed specifically for graphics tablets. Additionally, due to its user base consisting of mouse-trotting players, a good handful of songs available for osu! made by the players are optimized in favor of mouse players more than those who play with graphics tablets, or in my case, fingers.
Cytus is also relatively easy to pick up and learn. The gameplay is easy and intuitive. A black bar continually bounces up and down from the top to the bottom of the screen, with each direction of movement corresponding to a measure (though sometimes I think a complete round trip from top to bottom corresponds to a measure, I'll have to take time to study this). A black glow on the sides of the screen repeatedly pulses after every two 1/4 beats. Colored circles (that are colored by group depending on which trip the black line is going to and fro) pop up on the screen, and the player has to hit these circles alongside the music's rhythm. Then there are the sliders, which are a couple of smaller circles connected in a chain. The player has to slide their finger through the slider, hitting all of the smaller circles in the process. Then there's the freezes (or holds), where the player has to keep their finger on a large circle with a bar running underneath, and wait until the black line has finished traversing the entirety of the freeze bar. Because Cytus is specifically written for multi-touch screens, "jumps", where the player has to simultaneously press two or more circles at one time, can be easily implemented.
As of the time of writing, Cytus comes with 26 songs (2 are cleverly hidden, and one of the songs requires the player to like Cytus on Facebook or follow Rayark's Cytus Twitter account), most of them unique and highly enjoyable. A song in Cytus is about a bit longer than an average DDR song (most Cytus songs do not reach two minutes in length). Rayark (the development team of the game) announced that the current roster of songs in the game are currently incomplete, and there are at least a hundred more songs that are about to come out in the future. They created an interesting release plan---every hundred thousandth registered player of the game awards everybody with ten more songs, possibly an entire new chapter; with all the songs presumably unlocked for everybody by the time Cytus gets a million official players.
Notice my use of the word "official" in the last paragraph. Cytus is available for both the iOS and Android mobile platforms, though it is not free (as in both freedom and beer). iOS users are expected to shell out approximately two dollars to get to play the game. Android users can initially pay the game for free, but as they play on the second and third chapters, they must wait out a 30-second and 45-second "cooldown" period (respectively) before the song plays. F2P Android players also have song restarting disabled by default.
F2P players are not included in the release "census", for obvious reasons. Additionally, those who acquired the game illegitimately through black repositories for jailbroken iOS devices and leaked .apk's for Android devices are also (hopefully) not counted for the census.
I bought the game off Google Play (with the same price as the iOS version) because I've decided that taking a mandatory 30/45 second break between each song isn't fun.
I have a couple of gripes with Cytus, especially with the Android port, since that's where I play most of the time anyway. Firstly, the game rendering performance is awfully poor on my Asus Eee Pad Transformer TF101. I suspect that the primary reason for the lag is due to Nvidia implementing poorly-written Tegra drivers, where by doing so, they can effectively force game developers to optimize their games for the Tegra devices, rather than for every mobile GPU out there. The game runs smoothly on my HTC Desire HD, though there are some freezes here and there (but that's probably because of activities and apps fighting for CPU time in the background). There are also timing issues present within the Android port of the game, where a rather perfectly timed tap is registered with an annoying delay, turning some of my "Perfect" notes into measly "Good"s. So I can also hypothesize that some blame is to be put on the game developers themselves as well, probably because from my experience most games ported from iOS into Android are almost always badly implemented.
To solve the performance issue on my phone, I resorted to overclocking the CPU up to 1.2-1.4GHz, choosing the Performance CPU scaling governor, and/or closing every background activity and app that I can close. For my Transformer, however, overclocking the CPU doesn't seem to have any effect, nor does closing a couple of background applications. The only viable solutions I can think of are (1) just living with the game with bad lag and timing issues (I did get a couple of Million Masters with the tablet though), (2) Just play the game on my smoother phone (though thumb players will probably be a separate category for "competitions"), or (3) steal an iPad off an unfortunately picked friend who plays the game.
I also do hope that the game will offer its players the ability to import their own songs and use them in the game, though the iOS roots of the game will most likely prevent that from doing so, if the developers decide to make the iOS and Android versions of the game completely similar to each other in respect to features. It's the same thing that keeps "osu! for iOS" an unstable hack job for jailbroken iOS devices.
Wednesday, October 10, 2012
Sunday, October 7, 2012
Doing some work on a novel
Some
friends and acquaintances of mine have noticed me writing and working
on some sort of manuscript. It's neither surprise nor a secret, I am
writing a book. More specifically, I'm writing a work of fiction. I've
been writing a lot of prose fiction ever since I wasn't even in high
school, though some of those works were lost either accidentally or
intentionally by me.
I have had a lot of ideas for writing a fiction novel during the last five years or so, but none of them ever even made past the simple 10,000 word count checkpoint. The reasons are probably because I can't find the time to work, and that I can't seem to string together a coherent plot that doesn't entirely sound like I hastily pulled it out of my ass.
I am not going to put in any specific details on this novel that I'm working on, nor am I going to hand out a plot summary of it. Those things will come once the first self-edits of every chapter and scene in my novel are done and I'll have to go find and coerce an unlucky person to edit my work again. But here's a hint for the persistent: It's set in (sort of) present day September 2012 in the Philippines, and it has something to do with international politics. It's a work of fiction that branches itself out from real-world events of that time. A lot of the places I used in my novel are also very much real. The genre is mostly thriller with bits of mystery thrown in here and there.
To prevent myself from slacking off and procrastinating by just deciding to play Sid Meier's Civilization V or Payday: The Heist all day, I've set a short term and two long term goals for my writing. The short term goal is, write at least 750 words a day. Does that sound too easy for a goal? Not really, especially when you're trying to make the plot as realistic, plausible and detailed as something you can find in a Robert Ludlum novel. I have noted a few days where I was not able to meet my short-term goal, or even wrote a single word on the pending chapter.
The long term goals are 45,000 words and 80,000 words for the entire novel. 45,000 words is 5,000 words short of the word count requirement for the National Novel Writing Month (NaNoWriMo), though I have some recollections of their word count requirement being only 45,000 or even 40,000. The second goal, 80,000, is the average word count of a lot of popular fiction novels. The 80,000-100,000 word count range is also comically referred to as the "zone where the publishers and agents actually take your manuscript seriously".
I'm writing my work in vim, typesetting it with LaTeX, and outputting it in a PDF using pdflatex, because who needs "word processors" anyway? I also wrote a small Python script that calculates the word count of each individual chapter and the entire manuscript itself, and calculates how much (in percentage) I have done to reach my long-term goals. There is a margin of error in its calculation of word count, however, since wc also counts my LaTeX comments and commands as words.
Hopefully by the next week or two I'll be able to finish the entire first draft of the manuscript. I'll begin editing by then, and at the start of November, I'll begin work on another novel to participate in this year's NaNoWriMo.
I have had a lot of ideas for writing a fiction novel during the last five years or so, but none of them ever even made past the simple 10,000 word count checkpoint. The reasons are probably because I can't find the time to work, and that I can't seem to string together a coherent plot that doesn't entirely sound like I hastily pulled it out of my ass.
I am not going to put in any specific details on this novel that I'm working on, nor am I going to hand out a plot summary of it. Those things will come once the first self-edits of every chapter and scene in my novel are done and I'll have to go find and coerce an unlucky person to edit my work again. But here's a hint for the persistent: It's set in (sort of) present day September 2012 in the Philippines, and it has something to do with international politics. It's a work of fiction that branches itself out from real-world events of that time. A lot of the places I used in my novel are also very much real. The genre is mostly thriller with bits of mystery thrown in here and there.
To prevent myself from slacking off and procrastinating by just deciding to play Sid Meier's Civilization V or Payday: The Heist all day, I've set a short term and two long term goals for my writing. The short term goal is, write at least 750 words a day. Does that sound too easy for a goal? Not really, especially when you're trying to make the plot as realistic, plausible and detailed as something you can find in a Robert Ludlum novel. I have noted a few days where I was not able to meet my short-term goal, or even wrote a single word on the pending chapter.
The long term goals are 45,000 words and 80,000 words for the entire novel. 45,000 words is 5,000 words short of the word count requirement for the National Novel Writing Month (NaNoWriMo), though I have some recollections of their word count requirement being only 45,000 or even 40,000. The second goal, 80,000, is the average word count of a lot of popular fiction novels. The 80,000-100,000 word count range is also comically referred to as the "zone where the publishers and agents actually take your manuscript seriously".
I'm writing my work in vim, typesetting it with LaTeX, and outputting it in a PDF using pdflatex, because who needs "word processors" anyway? I also wrote a small Python script that calculates the word count of each individual chapter and the entire manuscript itself, and calculates how much (in percentage) I have done to reach my long-term goals. There is a margin of error in its calculation of word count, however, since wc also counts my LaTeX comments and commands as words.
Hopefully by the next week or two I'll be able to finish the entire first draft of the manuscript. I'll begin editing by then, and at the start of November, I'll begin work on another novel to participate in this year's NaNoWriMo.
Labels:
books,
fiction,
literature,
me,
writing
Sunday, September 9, 2012
Debian Kit: Debian Squeeze/Ubuntu[Lucid/Precise] on your Android device
Because my very trusted and loyal IBM/Lenovo Thinkpad X60s has been "deskridden" for quite a while now, so to speak, I now turn to my Asus Eee Pad Transformer TF101 as my new mobile computer. Here are its basics:
The Transformer has been immensely useful for regular productivity tasks. The default browser, strangely named "Browser", and which I assume is based on the FOSS Chromium browser code, works well enough, though I keep Google's own Google Chrome browser with me as well (it's shinier, damn it). Both of them are great enough for casual browsing. For documents, I can easily access my stuff from Dropbox, though actually getting stuff into Dropbox is quite uncertain (though there are some workarounds for this). Polaris Office seems to be sufficient enough for basic document editing, though I'd like to liken it to a word processor built for a Vtech kid's "laptop". So most of the time I'm editing my documents through Google Docs, or not at all, since I hate word processors.
But I'm a student of Computer Science, a Software Engineer, and a hacker at heart, so this wasn't quite enough for me. In essence, the original "productivity suite" my Transformer offered to me at the start appears to be more appealing for children ("regular" Android tablet users might say the same thing to people with iPads, but I digress). So I started searching for solutions to my little problem.
My first attempt to fix the problem are, as ashamed as I am to admit it, using ready-to-use apps from Google Play. I got some text editors here and there, though they all sucked and couldn't hold a candle to Vim. I also grabbed a couple of C and C++ compilers, because sometimes I some code prototyping and I occasionally teach and help a certain list of people how to code. I also installed "Scripting Language for Android", or SL4A for short. SL4A, as far as I can understand, is a collection of interpreters and such for different scripting languages, most notably, Python and Perl; that you can run on your Android device, though it seems that native Android app development using scripting languages is still pretty much uncertain (sorry folks, you'll still have to live with Java).
But I wasn't satisfied with those yet. I preferred working in a command-line interface, so I needed a good terminal emulator. Unfortunately the one that you can easily get from Google Play will most definitely suck if you do not have root permissions on your device (this was before I decided to root the Transformer). Fortunately, there's Terminal IDE, a suite of command line software development tools that run on its own userspace. However, being jailed in its own userspace has some distinct disadvantages, one of these is that fact that everything in Terminal IDE is being jailed in its own userspace.
I tried SSH'ing remotely into my Thinkpad as well, though this effectively turns my Transformer into a dumb terminal, plus the Internet connections of the Philippines are too shitty to effectively maintain a stable remote connection.
After a lot of lurking around on the web, however, I've discovered Debian Kit for Android. This little solution puts a complete GNU/Linux Debian installation inside your Android device, allowing it to work side by side with the Android OS, rather than, say, completely replacing or dual-booting alongside it.
The idea of a GNU/Linux distribution running inside Android isn't particularly new, however. Numerous people have gone lengths to do the same, though their solutions usually boils down to chroot'ing the distro inside Android. This means the distro will run in its own little "virtual environment" inside Android. The big disadvantage in this approach is that the distro's world is limited to that little environment, which means you'll have difficultly accessing the files on your Android device's SD card, etc.
Debian Kit does this differently. According to its creator, Debian Kit effectively makes Debian/Ubuntu run side-by-side with Android through cleverly-made symlinking and bind-mounting. It will allow you to access the different storage devices present on your Android device, which is extremely important, at least for me.
I won't be writing instructions on how to set up Debian Kit on your Android device here. If I did it would be completely redundant and unnecessary. The creator of Debian Kit has written adequate documentation regarding the installation and my install worked after I did one or two read throughs. Also, he made some screencasts for the people who does not RTFM.
Though, there is one important thing that he forgot to document, and that is manually adjusting Debian/Ubuntu's timezone. On a regular installation procedure of Debian, the installer automatically sets this up for you, but in Debian Kit this isn't present, so your timezone is automatically set at UTC +0. This is fine for you people living somewhere in the UK, but not for everybody else who aren't. This has been a pain in the ass for me for a long time until I finally found a solution through a bit of Googling.
The solution for the borked timezone is the here (courtesy of Geek Ride).
Right now I'm reinstalling Debian Kit on the Transformer because I thought by doing so, I could fix the timezone, but no it didn't, so now I'm about to configure everything again. Thankfully the only thing that's a nuisance to replace is my SSH key, but that should be easy to regenerate and remanage.
- It runs Android 3.0 Honeycomb when I bought it, but currently it's running on the custom Android Revolution 4.0.3 ICS ROM, though "custom" doesn't seem like the right word here as they [Android Revolution] tries to keep themselves looking stock-like.
- It has a dual-core Nvidia Tegra 2 CPU, clocked at 1GHz a core.
- It has this shiny dock with a shitty keyboard, but still, it sure beats having to use a software on-screen keyboard.
- Did I mention the keyboard also serves as a second battery?
The Transformer has been immensely useful for regular productivity tasks. The default browser, strangely named "Browser", and which I assume is based on the FOSS Chromium browser code, works well enough, though I keep Google's own Google Chrome browser with me as well (it's shinier, damn it). Both of them are great enough for casual browsing. For documents, I can easily access my stuff from Dropbox, though actually getting stuff into Dropbox is quite uncertain (though there are some workarounds for this). Polaris Office seems to be sufficient enough for basic document editing, though I'd like to liken it to a word processor built for a Vtech kid's "laptop". So most of the time I'm editing my documents through Google Docs, or not at all, since I hate word processors.
But I'm a student of Computer Science, a Software Engineer, and a hacker at heart, so this wasn't quite enough for me. In essence, the original "productivity suite" my Transformer offered to me at the start appears to be more appealing for children ("regular" Android tablet users might say the same thing to people with iPads, but I digress). So I started searching for solutions to my little problem.
My first attempt to fix the problem are, as ashamed as I am to admit it, using ready-to-use apps from Google Play. I got some text editors here and there, though they all sucked and couldn't hold a candle to Vim. I also grabbed a couple of C and C++ compilers, because sometimes I some code prototyping and I occasionally teach and help a certain list of people how to code. I also installed "Scripting Language for Android", or SL4A for short. SL4A, as far as I can understand, is a collection of interpreters and such for different scripting languages, most notably, Python and Perl; that you can run on your Android device, though it seems that native Android app development using scripting languages is still pretty much uncertain (sorry folks, you'll still have to live with Java).
But I wasn't satisfied with those yet. I preferred working in a command-line interface, so I needed a good terminal emulator. Unfortunately the one that you can easily get from Google Play will most definitely suck if you do not have root permissions on your device (this was before I decided to root the Transformer). Fortunately, there's Terminal IDE, a suite of command line software development tools that run on its own userspace. However, being jailed in its own userspace has some distinct disadvantages, one of these is that fact that everything in Terminal IDE is being jailed in its own userspace.
I tried SSH'ing remotely into my Thinkpad as well, though this effectively turns my Transformer into a dumb terminal, plus the Internet connections of the Philippines are too shitty to effectively maintain a stable remote connection.
Debian Kit
After a lot of lurking around on the web, however, I've discovered Debian Kit for Android. This little solution puts a complete GNU/Linux Debian installation inside your Android device, allowing it to work side by side with the Android OS, rather than, say, completely replacing or dual-booting alongside it.
The idea of a GNU/Linux distribution running inside Android isn't particularly new, however. Numerous people have gone lengths to do the same, though their solutions usually boils down to chroot'ing the distro inside Android. This means the distro will run in its own little "virtual environment" inside Android. The big disadvantage in this approach is that the distro's world is limited to that little environment, which means you'll have difficultly accessing the files on your Android device's SD card, etc.
Debian Kit does this differently. According to its creator, Debian Kit effectively makes Debian/Ubuntu run side-by-side with Android through cleverly-made symlinking and bind-mounting. It will allow you to access the different storage devices present on your Android device, which is extremely important, at least for me.
I won't be writing instructions on how to set up Debian Kit on your Android device here. If I did it would be completely redundant and unnecessary. The creator of Debian Kit has written adequate documentation regarding the installation and my install worked after I did one or two read throughs. Also, he made some screencasts for the people who does not RTFM.
Though, there is one important thing that he forgot to document, and that is manually adjusting Debian/Ubuntu's timezone. On a regular installation procedure of Debian, the installer automatically sets this up for you, but in Debian Kit this isn't present, so your timezone is automatically set at UTC +0. This is fine for you people living somewhere in the UK, but not for everybody else who aren't. This has been a pain in the ass for me for a long time until I finally found a solution through a bit of Googling.
The solution for the borked timezone is the here (courtesy of Geek Ride).
Right now I'm reinstalling Debian Kit on the Transformer because I thought by doing so, I could fix the timezone, but no it didn't, so now I'm about to configure everything again. Thankfully the only thing that's a nuisance to replace is my SSH key, but that should be easy to regenerate and remanage.
Subscribe to:
Posts (Atom)