Below is the Traveller WebLog, from a development project that has been on hold for some time now, the goal of which was to create a space-based MMORPG for Sonys console, the PSP.
03-02-2007, 18:55 PM
I’ve been working on the physics engine as well as a funky background effect. Depending on the speed you are moving the star field is displayed masked over a star scape to give the illusion of movement. The entity engine is implemented and working allowing for easy access to the list of players (adding/removing entities, modifying properties etc). Next is the particle engine; again this is going to allow to not just include 2D attributes to the particles but also 3D. I’m hoping to be able to add a few funky effects such as bounce etc, we’ll have to see about that though.
Here’s a chart showing entity numbers vs FPS. Of course this is just from a test version which I’ve temporarily paired the physics and render functions, due to a strange problem with entities skipping a few pixels every few seconds when moving at high speeds, so when I fix that the FPS should jump quite a bit. As you can see at the moment 250 entities render nicely at 30fps, and I can’t imagine there being more than that many players on in the same vicinity during the first testing stages, not to mention optimizations I’m going to be making.
I’ll try and get a demo copy of this OpenGL version up for you guys to check out. It’s not much at the moment, but it’s certainly easier coding this in OpenGL than in straight graphics libraries. The star-field effect especially was really easy to implement
Enjoy!
I have remade the resource holders allowing for dynamic loading of textures and masks into an easily accessible class. Entities(when they are re-coded) to have the associated texture holders, all modular and tidy…well, as tidy as my style allows
The particle engine should be alot more impressive in this new version, as I can use the transformations to recreate not only spread, gravity etc as in the old version but also spin/rotation along with using blending for transparent textures/explosions/etc.
02-23-2007, 09:37 AM
Well, it’s been quite a while since I’ve updated you guys on Traveller due to real life(yes, REAL LIFE!?!) stuff, i.e. new job! Traveller is still in the works, but has been neglected quite a bit in the past months. A couple of days ago I picked up my old OpenGL code and started playing and have now got the basis of a 2D engine running in a 3D environment. This not only allows me to use funky lighting/masking effects in Traveller but lets me take advantage of matrix transformations for rotation, scaling, etc.
Once I have got a new physics/particle/res engine setup I will post a new tech demo to show the improvment over the releatively simple system that the old Traveller engine ran on
04-22-2006, 06:34 PM
Here’s a look at the linking of origin/destination of particle streams with entity entries. You can check out the demo eboot aswell if you want. The speed will drop due to there being many particles alive, but in the actual game there should never be anywhere near as many particles being managed as are currently in this tech demo.
As you can see from the screenshot below, particles that have linked origin AND destination pointers will use those two locations and calculate the heading and lifetime required to get to that point at a random speed between a min/max range.

04-21-2006, 03:04 PM
I’ve recorded a short video on my phone demonstrating all the functions added so far. It’s pretty low quality, but you can pretty much get the gist of it.
Features displayed:
2D movement using physics engine
Entity generation/management
-check out when I hit the X button at 20s, it spawns an entity with a random heading/speed/direction/texture
Particle engine
-all options are changeable, including a reference to the tileset a particle should use, the minimum/maximum speed, heading/heading spread, minimum/maximum life and total amount of particles generated
-origin/dest markers from an entity list and using headings derived from those entities points(as displayed between the two craft that are spawned upon load. they have a particle beam connecting them
Tileset/animation system
-check out the planet, you can see it is spinning. it’s a bit slow at the moment due to only using a test animation set, which only has 12 frames. the rate of animation can be changed in the preferences of the object holder
Directional markers
-if you can make out the blue lines coming from the players ship in the center of the screen, they are directional markers. they point to a certain x/y coordinate relative to your own. they will be used to display player made bookmarks, mission bookmarks, and should make creating a tutorial introducing you to the game a whole lot easier to do.
That’s it, I’m going to get to work on the interfaces now, and after that the event handler ready for the network layer to be added.

04-20-2006, 00:57 AM
The particle engine has been improved, implementing a much more efficient method of particle generation. Multiple sprites for a single particle stream are possible(or will be, once I finish it tomorrow) using the tile set system, allowing for more impressive particle effects such as fire, or debri. Another addition that I have planned is the ability to link the X/Y targets/origins of particle streams to objects entities, ready for the addition of weapons fire.

04-17-2006, 01:22 PM
I’ve been working on the particle engine, and have got a little test working that attaches a particle stream to the players ship. These streams can be attached to any entity/object, and each stream has customisable spread/color/lifespan. Currently it’s only working with pixels, but adding a sprite layer ontop of that will be very easy.

Edit: I’ve added a sprite overlay for the particle system, here is a screenshot of an alien invader eating my ion trail!
04-16-2006, 11:42 PM
The tileset system is done and dusted, and so I thought a universe with one ship would get a little dull. Here is a concept for a mid-size cruiser, from some wacked-out backwater alien world!

And a screenshot of this new visitor to the Sol system.

04-16-2006, 05:16 PM
Progress on integrating the tile engine into both animated objects and rotating objects is going very well, and both have now been implemented. Image sets are now loaded into memory upon startup, and entities will retrieve their required image pointer upon creation, or when the image needs changing(upon rotation for example). Here is a recent screenshot with the old backdrop restored, and a new smoother earth animation added.

04-15-2006, 02:19 AM
After a relaxing night in playing guitar all evening, I sat down and took another look at my old tile code. It was totally inadequate and so I built up a dynamic tile system, that loads tilesets from an animation directory into structures upon loading of the client. These are then accessible through an array that holds tile IDs, and pointers to the respective tileset, which makes using them for animation AND tile rotation very easy! I’ve not sorted any kind of software rotation yet, so I’m resorting to separate tiles for separate rotations, it’s messy but effective.
Next stop, background star tracers(ala-starfield) in the form of a basic partical engine that will not only be able to be used for the starfield, but in particals for weapon/object effects.
03-29-2006, 03:43 PM
Well, after a loong break I’ve started work on Traveller again. I’ve built up a basic physics engine client side which will handle movement etc, and have started the base of a particle engine aswell(for weapon effects etc). The background will use tiles generated in Photoshop using some of the Flaming Pear plugins to create a nice starscape for each system. Movement is now fluid, instead of a static tile by tile system, which is one goal I wanted to achieve. Just a notice to say that Traveller isn’t dead, just in flux.
The one ship in the center is the players ship, the other three are entities that are added upon startup, each with their own velocity/heading. This system of entities will provide the placeholders for other players/NPCs/objects in space. I’ve taken a leaf out of the recent Elder Scrolls: Oblivion for navigation, giving the player heading markers to points of interest, more of which will become available as the player explores the surrounding area. These pointers will serve for the mission waypoints aswell.
01-03-2006, 05:56 PM
Just a ‘for the hell of it’ post. Here is a screen shot showing 1. a RAW connection to the server, showing what the client sees, 2. the server console(debug disabled, so it will not output every action to the console. I’ll be making a sexy admin interface for that), and 3. a screenshot of the resulting render. Client movement/display is complete, and I am now working on the first step of features, the ability to find, and mine minerals from an asteroid which will include inventory, basic equipment, and dynamic generation of asteroid belts. I think it will take a while.
12-27-2005, 05:35 PM
First of all, merry xmas to everyone! Did anyone else get snow today, as we had a few inches overnight.
Traveller is coming along nicely, and I’ve sorted display of other clients(completely), although actions are still TODO. I’ve also whipped up a quick scrolling notice box, for messages from the server or other players to be displayed(will take input via F.O.S.K once I get it integrated).
Another little addition, which is totally cosmetic is a little loading screen, with the Traveller logo on. Certainly looks alot better than printf eh.
Expect more and more to be added over the next few days, and over the new year. I’m having great fun coding this.
Startup screen:
Ingame display of using the scrollbox to display a ‘MOTD’ from the server:
12-24-2005, 04:31 PM
I had a quick look at it last night, but was too tired to get much joy from it. I’ll take another peek later today.
Here is the latest screenshot, I’ve dumped the old interface leaving the entire PSP screen available for gaming. I have completed the display of other players on the server, bar an initial object set upon connection, and appear messages for when the client moves(at the moment other players are only displayed when THEY move). Both of these are minor changes, and so soon I should be able to start work on actual gameplay.
12-21-2005, 11:15 PM
Movement/rendering code has been cleaned up, and the display of other clients on the server should be done by the end of tonight. Here is a current screenshot, I dumped the hex tile as rendering tiles on an offset was just getting annoying.
Note: the client that was uploaded yesterday will NOT work with the current server, so sorry about that. Once the netcode has come along a bit more, I’ll release another test.
12-21-2005, 03:39 PM
Just a quick heads up, movement in the universe is now sorted, and I also have a slot in the code reserved for object generation, which I will get around to doing later. The idea behind the generation will be similar to drop tables in MMORPGs, as in every time new space is explored, the server will loop through the new hex tiles, and perform counts on objects in the universe(for planets/suns) or in the local vicinity(asteroid belts, NPC spawns, etc) and spawn at the correct rate, based on the physical width of the area in effect(i.e. so many hex tiles for a solar systems influence, new planet generation etc).
Most of the past couple of days has been spent tweaking and cleaning up the client/server code, aswell as upping the framerate of the client considerably. I will not be posting any dev copys every step of the way, but when I feel I’ve reached a substantial milestone, test copies will be released(after EriCKy tests them, of course
).
The fix with the framerate was also directly linked to the slow response time of the PSPs control pad(had a receive timeout on the socket I was using), so the exit callback will work fine now(L shoulder button).
12-17-2005, 06:22 PM
Here is a nicer screenshot, not much of a visible change at the moment but behind the scenes alot has been revamped, and completely changed. This starting area is loaded from a mapset sent to it from a server.
I think the backdrop I made gives it a bit more sense of area
note: this looks a HELL of alot better on the screen of a PSP. This screenshot does not do it justice. I’ll package up a simple demo eboot later, so you can see for yourselves.
edit: upped the brightness a little on the image, it resembles what it looks like on the PSP alot more now.
As you can see, the console on the right is still not in use, but I will be adding several meters there, clock, WiFi status, etc. It will also be used for ingame commands, such as interactions with surrounding objects/tiles. Chat will be displayed over the main interface, using a scrolling text function I’ve made.
12-17-2005, 05:10 PM
Online play, if it can be called that at this stage is working. An initial map is stored on a server(or will be, when I code one. I will not be using HTTP as I had planed, but will still use SQL) which is where every player will start. From there coords are stored using simple x/y coords in an integer variable, so we will have a possible world size of 16 million tiles, 4millionx4million in dimensions.
As I have stated before, all unknown space will be generated on the fly, hopefully making use of things like solar systems being generated around a sun dynamically as the first players venture out beyond this backwards little world
There won’t be a test version for a while, maybe a week or so depending on how much time I spend on coding, and when the test is here it will most likely have very few features, bar exploration. I will be keeping count of the distance travelled by players on the server, so we might have a little chart going on
12-15-2005, 12:16 PM
Just added movement around the environment, and the basis of updating the map array with tiles from a server.
12-15-2005, 01:49 AM
I’ve started work on yet another RPG game, but this one will be set in space. The game will be turn based, allowing you to gain ‘turns’ over time, much like some of those webgames that were flooding the net a few years ago. It’s still in the very early stages, but I’ve got the hex display sorted, and I plan to have it work with WLAN via HTTP, to make management of the server easier.
One aim for this is to have an ever expanding universe, that will be dynamically generated as people explore unknown space. Objects in space will consist of things like asteroid fields, planetary/orbital bases and stations, NPC spawns, etc. As I will be working via HTTP for getting/sending information, making an online atlas for the universe, or player stats will be very easy thanks to working with SQL.
The current approach I’ve taken has a 2 hex border, that is not visible to the user, which is used to buffer images before they are brought up for rendering, which should hopefully speed it up a bit.
Here is a screenshot of the hex system, be gentle.










hi there, I have been looking at this weblog for some time (lol finally i can comment) and well has traveller changed since the last post? Also, will there be a beta release soon (if you need testers, im volenteering!)? Because it looks really good, please keep up the good work!
Hi mark, thanks for taking the time to comment!
Traveller has unfortunately not been worked on in some time, probably just about a Month after the last update to this Blog. In that month, I wrote my own take on the OpenGL examples for the PSP, improving on my original functions such as the Physics and Particle engines, as well as a bit of work on the data-holders such as Image, and Audio.
Due to real life, being busy with work amongst other things I have not had the time or determination to continue working on this project, but it is certainly not one that I will be dropping. When I first started on the PSP dev scene, it was my dream to complete Traveller, and that is certainly not something I have lost.
I’ve been working on a little side project of mine relating the my Portable Meditation Engine, which I hope to have an example of work up soon. That project however is not for the PSP, but works with Binaural Beats. More on that in another post though I think!
Until Traveller has reached a stage where I think another demo or beta would be worth releasing, I’ll post it up on both here, and the original thread at QJ.net. Hopefully you will see some more progress in the coming months, I certainly hate to disappoint!
I’ll certainly let you know when anything materializes. Thanks for reading
Hi, looks good. Keep up the good work.