Holy cow, 2 years. What luck.
She's in the background.... lurking, always lurking.
World of V Development Blog
Sunday, October 18, 2009
Sunday, January 25, 2009
Long story short
The local site-packages directory is /usr/local/lib/python2.6/site-packages until further notice.
Porto-Sucko
Thanks for fucking shit up, port! It seems that my lxml port install also installed a shit load of other crap, including Python2.6. Oh, and it set my default python to Python2.6. Oh, and it didn't include my old site-packages directory into Python 2.6. Oh, and it doesn't use the standard Mac site-packages of /Library/Python/vers/site-packages, so now I need to copy everything over and change the PYTHONPATH to include this, too. Oh, and I have to hope that 2.6 actually fucking works this time.
And on top of that I don't even need lxml because it is a bitch to install on webfaction (see here).
I'm going to use the built-in ElementTree instead. I think it's slower, but it works for now. I hope.
And on top of that I don't even need lxml because it is a bitch to install on webfaction (see here).
I'm going to use the built-in ElementTree instead. I think it's slower, but it works for now. I hope.
Saturday, January 24, 2009
XML + XSLT = XHAPPINESS
I'm looking at changing the templating and display to an XML + XSLT = XHTML system. I think this would make display programming (which I loath) much easier and more flexible for me. The idea is that the views would produce an XML representation of the data that I was sending to the context of django's template, then use XSLT to transform this into the XHTML that gets sent to jquery.
To do this, I need the help of some libraries. Everyone seems to be in agreement that lxml is the best Python xml library, and I will admit it looks pretty easy. Of course, Django has an xml serialization, but that seems to be more for full model objects, which I may or may not need.
However, to get lxml on my mac, I need the newest libxml2 and libxslt. These are C-libraries. Mac ships with them, but they are outdated, which poses a problem because you can't easily install without creating conflicts. As per this blog's suggestion, I tried installing using MacPorts.
Which means I need to install MacPorts. MacPorts is a package installer for the mac. I installed it and had to copy over what was in ~/.profile to ~/.bash_profile since the bash one takes precedence in Terminal. With that done I used MacPorts to install libxslt and lxml. I did this with:
sudo port install libxml2
sudo port install lxslt
sudo port install py25-lxml
I don't know why I've never used a package installer before. I think I tried fink once back when I didn't know what I was doing and screwed stuff up and never went back. It was a long time ago, too. When everyone on a Mac was used to this whole 'NIX thing.
In other news, I probably will miss the Jan.30th deadline. I can't help it if my social life suddenly improves.
To do this, I need the help of some libraries. Everyone seems to be in agreement that lxml is the best Python xml library, and I will admit it looks pretty easy. Of course, Django has an xml serialization, but that seems to be more for full model objects, which I may or may not need.
However, to get lxml on my mac, I need the newest libxml2 and libxslt. These are C-libraries. Mac ships with them, but they are outdated, which poses a problem because you can't easily install without creating conflicts. As per this blog's suggestion, I tried installing using MacPorts.
Which means I need to install MacPorts. MacPorts is a package installer for the mac. I installed it and had to copy over what was in ~/.profile to ~/.bash_profile since the bash one takes precedence in Terminal. With that done I used MacPorts to install libxslt and lxml. I did this with:
sudo port install libxml2
sudo port install lxslt
sudo port install py25-lxml
I don't know why I've never used a package installer before. I think I tried fink once back when I didn't know what I was doing and screwed stuff up and never went back. It was a long time ago, too. When everyone on a Mac was used to this whole 'NIX thing.
In other news, I probably will miss the Jan.30th deadline. I can't help it if my social life suddenly improves.
Tuesday, December 16, 2008
It has presence
Today marks the first time in history that World of V is available to the public.
Last night I signed up for hosting on WebFaction, and today I loaded up the code and got it working. Normally, such a step would require a few blog posts about the steps I had to take to get everything up and running, but with webfaction I don't need to!
Everything works exactly the same, although I cutely disabled registration for new accounts. The nice thing is that I can now get a feel for the lag while moving and interacting with the site. I do need to put something in to discourage people from clicking and not waiting for the lag, since it is AJAX, you don't notice that things are going on behind the scenes.
So that's very cool.
I still have some work to do with abilities, security, interface, and clean-up, but it's a damn good start. At least I know it will actually work.
And so the countdown begins: 45 days until alpha-launch.
Last night I signed up for hosting on WebFaction, and today I loaded up the code and got it working. Normally, such a step would require a few blog posts about the steps I had to take to get everything up and running, but with webfaction I don't need to!
Everything works exactly the same, although I cutely disabled registration for new accounts. The nice thing is that I can now get a feel for the lag while moving and interacting with the site. I do need to put something in to discourage people from clicking and not waiting for the lag, since it is AJAX, you don't notice that things are going on behind the scenes.
So that's very cool.
I still have some work to do with abilities, security, interface, and clean-up, but it's a damn good start. At least I know it will actually work.
And so the countdown begins: 45 days until alpha-launch.
Tuesday, December 9, 2008
Being Productive

I have been very productive lately.
Here are the things I have accomplished:
- I worked on the interface a little. I don't know if it is the final interface I will go with, but it doesn't look to bad. You can see a screen shot on the right. I used some jquery rounded corners and CSS fun to change the color based on the map type. I still need to play with the other interface elements such as the mappable's info, the character info, messages, and abilities, but it's a start.
- As the screen shot may show, you can also view the mappable items that are not in your current map cell. This had always been planned (how else could you hunt down monsters?) but never implemented. I improved the way that the map cells are created and streamlined the retrieval of the mappables in the surrounding and current map cell. For now, equipment and items not in the current map cell still won't show. I think that's pretty cool.
- Abilities totally work. Not only do they work, but they can send back forms or something else to get more information from the player and they return a json object that indicates what interface items should be reloaded. For example, if you choose an ability that only changes the messages and the character info, you won't reload the map or the mappable info. This should save network and time.
- Did I mention Abilities totally work? They also are implemented differently. Now, if I want to make an Ability, I just create a class in the abilities module that extends Ability and implement a perform method. The method may return different results depending on what data was passed. For example, for messages, if no message data was passed, then it returns a form asking for the message to send, then a message will be passed and so the message gets sent to the other player.
- What else? The JavaScript has been cleaned up as well as the map loading. Map cells are now loaded individually, and the client-side tracks what mappable we are currently showing the info for.
Okay, maybe there are other advancements, but that's all I can think of for now. I'm hoping to keep the Jan.30th deadline for total deployment of Stoneage.
Did I mention that I know exactly how the story is going to be and the quest system? I don't think so.
Tuesday, November 11, 2008
Anniversary
Well, I missed the 1 year anniversary of this blog, but that doesn't matter since when it started I was still in WebObjects land.
You know what would be cool? If I released StoneAge on January 30th, 1 year exactly from the date that I started working on the Django implementation.
Whoops, I just screwed up! I accidentally gave myself a deadline!
You know what would be cool? If I released StoneAge on January 30th, 1 year exactly from the date that I started working on the Django implementation.
Whoops, I just screwed up! I accidentally gave myself a deadline!
Subscribe to:
Posts (Atom)