rpg2knet development: can it be too complex?
The development of my pet project, rpg2knet 4 is continuing very nicely. I've overcome certain problems I was having earlier (including one small issue I had with my nested set model code) meaning so far… so good. No problems that remain unsolved. One of the more esoteric problems I have been pondering over lately is this: am I making this website too involved and complex?
Looking through what is complete at the moment (and I'd say we're definitely closing on half-way done), there is a tremendous amount of interactivity. These days, with the advent of the social web and the advances in user experience and interactivity, I'd say this isn't necessarily a bad thing. Conversely, the forum element has been dubbed 4um4-lite, as layers of complexity have been removed. The use of the forums is a much more tied in experience with the rest of the site. Previously, the forum had upwards of 85% of the traffic whilst the rest of the site languished behind. Now, there will be more of a reason to visit the main site as a lot of information is available there.
My main concerns, due to the lack of problems with the codebase, are turning to two other things. The design, which I have tried and tried to perfect but doesn't come off quite right, and content. The site will inevitably feed from user participation and submissions from the users, but I think a site of this size and complexity will definitely need some very devoted people to keep it fully stocked. With the issue of design, I'm contemplating asking (very nicely) a friend and colleague of mine to see what he can come up with. Either way, these concerns are trivial — I still have a lot of motivation, regardless of the criticism and comments from certain people.
Looking through what is complete at the moment (and I'd say we're definitely closing on half-way done), there is a tremendous amount of interactivity. These days, with the advent of the social web and the advances in user experience and interactivity, I'd say this isn't necessarily a bad thing. Conversely, the forum element has been dubbed 4um4-lite, as layers of complexity have been removed. The use of the forums is a much more tied in experience with the rest of the site. Previously, the forum had upwards of 85% of the traffic whilst the rest of the site languished behind. Now, there will be more of a reason to visit the main site as a lot of information is available there.
My main concerns, due to the lack of problems with the codebase, are turning to two other things. The design, which I have tried and tried to perfect but doesn't come off quite right, and content. The site will inevitably feed from user participation and submissions from the users, but I think a site of this size and complexity will definitely need some very devoted people to keep it fully stocked. With the issue of design, I'm contemplating asking (very nicely) a friend and colleague of mine to see what he can come up with. Either way, these concerns are trivial — I still have a lot of motivation, regardless of the criticism and comments from certain people.
Tags: Rpg2knet, Development
verizon believes 0.002 dollars is 0.002 cents
This is pretty old (circa 2006) but I've never seen it before… so I thought I'd write a quick piece about it. Verizon (a phone and data carrier in North America for those of us in Europe) seem to be really struggling with simple multiplication. It all revolves around the customer service representative not being able to discern the difference between 0.002 cents and 0.002 dollars. Obviously, the unit different here means there is a one-hundred fold difference between the two. I say 'obviously', but the caller in this recorded phone-call to Verizon explains to the representative in a multitude of different ways. No matter how hard he tries to get through to the sales rep, he fails to understand.
I can't believe it. How stupid do you have to be to not understand the difference between a $0.002 and 0.002¢? The poor guy had soaked up 35,893Kb of data transfer whilst in Canada (which Verizon charge 0.002¢ for, which is $0.00002). However, when he got home he had a bill of $71.79. Obviously, they have charged $0.002 per kilobyte instead of 0.002¢. Hilarity ensues when he attempts to get his bill rectified (and so he should, considering his bill should only be $0.72). The recorded phone-call is pretty long, so if you want it compressed, there is a YouTube video (~3 minutes long). The YouTube video doesn't really go into the same amount of detail as the phone call, but if you listen to the call first and then watch the video, you can see how prolific the problem is. Furthermore, the guy in question chronicled his quest for a refund in the Verizon Math blog. Worth a read!
I can't believe it. How stupid do you have to be to not understand the difference between a $0.002 and 0.002¢? The poor guy had soaked up 35,893Kb of data transfer whilst in Canada (which Verizon charge 0.002¢ for, which is $0.00002). However, when he got home he had a bill of $71.79. Obviously, they have charged $0.002 per kilobyte instead of 0.002¢. Hilarity ensues when he attempts to get his bill rectified (and so he should, considering his bill should only be $0.72). The recorded phone-call is pretty long, so if you want it compressed, there is a YouTube video (~3 minutes long). The YouTube video doesn't really go into the same amount of detail as the phone call, but if you listen to the call first and then watch the video, you can see how prolific the problem is. Furthermore, the guy in question chronicled his quest for a refund in the Verizon Math blog. Worth a read!
rpg2knet development: nested set model
As most visitors I imagine will know (since they are mainly friends), I used to run a website about game making called rpg2knet.com. The site has been down for many years now (since around about this time in 2006) and I have been trying to get it sorted and back online again. It has only been recently that I have really been pushing hard to get this all completed. I got really wrapped up with Counter-Strike: Source for several years (starting around about April 2005 and ending just recently), which caused me to struggle finding time for programming. Now that I have effectively retired from the source scene, I have had plenty of time to get on with rpg2knet.I thought, since I'm coming up to roughly the half-way mark in terms of coding, I could start using the group blog here at dovka as a devlog as well, since posts can be filtered quite easily with our tagging system. So, today I thought I'd let people know about how things are progressing. This weekend has mainly been spent working on part of the site that I have toyfully been calling Nutforge (a play on sourceforge). It is a tool for starting a game-making project, finding your team/friends with certain skills to help you work (and rating them on how useful they've been, etc), talking about your game, showing off screenshots, and uploading/releasing your game to the masses. The 'end-game' for nutforge is to have your hard work reviewed by the panel of reviewers here that we shall (hopefully) hire for rpg2knet.com, just like it happened last time.
One of the features I have implemented is a "skill set" system. Using the excellent Hierachical (Nested) Set paradigm, I've managed to come up with a tree of skills that you can tag with different levels of proficiency. The idea being, you can search for 'free' people that have listed that they are looking for a project to help out with, and order them by their proficiency, filter them out and well… cherry pick the people you like. Obviously I can foresee a problem with trolls putting all their 'proficiencies' at maximum just to clutter up the search results. With that in mind, I've been thinking about adding in a modifier system where community members can vote a member up or down in skill level if they have been involved in a project with them. That way, if somebody is a time waster, they'll essentially be flagged as such and this will warn others about undertaking a project with them.
This tiny feature is something that I consider to be, at the time of writing, very unique. I can't see any other RPG maker based website doing anything like this, although I'm aware I may have been mildly inspired by the excellent assembla.com. This is what rpg2knet.com is all about in my eyes. Something original, that nobody else has thought of, or something that nobody else can do. If all goes to plan and we can couple this website up with the sort of community spirit the old rpg2knet.com had, I believe we are really onto a winner. And that spirit is exactly what keeps me programming every night to get it completed *hurl*. As cheesy as sounds, it's true.
chrono trigger ds announced!
If you're a fan of RPGs like myself (obligatory link to rpg2knet), the fact that Chrono Trigger has been announced for the Nintendo DS probably hasn't escaped your attention. It's pretty fantastic news if you're a fan of the struggling Square-Enix. Lately, they seem to be pretty obsessed with releasing poor rehashes or half-sequels of their old classics. Fanboyism asside, I played through and thouroughly loved Final Fantasy VII when it was first released. I locked myself in my room with my friends Playstation and played it solidly, only coming out for toilet breaks and meals. I cared for the characters, and I don't feel any other game has managed to surpass it so far. Even a fool can see they are attempting to cash in on VII's success by releasing tripe like Dirge of Cerberus: Final Fantasy VII.Finally it feels like they are getting back on track by developing something that the fans actually want. I mean, I know it's still a bit of a cash in (with it probably being a direct port of the SNES game [although people have hinted Square-Enix will continue porting the FMV into the DS versions of their games, as seen on the PlayStation edition of Chrono Trigger) but at least it is a product that the fans will actually be interested in. I think the Dirge of Cerberus tie-in was a complete insult to the intellect of their fans (duuur you like FF7 so you'll immediately buy this game). A large cross-section of their fans would not have played previous Final Fantasy games and bought FF7 on the strength of the reviews it received. If you're the sort of gamer, you're not going to rush out and buy any title that has been labeled an obvious doozey by a reputable magazine such as EDGE. Final Fantasy tie-ins are no exception.
Well… rant over. I'm just glad to see something that, in my eyes, is worth doing by Square-Enix. With this announcement, I thought I'd compile my top 5 16-bit era role-playing games that I would like to see get the DS treatment:
- Earthbound. And Mother 3. I will CRY if they announce this.
- Secret of Mana (imagine link-up play for co-op!)
- Lufia II: Rise of the Sinistrals
- Super Mario RPG: Legend of the 7 stars
- Shining Force 3 (I wish they'd done the map engine in 2D, though)
All relatively unlikely, but a gamer can always dream…
programming ides: annoyances
I have used several IDEs for scripting PHP over the past five years. Since starting my job in 2006, I've been forced to switch a couple of times for hardware reasons. A bit of back story. When I first began to dabble in PHP I used UltraEdit32, on recommendation of a friend that was proficient in C. It suited my needs as a HTML editor originally, and was pretty flexible when it came to PHP (offering syntax highlighting) but no code completion.
Some time in 2004 or 2005 whilst I was at university, I was lucky enough to win a copy of Zend Studio 5. Obviously I began to realize what I was missing in my IDE. Before this point I don't think the IDE I was using really crossed my mind. However, the code completion was absolutely excellent (still unrivaled for PHP, I reckon) and the spread of features was awesome. One of my favourites was the built-in support for version control (CVS and Subversion) which became a bit of a killer app for me whilst coding my final year dissertation project.
Now, some of you might have tweaked that I said I switched due to hardware, and Zend Studio (as it is written in Java) is cross-platform. When I started my job I was thrown into the world of Apple Macintosh. After getting used to the basics of the operating system and falling in love with the BSD-esque underbelly, I got my copy of Zend running nicely under OS 9.0 Tiger. After a couple of months of glorious use, it began to get extremely sluggish. Loading it up took 20+ minutes, and each keystroke seemed to lag for about 2 seconds. Obviously, this was completely unusable. Apparently, it's something to do with the cache folder that Zend creates inside the user preferences directory. Despite following those instructions, it didn't remedy the situation.
I moved to OS X and a new (more powerful) iMac hoping that it would remedy the situation. Not really, I found. It still feels much more responsive on my PC in my home office, despite the specifications of the machines not being that distant from each other. In frustration, I went through some other popular IDEs for Mac:-
And so, I come to the REAL reason I started writing this blog. The PHPDoc competition for classes in the standard PHPdoc textmate bundle is ass. It is nowhere near as good as Zend Studios… but since that IDE isn't an option for me currently whilst I'm in the office, I've reverted to hacking away at the bundles in order to make it more 'Zend-like'. After reading through and putting into practice the TextMate and phpDoc Comment Blocks article at Killersoft, it became obvious that it is completely possible to do what I am trying to achieve. (Note: if you also follow that article, make sure you get the newlines correct in the bundle- if you copy-paste like I did, it does not work. Get the text-only version they supply and copy-paste that!)
So yep. Zend is great and all, but for the time being I'm flitting between Coda and Textmate. Is there any better alternative for scripting on a Mac? I can't get the Eclipse-based Zend Studio 5.5 by the way, since my license key won't stretch that far, and I refuse to pay for the upgrade!
Some time in 2004 or 2005 whilst I was at university, I was lucky enough to win a copy of Zend Studio 5. Obviously I began to realize what I was missing in my IDE. Before this point I don't think the IDE I was using really crossed my mind. However, the code completion was absolutely excellent (still unrivaled for PHP, I reckon) and the spread of features was awesome. One of my favourites was the built-in support for version control (CVS and Subversion) which became a bit of a killer app for me whilst coding my final year dissertation project.
Now, some of you might have tweaked that I said I switched due to hardware, and Zend Studio (as it is written in Java) is cross-platform. When I started my job I was thrown into the world of Apple Macintosh. After getting used to the basics of the operating system and falling in love with the BSD-esque underbelly, I got my copy of Zend running nicely under OS 9.0 Tiger. After a couple of months of glorious use, it began to get extremely sluggish. Loading it up took 20+ minutes, and each keystroke seemed to lag for about 2 seconds. Obviously, this was completely unusable. Apparently, it's something to do with the cache folder that Zend creates inside the user preferences directory. Despite following those instructions, it didn't remedy the situation.
I moved to OS X and a new (more powerful) iMac hoping that it would remedy the situation. Not really, I found. It still feels much more responsive on my PC in my home office, despite the specifications of the machines not being that distant from each other. In frustration, I went through some other popular IDEs for Mac:-
- Dreamweaver CS3 - Terrible. Honestly, I can't understand why people use this IDE. Crash-happy, slow, irritating text-completion. The site-wide (or project-wide) search is a decent feature, though. I hope more IDEs pick it up.
- Coda - Very enjoyable to use. Obviously an exercise in Cocoaforge for the authors, who have a very good grasp on GUI programming. It is missing certain tools, and some of the features are annoying (and cannot be changed via preferences). The IDE will shine with the advent of modules or plug-ins, if that ever happens.
- TextMate - My current IDE of choice. I switched to this for it's flexibility (code completion via Textmate 'bundles' is a fantastic idea and full-circle, reminds me of UltraEdit32). Thanks to my co-worker for praising it enough for me to take notice(!)
And so, I come to the REAL reason I started writing this blog. The PHPDoc competition for classes in the standard PHPdoc textmate bundle is ass. It is nowhere near as good as Zend Studios… but since that IDE isn't an option for me currently whilst I'm in the office, I've reverted to hacking away at the bundles in order to make it more 'Zend-like'. After reading through and putting into practice the TextMate and phpDoc Comment Blocks article at Killersoft, it became obvious that it is completely possible to do what I am trying to achieve. (Note: if you also follow that article, make sure you get the newlines correct in the bundle- if you copy-paste like I did, it does not work. Get the text-only version they supply and copy-paste that!)
So yep. Zend is great and all, but for the time being I'm flitting between Coda and Textmate. Is there any better alternative for scripting on a Mac? I can't get the Eclipse-based Zend Studio 5.5 by the way, since my license key won't stretch that far, and I refuse to pay for the upgrade!
insane super mario world handsfree melody
I am speechless. Here is an absolutely insane medley of video game and anime songs overlayed by timed sound-effects from Super Mario World on the SNES. The crazy thing is, whoever has done this has gone and developed his own level (I assume via ROM hacking) which is completely hands free. Mario and Yoshi flow through this magical world bouncing off all sorts of blocks and shells to recreate the highlights of the backing track.
Weighing in at around eleven minutes long, it really must have been a labour of love. I had to post it as Mario is a strong favourite here at dovka, and I've never seen anything quite like it. It is quite fun to try and identify the songs in the video. I definitely heard a bit of Mega Man in there, some Final Fantasy and bizarrely a song by IOSYS. Have a listen, it is well worth it!
blog spam, captchas and ways around
I really really hate blog spam. I get so much of it as well, despite all my little modifications to the forms such as adding a simple arithmetic 'CAPTCHA' (I didn't want to go down the image route because I find them intrusive) and testing against known spammy URLs. We even have an XML-RPC service checking the comments. Yet they still get through. How?
Interestingly, a lot of the comment spam I have been receiving lately contains spammy qualities, but the content (i.e. the the links that they are trying to embed) are useless. They are all made up of a random composition of URI-legal ASCII characters, with a '.com' suffix slapped on the end. I've been trying to think of a possible reason why this is happening. My first thought was that somebody was using my blog as a 'test bed' for some automated posting software, using my form to help the bot 'learn' how to overcome my CAPTCHA (solving the problem would be very easy once a human told the bot what to do). It seems viable, although I'm unsure why somebody would bother with my blog. It isn't really read heavily, has no 'subscribers' per se, and doesn't rank highly in google for many common search terms.
I'm not sure what to do now. Lawrie kindly pointed out that we'd had a bit of spam via SMS a couple of days ago, so I've tweaked it a little bit. Has anybody got any ideas of more unobtrusive ways to cut out this crap? Integrating Akismet into my blog looks like the only way…
Interestingly, a lot of the comment spam I have been receiving lately contains spammy qualities, but the content (i.e. the the links that they are trying to embed) are useless. They are all made up of a random composition of URI-legal ASCII characters, with a '.com' suffix slapped on the end. I've been trying to think of a possible reason why this is happening. My first thought was that somebody was using my blog as a 'test bed' for some automated posting software, using my form to help the bot 'learn' how to overcome my CAPTCHA (solving the problem would be very easy once a human told the bot what to do). It seems viable, although I'm unsure why somebody would bother with my blog. It isn't really read heavily, has no 'subscribers' per se, and doesn't rank highly in google for many common search terms.
I'm not sure what to do now. Lawrie kindly pointed out that we'd had a bit of spam via SMS a couple of days ago, so I've tweaked it a little bit. Has anybody got any ideas of more unobtrusive ways to cut out this crap? Integrating Akismet into my blog looks like the only way…
lazy programmers
Lazyness; It's something of a habit of mine. I will start coding a website and purposely leave out making the administration area just because it takes an age to write. But I've finally done it! It's only taken over a year, but in an effort to get people posting more regularly to this blog I bit the bullet and wrote some code.
What you readers don't know is that half of the reason for writing this blog is for test purposes. So, essentially you're a guinea pig within my internet laboratory. How does that feel? Pretty neat, huh. I've had to delete this blog about fifteen times now, since I'm trying to perfect the XML-RPC 'ping' mechanism that tells blogs aggregation sites around the world that little ol' dovka.org has updated. I think it's just about working now. Although there is one site that is persecuting me for pinging it due to me not being of Indian decent…
Interestingly as well, it appears that 3/4 of my links out of the site are now dead! Congratulations to Lawrie for being the only link to survive! Looks a little lonesome over there now with only one link. Anybody have some recommended reading material, eh?
What you readers don't know is that half of the reason for writing this blog is for test purposes. So, essentially you're a guinea pig within my internet laboratory. How does that feel? Pretty neat, huh. I've had to delete this blog about fifteen times now, since I'm trying to perfect the XML-RPC 'ping' mechanism that tells blogs aggregation sites around the world that little ol' dovka.org has updated. I think it's just about working now. Although there is one site that is persecuting me for pinging it due to me not being of Indian decent…
Interestingly as well, it appears that 3/4 of my links out of the site are now dead! Congratulations to Lawrie for being the only link to survive! Looks a little lonesome over there now with only one link. Anybody have some recommended reading material, eh?
bruce willis
Bruce Willis was in the local transport newspaper "The Metro" here today. There is a set of three pictures taken from press conferences surrounding the release of Willis' new film, Die Hard 4.0. In the pictures he's tugging at the ear of co-star Justin Long whilst looking the other way. I was more concerned with the text however. The Metro reports Bruce as pratically computer illiterate! Quote: "He may fight Internet terrorists in his latest Die Hard film, but at home Bruce Willis needs the help of his young daughter to use a computer." Almost as soon as I read it I recalled a really interesting post over at Switched about a month ago. The article is about people on a film-goers internet forum doubting a guy who comes into the conversation posing as Bruce Willis. Naturally (I'd be the same), they don't believe it's really him. They don't actually ask for proof, but Bruce offers it up on a plate. And there is the result - the picture in the post (follow the link) is fantastic. I particularily like the inset picture from iChat; the reaction on the poor guys face is a mixture of "Oh my god. I'm on iChat with Bruce Willis." and "I just made myself look like a right idiot… but… Bruce mother-fucking Willis!" Bruce is showing off his tats and goofing about - It makes him seem very human and for some reason really grounds him. Seems an obvious thing to say, but Hollywood stars seem so untouchable that an event like this was great to see; it does make me wonder why it doesn't happen more often.And so the next logical question: how many other stars browse over the same social internet gathering spots as the rest of us? Last report I heard, people like Orlando Bloom were signed up to Facebook (surely that must be an absolute nightmare - talk about friend request every 15 seconds). I know if i were an actor, I'd feverously check reviews of all my movies, and I'd probably write fake shit about other actors I didn't like on IMDB. I think the episode with Bruce sparked a lot of debate over this at Ain't it Cool News.
what is wrong with facebook
What the devil are facebook doing? They've just started allowing "developers" build inline applications using some specialised subset technologies (FML instead of 'SQL', FML instead of 'XML'). This seems like a great idea on the surface. They are some pretty decent applications popping up (like the iLike music application) but companies have been quick to jump on the bandwagon. I think the Red Bull app was one of the first ones out there. It just goes to show really. I've very hap-hazardly signed up to most of the social networking websites going (well, the popular ones anyway… I needed to join a lot of them as 'research' for my University project). Facebook in my eyes was one of the few that I can actually use as the original developer intended.
Take myspace - everybody has heard of it and it is generally a big heap of shit (code-wise). The CSS is easy to override, which means surfing from page to page A) takes hours since clueless people stick 2Mb animated GIF backgrounds in their pages. B) burns your retinas since clueless people stick 2Mb animated GIF backgrounds in their pages. Meh, you see where I'm going with this. It's terrible, and has grown so large I doubt the developers can do a thing about it. And why would they? It's hugely popular despite it's shortcomings. I prefered facebook for several reasons. It has set styles to each page: each profile is similar to the last, just the content changes. I like the fact that you're drilling into a specific format; it's both easy on the eyes and easy to find what you're looking for. The AJAX is over the top and crazy, and it works. That's great. I also love the fact it (previously) was 'invite-only' as far as you needed a college e-mail address to have an account. That really helped 'cement' the network part of the social network.
Now they've introduced applications, it's going down hill (in my opinion). I've had a look at developing one and it seems pretty easy, i've thrown up a couple of forms and written some FML. They've been clever with the CSS (It's parsed and sanitized so you can'd do anything crazy like on myspace) and the 'Platform' as they call it, is genuinely well thought out and well documented. But my 'latest' feed is flooded with literally tens of 'so and so has done this, and wants you to use this application' posts. If I wanted all that crap I'd have a myspace? In conclusion, overall, it's a good idea. If I were part of the facebook development team, I'd have some sort of quality control though. Implementing QC on a social networking website would probably lead to either a rebelion or something though. Code-Jocks! They'll beat you up and steal your C++ textbooks and API reference cards.
Take myspace - everybody has heard of it and it is generally a big heap of shit (code-wise). The CSS is easy to override, which means surfing from page to page A) takes hours since clueless people stick 2Mb animated GIF backgrounds in their pages. B) burns your retinas since clueless people stick 2Mb animated GIF backgrounds in their pages. Meh, you see where I'm going with this. It's terrible, and has grown so large I doubt the developers can do a thing about it. And why would they? It's hugely popular despite it's shortcomings. I prefered facebook for several reasons. It has set styles to each page: each profile is similar to the last, just the content changes. I like the fact that you're drilling into a specific format; it's both easy on the eyes and easy to find what you're looking for. The AJAX is over the top and crazy, and it works. That's great. I also love the fact it (previously) was 'invite-only' as far as you needed a college e-mail address to have an account. That really helped 'cement' the network part of the social network.
Now they've introduced applications, it's going down hill (in my opinion). I've had a look at developing one and it seems pretty easy, i've thrown up a couple of forms and written some FML. They've been clever with the CSS (It's parsed and sanitized so you can'd do anything crazy like on myspace) and the 'Platform' as they call it, is genuinely well thought out and well documented. But my 'latest' feed is flooded with literally tens of 'so and so has done this, and wants you to use this application' posts. If I wanted all that crap I'd have a myspace? In conclusion, overall, it's a good idea. If I were part of the facebook development team, I'd have some sort of quality control though. Implementing QC on a social networking website would probably lead to either a rebelion or something though. Code-Jocks! They'll beat you up and steal your C++ textbooks and API reference cards.

