Posts Tagged ‘star trek’

Star Wars The Old Republic

Friday, December 23rd, 2011

I’ve been playing World of Warcraft on an off for over 5 years, before that I played Anarchy Online and Eve Online for a couple of years.

After that I got a lifetime subscription for Star Trek Online, which kinda turned me off MMO’s altogether :)

I’ve been playing a couple of the SWTOR beta weekends and got early access 6 days before release, and I’ve made it to level 30 so far (think there are around 10-20 lvl 50′s on my server (Scepter of Ragnos)).

And so far I must say… SWTOR is fucking awesome!


Riding a shuttle between two areas of the map

If you just gave me the game and let me play the first 10 levels (Starting planet), I would be 99% sure the game was made by Bioware. Unlike for example WOW where you just accept quest, go kill/collect and return, the quests in SWTOR are really amazing. The quest chains make up wonderful stories in classic Bioware style (Baldurs Gate, Neverwinter Nights, KOTOR, Dragon Age), and you can very often choose different ways to do the quest. The NPC voice acting also adds to your total immersion in the stories.

The class quest, which is a long quest line that follows your character between level 1 and 50, is absolutely brilliant, I’m playing as a Bounty Hunter and the story is comparable to a really good single player RPG. Also the companion system is great, and you get a really close connection to your characters, much more so than in KOTOR / Mass Effect.

 Me and my kickass companion Mako

So far I can only judge the lvl 1-30 part of the bounty hunter class quest, but I’ve heard the other classes (which have totally different class quests) are equally good. So I’ll probably be making alts just to play the story lines.

The instances I’ve been in so far are all good, like the quests you can also affect how the instance unfolds by choosing dark side / light side.

I’m playing as a Bounty Hunter Bodyguard (healer), and the healing mechanic is really good, each time you use a healing ability you gain heat and you need to keep your heat level low and not overheat to be able to heal. This means you can heal forever if you manage your heat properly, but dealing with big damage spikes is a bit hectic (but very doable).

The graphics are really nice, although some people complain it’s too cartoony (mostly WOW fanboys it seems, which is ironic beyond belief). I’m glad the graphics is not realistic (skyrim, age of conan), I don’t think that would be a good look for this game.


I'm trying to be a ruthless bounty hunter, but Mako with her big puppy eyes makes it hard at times

So far I haven’t experienced a single disconnect (saw 2 lag spikes during 1 beta weekend, that lasted about 5 seconds), so for me the launch has been close to perfect. I came across 1 bug in a class quest, but the forum had a workaround.

I’m really looking forward to seeing what the end game is like.

To sum it all up in one sentence, “I’ve played many MMO’s, but I would say this is the first MMORPG I’ve played”

Update 2012-04-23:

The sentence above is deliciously ironic, since Bioware has totally screwed up the game (90 servers on EU side, 5-10 would be enough), and now it’s actually a RPG without the MMO part on the server where I have my main =)

Fedcon 2011 – Day 3

Wednesday, June 8th, 2011

Saturday 30.04.2011

The “main” day of the convention, but did not do anything worth mentioning until the Guinnes world record in number of people in star trek uniforms from Las Vegas was broken. Previous record was 550 people, new one is almost 700.
Star trek uniforms fedcon 2011

 

After that I went to the Nicole de Boer panel, followed by the Seaon Maher panel, both which where fun. At 16:00 I missed the Paul McGillion & Kate Hewlett panel, to get my picture taken with Scott Bakula, and at 17:30 I took a picture with Marina Sirtis.

Sean maher

And like ALL the times when I got my picture taken, the weirdo German photographer kept yelling out ZZ Top :)
At 17:30 There was a dinner at the Maritim with Gameforge (the developers of Startrek Infinite space), which incidentally was the first time on the convetion where I ate something that resembeled normal food. This was very fun as I got ot talk to some of the developers and the guys at Gameforge, but unfortunately this meant I missed the photoshoot with Sean Maher :(
But did get to take lots of pictures of people in costumes, I’ll upload many more of them to picasa when I get them organized

 

The dinner finished at 20:00, just in time for the Nicole de Boer photoshoot, which was 20 minutes delayed. After that I hit the bar, drank some Jägermeister and got back to catch the end of the Scott Bakula Panel.. At the very end he promoted Garrett Wang to Lt. :D

Got to talk to lots of nice people today, and had lots of fun =)

I think this guy might have been selling droids with bad motivators:

Jawa

Fedcon 2011 – Day 1

Wednesday, June 8th, 2011

Thursday 28.04.2011

First day of the convention, up “early” for a shower and breakfast. Got to the convention hotel around 11. but kept walking between several places to get those sponsor tickets I won from GameForge (the  makers of Star Trek Infinite Space).

Gameforge infinite space

Having used 1 hour to finally get my badge (and being sent back and forth between about 10 of the Fedcon crew), I went to the Infinite Space booth, and got to test a development build of the game. I liked the game, the graphics is very nice, the controls were OK but some features were obviously missing. The mission you played in that particular development build was a bit disappointing story wise, and seemed a bit rushed (but what can you expect from a developer build?), but it showed off a bit of the mission system, and it seems pretty good. All in all, I think it may turn out very good, and I’m looking forward to follow the game progress to alpha/beta testing.

I kept walking around the convetion area, looking at booths, etc.. And then this Indiana Jones hat literally begged me to buy it (and by literally I mean figuretively), and by begged I mean “it was there” and by buy I mean “to exchange a common currency for goods or services”.
I met a few people from Fedcon 2 years ago, which was nice, and some people from the German star trek forum said hi (or guten tag) :) Also I ran into Zach from Hailing Frequency and Trek Radio at the infinite space booth, which was fun.

I waited over an hour to get my photo taken with RDA (and if you don’t know who RDA is, you should really be ashamed of yourself).

Garret Wang did a really good job of being MC, and was alot of fun at his own panel and the Opening Ceremony.

Garret Wang and Wil Wheaton

At 21:00 it was time for the Wil Wheaton Panel, and at the time of writing I’m 90% sure it was the highlight of the entire Fedcon Trip. Wil Wheaton is just amazing (not just because he’s a fellow geek, gamer, skeptic, sci-fi fan, etc..) He’s always funny, intelligent and entertaining. A few quotes: “I’m a skeptic” (for posterity), and in regard to the recent Sony fuck up: “Sony put’s DRM on EVERYTHING, but store your personal information in a text file.. Genius!” :) Also he talked alot about his roles on TNG and the Big Bang theory (Eureka was never mentioned, but he did mention The Guild in passing a few times :) )

After that I was pretty tired, so I opted out of whatever happens at the maritim after closing, and took a cab back to my hotel.

Toodledo API (simple java version)

Sunday, June 5th, 2011

Wanted to get a list of all the bugs for my Star Trek game, that I have registered at Toodledo and have them listed on the Trekwar wiki.

Toodledo offers a nicely done API, but there was no java implementation, there were a couple of unofficial ones, but I decided to write my own very simple basic program for connecting to Toodledo and getting all the tasks as XML, and parsing them into a simple Java object. So if you’re doing something similar, this program might be a nice place to start. To keep it as short as possible, comments and exception handling is pretty much not there :)

download the file: Toodledo2html.java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
 
class Task {
    String id;
    String title;
    String modified;
    String completed;
 
    String folder;
    String context;
    String tag;
    String status;
    String priority;
    String length;
    String note;
}
 
public class Toodledoo2html {
    // TODO you must get the 4 values below from Toodledo
    private static String appID = "x";
    private static String userID = "x";
    private static String userPW = "x";
    private static String applicationToken = "x";
 
    private static String fields = "folder,context,tag,status,priority,length,note"; // get these fields when downloading tasks
 
    private static String sessionToken;
    private static String key;
 
    private static String toodledoTokenURL = "https://api.toodledo.com/2/account/token.php";
    private static String toodledoGetTaskURL = "https://api.toodledo.com/2/tasks/get.php";
 
    public static void main(String[] args) {
        sessionToken = getSessionToken(md5(userID+applicationToken));
        key = md5(md5(userPW)+applicationToken+sessionToken);
        ArrayList<Task> tasks = getTasks();
        // do whatever to tasks
    }
 
    private static ArrayList<Task> getTasks() {
        try {
            String data = "?key=" + key + ";fields=" + fields + ";f=xml";
 
            System.out.println("Getting tasks: " + toodledoGetTaskURL + data);
 
            URL url = new URL(toodledoGetTaskURL + data);
            URLConnection connection = url.openConnection();
            connection.setDoOutput(true);
 
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder xml = new StringBuilder();
            String line = in.readLine();
            while( line != null) {
                System.out.println(line);
                xml.append(line);
                line = in.readLine();
            }
            in.close();
 
            ArrayList<Task> tasks = xmlToTasks(xml.toString());
 
            for(Task t : tasks) {
                System.out.println(t.id + " " + t.title);
            }
            return tasks;
 
        } catch (MalformedURLException ex) {
            System.out.println(ex);
        } catch (IOException ioe) {
            System.out.println(ioe);
        }
        return null;
    }
 
    private static ArrayList<Task> xmlToTasks(String xml) {
        ArrayList<Task> taskList = new ArrayList<Task>();
 
        try {
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(new InputSource(new StringReader(xml)));
 
            Element root = doc.getDocumentElement();
 
            NodeList tasks = root.getElementsByTagName("task");
            for (int i = 0; i < tasks.getLength(); i++) {
                Element task = (Element) tasks.item(i);
 
                Task t = new Task();
                t.id = getDomTextValue(task, "id");
                t.title = getDomTextValue(task, "title");
                t.modified = getDomTextValue(task, "modified");
                t.completed = getDomTextValue(task, "completed");
 
                t.folder = getDomTextValue(task, "folder");
                t.context = getDomTextValue(task, "context");
                t.tag = getDomTextValue(task, "tag");
                t.status = getDomTextValue(task, "status");
                t.priority = getDomTextValue(task, "priority");
                t.length = getDomTextValue(task, "length");
                t.note = getDomTextValue(task, "note");
                taskList.add(t);
            }
 
        } catch (ParserConfigurationException ex) {
            Logger.getLogger(Toodledoo2html.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SAXException se) {
 
        }
        catch(IOException ioe) {
 
        }
 
        System.out.println("xmlToTasks got " + taskList.size() + " tasks");
        return taskList;
    }
 
    private static String getSessionToken(String signature) {
        try {
            String data = "?userid=" + userID + ";appid=" + appID + ";sig=" + signature + ";f=xml";
 
            System.out.println("Getting session token: " + toodledoTokenURL+data);
 
            URL url = new URL(toodledoTokenURL + data);
            URLConnection connection = url.openConnection();
            connection.setDoOutput(true);
 
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String xml = in.readLine();
            in.close();
            String token = xml.substring(xml.indexOf("<token>")+7, xml.indexOf("</token>"));
            return token;
        } catch (MalformedURLException ex) {
            System.out.println(ex);
        }
        catch(IOException ioe) {
            System.out.println(ioe);
        }
        return "";
    }
 
    private static String md5(String input) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(input.getBytes());
 
            byte byteData[] = md.digest();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < byteData.length; i++) {
                sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException nse) {
            System.err.println("ERROR. MD5 ALGORITHM NOT FOUND");
            return "";
        }
    }
 
    public static String getDomTextValue(Element element, String tag) {
        if (element != null) {
            NodeList nl = element.getElementsByTagName(tag);
            if (nl != null && nl.getLength() > 0) {
                Element el = (Element) nl.item(0);
                if(el != null && el.getFirstChild() != null) {
                    return el.getFirstChild().getNodeValue();
                }
            }
        }
        return "";
    }
}

Note: This program was made to run once per hour.. running this program many times in a row will cause Toodledo to ban you for about 1 hour. When that happens there will be a IndexOutOfBoundsException -7 from the method that gets the session token. This can be fixed by saving the token you get between requests, and not asking for a new one each time (which is what causes the short ban).

Meerkat projection

Wednesday, December 29th, 2010

To my great dismay searching for “Meerkat projection” always ends in disappointment:

I’ve always thought of meerkats whenever Mercator projection came up, so I just had to do this to get it out of my head:

PS: This computer does not have photoshop, and my GIMP skills sucks, so only the northern pole is EMBIGGIFIED (yes, it’s a word).

PPS: That image reminds me of the Star Trek TOS pilot, “The Cage”.. BOW BEFORE YOUR MEERKAT OVERLORDS!

Trekwar Fog Of War

Sunday, October 3rd, 2010

It’s been too long since I got any programming done on my Star Trek game Trekwar, but today I managed to implement animation support on the main map, as well as get the sensor system and fog of war working (still needs a bit of tweaking):

I’ve gotten a new job, and been working on another paying project as well (Comicon does not pay for itself you know). But this other project is almost done, and then I should be able to get back to doing regular Trekwar updates.

I’ve also switched over to Toodledo for maintaining the list of features to be implemented, so hopefully you can see the issues under “0.4.0 (Alpha)” shrinking over the next few months :)

Google analytics (Big tits!)

Monday, June 7th, 2010

I love google analytics*, it’s great and awesome in all sorts of ways that I won’t go into right now, instead allow me to present some funny search queries that have all somehow led people to this blog.

*For those of you who didn’t know, Google Analytics is a way to know how many people visit your website, what they search for, or where they come from, etc…

variations of “stargate universe sucks” - 1100 hits
variations of “new star trek movie sucks” – 1800 hits

So far so good, at least there are a few people out there with good taste, but it is when you get down to the more unique searches, those with only a few hits that you find the weird stuff.. Apparently even tough Stargate Universe sucks, somebody on the show has huge (or big) tits :D

Stargate universe big tits - 13
stargate universe girl with big tits - 6
“stargate universe” “big tits” - 2
big tits on sgu - 2
big tits stargate universe -3
girl with big tits on stargate universe - 1
actress with the huge tits on stargate universe - 1
who is the girl with the big tits on stargate universe? - 1
biggest tits on stargate universe - 1
chick with huge tits on stargate universe - 1
sgu stargate universe big tits - 1
star gate universe big tits - 1
stargate universe huge tits - 1
sgu kills off big tits?- 1
stargate universe chick with huge tits- 1
stargate universe chick with big tits- 5

I can only assume they are looking for pictures of  Julia Benson:

Hmmm. I just realized that due to it’s questionable content, this post will undoubtedly attract more hits from people with nothing better to do than googling for Julia Bensons boobs..
So I might just as well throw in another picture, I’d hate for people to leave here empty handed.

Some other weird searches with only 1 hit

why do the shields on the enterprise suck?
– I have no idea, the real question is why would somebody write that phrase in a search engine?
mexican knick knacks
– I bet this guy was especially disappointed with my blog :(
why are everyone in stargate universe morons?
- I… Don’t… Know…
all video editing software sucks and makes no sense at all
- You should stick to pictures, they are simpler to wrap your head around
best brand donkey balls chocolates
- I’m afraid to even comment on this one :(
fedcon convention swine flu
- Hah! I see I was not the only one worried about swine flu duing fedcon 2009. Not so much worried about catching it, as guests not showing up
feed trondheim
- I’m definitely going to be keeping an eye out for starving children
jello shot launcher
- Let me know if you find one!
ms paint police
- These guys should have a SWAT unit!

Trekwar cargo system

Sunday, March 7th, 2010

Today I mostly finished the Trekwar Cargo system, so now it’s possible to collect resources and bring them back to your starsystems.

Also included 4 images from the design and implementation of the UI:

Read full devblog post at trekwar.org

Trekwar sensor system

Thursday, February 18th, 2010

I haven’t had much time working on Trekwar lately, but I’ve recently made a prototype of the sensor system:

I’ll have to add this, as well as fog of war when I’m done with the fleet management tools which are almost ready.

> Read the whole devblog post @ trekwar.org