A Post
March 27th, 2010
I get mad when people don’t blog so I’d better set a good example!
I’ll be honest, I haven’t worked on OrtzIRC much. It needs more work that I’d first thought. The source is a mess and needs a lot of refactoring. I haven’t given up though, just taken a break!
In place of OrtzIRC, I’ve been working on the game I may have mentioned in the past. Hopefully the concept doesn’t turn out to be too unrealistic.
I’m planning on a space sim in the vein of Wing Commander, except it will be 2D top-down and not constrained to pre-determined “systems”. Everything will procedurally generated and the player will get around by “jumping” with an FTL drive to a set of coordinates, which may take you to something interesting, or take you to some empty space in the middle of nowhere.
Generating systems (at least visually) will be pretty easy. I think the challenge will be making those systems interesting and worth exploring. Another problem I can see is combat. In a 3D space sim, you fly the ship from a first-person perspective. But when it’s 2D to-down, you can’t do that. And so when you’re flying next to, or attacking, a ship much bigger than yours, you’d have to zoom out to see the other ship, at which point your ship would get very small on the screen and possibly make things difficult for you.
So many things to consider!
In the mean time, here are some screenshots:


The planet is still in the testing phase and is not yet “procedural”. The textures are generated with LibNoise.XNA
Mercurial
October 14th, 2009
Updated 10/31: You don’t need a pass for the repo anymore.
I was on mid-term break the past two days. (Yeah only two. ugh.) I had been looking at Mercurial the past few days so I took the opportunity to switch OrtzIRC over to use Mercurial!
I really like Mercurial. I like how simple it is, even compared to SVN. Whenever I did something with SVN I felt like I was walking through a minefield. And I did manage to get my legs blown off a few times. (I looked at Git but it made me bleed from the ears.)
The switch was ridiculously easy. The only hard part was the fact that the hook for my CIA bot didn’t work, which should’ve been an easy fix, except I don’t know Python that well and Mercurial doesn’t have any docs for writing hooks that I could find. So I spent most of the day yesterday and part of this morning crawling through Mercurial’s changelogs and source.
Anyway, here’s the repo http://hg.ortzirc.com/ortzirc/.
I’m keeping the SVN repo up for now, but I’ll probably delete it pretty soon.
I also switched my issue tracking to FogBugz, which I’m also liking so far. (Free for up to two users) I may post more on that when I’ve used it more.
And as a result of all this, Trac is no longer useful to me. Can’t say I’ll miss it.
Progress
October 6th, 2009
Finally got over a little hump recently with OrtzIRC.
I decided to dump ADO.NET and thus SQLite. I like SQLite, just not ADO.NET.
IRC settings are now stored as object and serialized to XML. Here’s an example.
<?xml version="1.0" encoding="utf-8"?> <EpicServerList> <Network Name="Gamesurge"> <Server Description="Randoms" Url="irc.gamesurge.net" Ports="6667" /> <Server Description="Burstfire" Url="Burstfire.UK.EU.GameSurge.net" Ports="6667" /> </Network> <Network Name="Freenode"> <Server Description="Random" Url="chat.freenode.net" Ports="6667" /> </Network> </EpicServerList>
I’ll probably make a tool that will parse the settings from your current IRC client and build an XML file with this schema. What I’m hoping to eventually have is a Creative Commons directory of IRC networks/servers.
OrtzIRC Update
December 30th, 2008
Time for another update.
Last time I posted about OrtzIRC, I mentioned I was looking at using System.AddIn as the framework for OrtzIRC’s plugins. (I’ll just call it MAF for Managed AddIn Framework, what it used to be called) Well the biggest problem with MAF is that it’s so freaking complicated. After I finally sat down for a while and read up on it, it just seemed to get more and more complex. And even more so when I started asking “well, how would I do this?”. For instance, everything that crosses the isolation boundary needs a contract. Events, collections (you have to use IListContract), everything. So for OrtzIRC this meant every single event (something like two dozen) needed to be redefined as contracts. (Or wrapped, or whatever) Another problem is that nobody uses it. I’ve only found two projects on CodePlex that use it and virtually no blog posts about it. I’ll admit, I never completely understood it all, but I’m pretty sure it would’ve been a LOT of work. Our own way may also be a lot of work, but at least it’s our own way.
Which is what I really wanted to discuss today…
As a quick side note, I did discover the Managed Extensibility Framework, being developed by Microsoft, presumably for future inclusion in the .NET framework. It looks really nice. Much simpler than MAF. And more popular too, at least on Stack Overflow. It’s a really young project though, and although they’re making it rather clear that MEF is here to stay, I think I’ll wait until CTP to give it serious consideration.
So Max and I had a disagreement about how to do the command plugins but that has been resolved (he won lol). So I’ll just point you to his two posts he wrote about it rather than re-explain it.
Onward and upward!
Making HTML Purifier Work With CodeIgniter
December 30th, 2008
There’s a post here about getting it to work, but it’s old. Since then, the include statements for HTML Purifier were moved to their own file. In a normal script you would include the HTMLPurifier.includes.php file, but this isn’t in line with how CodeIgniter loads libraries, so it requires some hacking to get working.
- Download HTML Purifier and put the contents of the library folder into your codeigniter /system/application/libraries folder.
- Open HTMLPurifier.includes.php and change
require 'HTMLPurifier.php';
to
//require 'HTMLPurifier.php'; - Open HTMLPurifier.php and add this just under <?php
require_once('HTMLPurifier.includes.php');
And that’s all! Load with
$this->load->library('HTMLPurifier');
XNA and OOP
October 29th, 2007
I have a simple question about XNA tutorials. Why is everyone sparing newbies OO? Nearly every article and tutorial I see uses very little, if any, Object Orientation. They’re going to have to learn it anyway. In fact, game programming in XNA is a perfect opportunity to learn it.
Yes, they’re new, but you don’t need to dumb things down. XNA has already been simplified. That is, in fact, what XNA is all about. Because XNA has already made it easier, I think we need to concentrate on making the newbies good programmers instead of making it even easier for them to program. I can understand making the most basic “putting a sprite on the screen” tutorials as simple as possible to just get them started, but in order for them to really take off and get to the point where they no longer rely on tutorials, they HAVE to learn OOP.
Articles need to have OOP. This is even more confusing to me. Even the more advanced articles contain little OOP. Is this just how people program? Maybe it’s just me. When I program, I am obsessed with making everything as OO as possible.
Maybe I’m totally wrong. Maybe I’m just looking at the wrong tutorials. If I am, tell me.
8 Defensive Programming Practices – PHP
April 30th, 2007
Manuel Lemos, the guru over at phpclasses.org has written an article on keeping your site from getting haxxored.
This has made me think about my own site, which I coded many months ago. I think I’ll revisit some of the code.
