Monday, May 26, 2008

Starbuzz Reviews

Starbuzz Hookah Tobacco

Guava - Smells like dirt or a garden, or dirt from a garden.

Orange - Quite mediocre, though inoffensive.

Vanilla - Entirely too mild by itself, may mix well.

Strawberry - Would consider trying again

Exotic Apple - A nice double apple with hints of anise

Blue Mist/Blueberry - Excellent, smooth, and tasty.

Saturday, February 16, 2008

GPS, finally

For whatever reason, using GPS is a pain. The real breakthrough was in having the app catch exceptions and then trow them away and try again. I blame the poor implementation of serial port over bluetooth as well as the inexcusable lack of a working Bluetooth intermediate driver for smartphones. There are only a few things you cannot do without a stylus, and there is no need to require those sorts of things to change system settings.

Anyway, here's a small app that gives you lat/lon when you run it and hit the right soft key. status is a label covering the whole screen.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace GPSmkII
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

public bool Parse(string sentence)
{
switch(sentence.Split(',')[0]) {
case "$GPRMC":
return parseLocation(sentence);
default:
return false;
}
}

public bool parseLocation(string sentence)
{
string[] words = sentence.Split(',');
if ((words[3] != "" && words[4] != "") && (words[5] != "" && words[6] != ""))
{
double lat = Convert.ToDouble(words[3].Substring(0, 2));
lat += Convert.ToDouble(words[3].Substring(2)) / 60.0;
double lon = Convert.ToDouble(words[5].Substring(0, 3));
lon += Convert.ToDouble(words[5].Substring(3)) / 60.0;
status.Text += "Lat: " + lat + '\n';
status.Text += "Lon: " + lon + '\n';
return true;
}
return false;
}



private void menuItem2_Click(object sender, EventArgs e)
{

while (true)
{
try
{
SerialPort sp1 = new SerialPort("COM8");
sp1.Open();
sp1.ReadTimeout = 2000;
while (!Parse(sp1.ReadLine()))
{ }
return;
}
catch (Exception ex)
{
status.Text += ex.Message + '\n';
}
}
}

private void menuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}

}
}

Tuesday, February 12, 2008

A Better Wurm

Wurm is like the bastard child of WoW and Second Life. While it has built-in fighting, NPCs, mobs, and a well developed crafting system, it lacks all the user-friendliness that makes me crave WoW to this day. While Wurm is largely open-ended and based on user generated content, it is as ugly as SL.

The interfaces changes are pretty obvious.

Map/Compass - I'd like a mini-map, or even a mega-map. A map of any sort would be quite helpful. Mapping could even be a skill, and perhaps map objects could be exchanged like map knowledge. Civilization did it. Besides, if I can "hear" people from a kilometer away in local chat, I should have an idea of what direction and how far they are from me.

While it was thrilling to be lost and then find myself again, it was frustrating for a quite a while, and also required the use of a map from outside the game.

Inventory - I'd like a picture of my body in the inventory window, or maybe as a separate window. It can be a pain to equip weapons and shields if you have a lot of items. Speaking of a lot of items, how about the inventory grouping them into categories. For example, many people have separate backpacks just for seeds, fruits, and spices.

Also, between your toolbelt/quickbar not saving between computers or sessions, and the fact that you have to double click every tool you want to use, crafting is a pain. Personally, I'd like to never have to activate the tool I want to use. If I click a tree, 'chop down' ought always be an option, as long as I have an appropriate tool somewhere in my inventory. The game should even pick the best tool for the job, and say as much - "chop down with hatchet." If I hold the button down, it should then provide a radial menu when I can pick other tools, just in case I and grinding sword skill or my hatchet it about to disintegrate.

- Radial menus and reorganized menus. Maybe it's me, maybe it's Java, but I find the interface unattractive, and awkward. Half the time when I click something, all I get is nothing. Additionally, when crafting, all items of a type should be listed together - all the blades, all the carpentry, fine carpentry, pottery, etc.

New player/community stuff:

As was discussed around Bearcatraz last night, the game needs a much better tutorial. It really needs a separate tutorial island or instance or whatever, much like Second Life. New characters are not even spawned near the tutorial NPCs currently. As it stands, one has to walk for quite a ways to find a tree to cut down for the tutorial. Foraging is also time consuming because any given tile can only be foraged once every 24h, and there's no visual way to see if you can forage there or not. I don't think it's unreasonable to actually show what berry/seed could be found on the tile, but that's a minor detail. Newbies need a tutorial area with respawning trees/foraging items, combat training, cooking, digging, and everything-else practice.

The community is pretty lame too. The only reason I'm playing is because I wanted to be a part of the goon settlement. It wasn't until I had 24 hours of in game time before I made it to their island. A couple of those hours were spent wandering the wilderness. Once you know your way from New Town to anywhere else, it's not such a difficult journey, but then again, why are you going back to NT? Settlements aught to be able to advertise and offer teleports to new players.

My crazy ideas:

Player created religions - Just like you can create settlements with their own rules, I'd love to see custom religions. For instance, how about a group that refuses to use technology or kill animals or some such. Following Gaiman's America Gods deities could have power only where their followers lived/gathered. I like the idea of Ganesh existing in India, Yahweh in Israel, and Ra in Egypt. Since the current system is based around tradeoffs, so too could the new system.

Technology - While I enjoy crafting, it is interesting that I have a basic understanding of how everything in the whole world works, but that I create crummy items often and unusable junk the rest of the time. Instead of training, apprenticing, or going to school, I know how to do everything, but simply require practice to become a master. I'm not offended or bothered by this, and it may be rather accurate, I'm just pointing out how it is different from many other games.

What I'm trying to get to is that I'd like to see someone invent gunpowder and then cannon and all the rest. I'd like to see human technological development played out over and over again. I'd like to see whole worlds that never know the power of steam. I'd love to see a pre-technological village deep in the jungle, or a group that sought Enlightenment through a common digital consciousness. This sort of advanced technology could easily create a disparity of power much like we see in the real world, and it remains to be seen if the game would be fun still. With a number of servers running with slightly different rules and resetting at different times (like Travian) their might always be a place for new people to join.

System requirements - They should be lower, period. I'd love to play this with my 2.4ghz 512mb computer, but I can't. Perhaps a Flash version of the game, since Wurm is essentially 2D. It's like Doom with mines since you can never have one mineshaft go underneath another.


Things to think about:
Wurm is very anti-macro. The creator has taken steps to make sure the game is played how he wants it to be played. If macros were allowed, then the most efficient/profitable way to play would be by using macros. People with macros would use of the resources for everyone else. Since they would produce so much, prices would drop until "ordinary" players wouldn't see any point in selling items. This may be a bad thing. However, I'd love to be able to "chop down tree with hatchet" and then make a sandwich while my guy chopped the tree down. I'd love to be told when my meal was ready. I'd love to see some indication of the temperature of items without have to "examine" each one. Foraging and botanizing is useless around any area that is the least bit populated, and everywhere else is dangerous(and suicide after dark). It took 20 hours, a couple of wikis, and having a friend in-game to make Wurm fun. I could be somewhere between lvl10 and 20 in WoW with that much time. I've yet to kill a single critter in Wurm, but I'll be damned if I wasn't proud when I made my 12ql short sword. I'll let you know what the next 24 hours bring.

Tuesday, February 5, 2008

Useful Linkage

For Paparazzi and anyone using the camera (including QR codes):

http://blogs.msdn.com/marcpe/archive/2006/03/03/542941.aspx

It successfully operates in the background. The next step is to wire it into a communication server so that it will take pictures on demand.

http://www.flash.0tutor.com/archive/128/Actionscript-dynamic-load-image-into-flash.shtml

A tutorial on dynamically loading images into Flash. Flash Lite supports this as of 2.0, and I suspect the functions are all the same.

I dare y'all to beat me to a Flash camera app

Edit: Too late! Sorta. I cut out the uploading portion of the TimedCamera app and set the interval to 1sec. Then I made a Flash file a second long with a couple lines of script

this.createEmptyMovieClip("canvas_mc", 10);
canvas_mc.loadMovie("flowers.jpg");

Wednesday, January 23, 2008

First of many

In class, I started a small Flash chat client and C# chat server.

It serves as a quick intro to Flash textfields, buttons, and XML sockets. It also brings up the issue that sometimes Flash Lite handles UI elements differently from desktop Flash. On the phone and in Device Central, the input text fields only send out "onChanged" events when you hit enter. On the desktop flash player, that same text field "changes" after every character you type.

As an added bonus, it's also an introduction to socket communication and threading in C#. The server runs on either the phone or the computer (M$ can do some things right). The server doesn't really do much when someone leaves the chat, but I "handle" the exception. Also, it will screw up if the incoming message (the whole XML doc) is larger than 256 bytes. Be terse.

Click here for the file.

Tuesday, January 22, 2008

Ghostride the Whip

Old and busted (totaled and not my fault)New hotness