Shining Online

June 14th, 2013 00:24 Development Diary

Update – June 14th, 2013

A nice short worklog entry today. Here’s a picture from the latest build.

Nothing exciting from a graphical point of view. It’s exciting for me though, because this is the first time everything has been loaded from disk and not hard-coded. All the graphics come from the resource manager and everything is rendered using the new (stupidly overcomplicated) render pipeline. The entities (Cody and the chest) are built from templates loaded off disk, which is defined in the story file.

It’s the small victories that matter :)

April 30th, 2013 13:40 Development Diary

Update – April 29th, 2013

So it’s been a little while since the last Shining Online development diary. As usual, there’s been no activity for a long time, but recently things have picked up so it seemed like a good idea to make an update whilst I’m in the mood.

Engine-wise things are shaping up nicely. As I’ve mentioned in the Shining Online update thread, the engine data is extremely flexible right now. Weapons, armour and items are all loaded from template files rather than being hard-coded. Since then, things have been updated so all resources (graphics, sounds, maps etc) are all loaded from resource files as well.

This has added some overhead (and probably explains why things have been so slow), but it’s made modifying the game much easier. Adding a new weapon is now a matter of updating the weapons file and adding a sprite resource. All of this fits in nicely with the new kernel-based game loop, so resources and content can be loaded during gameplay, either when a file changes or manually through the debug console.

Along with the new resource and content setup, there’s also a new render pipeline and entity management system.

The rendering system isn’t particularly complex, but it handles stuff like rendering tilemaps and sprite animations. And yes, animations are handled by the resource system so they can be tweaked in realtime :)

The entity system is a topic for another day. Right now it’s still a little early, so the details haven’t been nailed down, but there’s already support for player movement as well as NPC’s. The NPC’s don’t do anything yet, but with a bit of luck they’ll be walking around soon.

The game isn’t the only thing that’s been receiving attention lately – the website will be getting an overhaul as well. The design probably won’t change (I still suck at that), but the backend is being re-written to handle the online features and tie everything together.

Until next time!

February 20th, 2012 22:15 Development Diary

Back in the Saddle

It’s been a while since the last dev diary, and it’s a bit of a mixed bag. Lots of things have changed, but there’s not really much to show. At the moment I’m writing a pretty hefty set of articles on the technical side of the game. There’s a lot of notes to go through so I’m not really sure when it will be ready, but it seemed like a waste to do so much work behind the scenes without sharing it.

The biggest change was the switch to a kernel based engine. It’s added a bit of overhead, and it’s probably over-engineering things, but it makes adding new functionality to the main loop a lot easier. Services can be added and removed dynamically, and can either be called every loop (like the screen renderer) or just sit in the background (like the resource database).

Once example of how useful this can be is with the debug listener. A DebugListener service object can be created and added, and it watches for changes to certain directories. Once a change is detected, it send an event so the resource manager can reload things. Because it’s added dynamically, it can be left out of non-debug releases, or even added via the debug console during runtime.

April 14th, 2010 16:27 Development Diary

Update – April 14th, 2010

Just a quick update today. Things are progressing well, and it’s starting to look more like a game now than just a lot of parts stuck together. There’s still a lot more to do, but it’s getting there.

Anyway, here’s a quick screen of how it looks so far:

Shining Online - Walkabout

So far there’s a scrolling map with front and back layers, transparency and full collision detection. Nothing too amazing, but it works, and that’s the main thing at the moment.

The next step is getting some proper animation going, and then maybe some menus and things to investigate.

January 29th, 2010 17:15 Development Diary

Project Update – January 29th, 2010

Let’s get straight to the fun stuff, shall we?

Picture Time!

Below is a very early screen grab of the latest tileset. It’s nothing particularly fancy, but hopefully fits with the Shining Force 2 style.

There are still a lot more transition tiles to do, as well as animating the water and adding little touches to make it more interesting, but it’s getting there.

Overworld Tiles

There are two other maps in the works, but this one is the most colourful and complete at the moment.

Boring Developer Stuff

Yeah, now it’s time for more boring screenshots, but this time of some development tools and engine features.

Directory Listener

First up we have a really simple directory listener. It runs in the background and watches a directory for changes. When there’s a change, it broadcasts it to any listening client. Why is this useful?

With a little bit of tweaking, the engine can listen for these messages and then reload resources that have changed on the fly. This makes it much easier to see how tilesets, maps and animations look without having to restart the game.

Console Test

Next, we have the built in console. If you’ve played Doom, Quake or similar, you’ll know what this is for. Again, it’s about making it easier to see changes without having to restart or recompile.

So far the console is only really useful for listening for debug messages, but in the future there will be commands for checking what objects are currently active, what’s in the database and more.

As with most things, there’s some effort up front, but in the long run it should pay off.