Archive

Archive for the ‘Infiniverse News Feed’ Category

Attack on Website

Source: Infiniverse News Feed

There was an attack on the website just before Easter. An iframe containing a website categorized as malicious was injected to the template and although it was quickly purged, google was faster and a warning was up for a couple of days. I found a possible source for the breach and did some security improvements, but due to testing being hard with google flashing the red screen all the time, a bug managed to stay up for the weekend and the main page was inaccessible.

Anyway, I am sorry for the mess and try my best to keep it from happening again.

Repository renovating

February 11th, 2010 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Today I've done some quite heavy modifications to the repository structure. In addition to generally moving stuff around, I moved the client's networking files under the server's version control. This involved a lot of git filter-branching: As I wanted to preserve the history of the files, I merged everything to the server and then filtered out everything unwanted. Finally, the client code needed to be filtered free of the networking stuff that now lie within the server VCS.

Why did I do this? As I have mentioned before, I want to release the LEE source, but not the server or networking (at least not soon). Now that the networking stuff is out of the tree, I don't have to keep a separate LEE-branch in sync with the master code. Also, after I publish the LEE code, I don't need to worry about accidentally committing or merging netcode to the LEE branch. On the downside, there are now some commits whose messages are confusing due to parts of (original) them missing.

I also coded a little: now LEE is present in the multi-player version and can be launched by giving the client a command line switch (stand-alone LEE can still be built).

All this gives me good basis for further development. Some things in the source are still embarrassingly ugly and the documentation isn't quite ready yet, so I don't publish the source now. We'll see if I'll do that next or if I take on the networking code.

Some website thingies

February 11th, 2010 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Google Analytics is neat - among other things I can see what sites bring me traffic (a mention in the Something Awful forums is the current number one referer, with over 200 visitors - thanks Prospector-thread smile ). Anyway, I noticed that everyone links to the old primary address, phatcode, and not to the new cool www.infiniverse-game.com, so I made the old address to forward to the new one in hopes of everyone noticing it (it's shorter!).

The LEE Alpha1 has been downloaded 75 times, which I think is a nice count considering I have done very little advertising.

Also, feel free to use the new Donate-button in the sidebar tongue

Lone Explorer Edition Alpha1 Released

February 8th, 2010 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Finally it has arrived!

Go grab it while it's hot.

Feel free to give feedback on the forums and by adding comments to this post.

PS. For those who are interested in how I fixed the Windows crash, it was by increasing the program's stack size. Apparently Linux manages this automatically.

Windows problems

January 21st, 2010 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Ok, I have been very lazy and the release I promised is very much late. The thing has pretty much just been lying around, waiting for me to decide if it is in a releasable state. So I decided it is and packaged it and everything, but when I booted to Windows to do some testing, it crashed.

At first I thought it was the fault of my cross-compilation (I used Wine to produce Windows exes and they worked fine in Linux), but the problem stayed after I compiled it natively. I traced the segfault to a function call (a couple of different functions both produced the same error just before entering them), but it doesn't make sense to me.

I hate to debug stuff when I have no idea what's wrong and especially since I'm forced to debug in Windows (I use primarily Ubuntu).

In conclusion, no release until I fix the Windows version.

Announcing Lone Explorer Edition

December 28th, 2009 Infiniverse News Feed No comments

Source: Infiniverse News Feed

So, as I hinted earlier, I'm forking a single-player version of the main Infiniverse code. This version is called the Lone Explorer Edition (LEE) and has the following features:
  • Single player

  • No network connection required

  • More limited

  • Pretty much only exploring and sight-seeing is allowed

The reason for this version is that I can more easily release its source code as there will be no networking stuff and thus the source is harder to use for cheating in multiplayer game. Also, I'm able to release a version of LEE sooner, as a kind of preview to the "real thing" (which is currently a bit broken). Final reason is that there are some people who don't care about multiplayer and just want to check out the universe.

As for the schedule, I've already branched LEE in the repo (and cleaned the networking) and it compiles and is mostly ready to release. I have also written some documentation for the source code and added most dependencies to the tree (as there are only few of them, I'm going to include them all so that it is as easy as possible to compile from source).

What remains to be done is some repository re-arraingement and changing the thing to use the included dependencies. I also noticed some bad performance, so I might take a quick look at that before releasing.

All in all, expect a single player peek at Infiniverse (in binary form) in a week or two and a source release (of that limited version) soon after.

Christmas closing in… What will New Year bring?

December 20th, 2009 Infiniverse News Feed No comments

Source: Infiniverse News Feed

It has nearly two months since last update. sad I have been busy with other stuff, but I think I can get back to this after the holidays (or maybe even sooner).

The first thing to do is to examine the state of code and re-familiarize myself with it (two months make you forget things, but they'll come back quickly...). My roadmap is to finish all on-going critical changes and then clean up the code, so that I can release a single-player preview, which will be open source (more information follows later). After that, I'll complete the broken networking stuff so that I can release an alpha of the MMO part (which will be far from complete, but I hope somewhat functional). The plan after that is to keep a rolling release, meaning the game updates itself automatically as soon as code new stuff.

I'll also look into making the whole thing (including networking, not just core engine) open source.

PS. Added two screenshots.

No News

October 28th, 2009 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Things have pretty much remained stationary since the last post. The compiler still doesn't work (or assembler, whatever) as discussed in the previous post, and I've been hacking some small new features into Performous.

Technically I could compile freebasic code using my server. It's a bit inconvenient, but only a bit. I'm also at a stage, where I don't need to run the program very often, so that helps too. However, I do have a C++ school project starting, which probably eats some coding passion...

A Few Outside Obstacles

October 20th, 2009 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Development has been non-existent during the last few days, mainly because of three reasons:

  1. My laptop's screen stopped suddenly working. Fortunately after finding the right tools and a long disassembly involving about a hundred screws, I got it back to working. The sources weren't in danger as I could have probably gotten them out of the computer (which was working fine otherwise) and I had fairly recent backups.

  2. After a recent update in Ubuntu 9.10 beta, the FreeBASIC compiler gives segfaulting exes, which seems to be the fault of gcc's assembler. The matter is still unresolved.

  3. I bought Rock Band instruments and have had tons of fun playing with them in Performous. :P

Massive changes in networking

October 15th, 2009 Infiniverse News Feed No comments

Source: Infiniverse News Feed

Today I branched both the client and the server and started to make some fundamental changes to the communication between them. Although my previous protocol improvements at least halved the bandwidth requirements, I can now see that I can do much better. For example, the coordinates of other players are currently sent as two integers, whereas on the new branch they are only two byte deltas to the client players position. I also decided to limit the maximum number of connected players to around 250 (like I'll ever get even 20 simultaneous players), which allows me to use a single byte id with each player. These things bring a position update packet size down dramatically. Also, by using single bytes wherever possible, I can get the data from a stream/string easily with the pointer index operator [], without the need to perform memcpy's.

In addition, the server itself sees some drastic architectural changes and the communication style is switched from an event based to take place at more regular intervals. Furthermore, I plan to finally make the switch from TCP to UDP, which might bring some further speed to the communication.

These things are a lot of work (and packing/unpacking bytes for transmission isn't very pleasant), but I find them essential. I'll keep you posted on the progress.