Shining Online

October 9th, 2013 02:05 Development Diary

Project Update – October 8th, 2013

I’m afraid it’s another boring update. The last few weeks have brought some good progress, and it’s starting to feel like the seed of a game is in there somewhere. There’s still a very long way to go, but each week brings a little more functionality. Recent changes to the engine include:

  • A new camera system for the town — Previously it automatically centered on the player’s character, but if you’ve played Shining Force II you’ll know the camera has an almost elastic quality to it. It took a while to get everything working the way I wanted it to, but it’s pretty faithful to Shining Force II.
  • An NPC — They don’t move (yet), but I plan to add path-based movement so the game can finally have people walking around.
  • Something interactive — The first level now contains a treasure chest that can be inspected. Nothing happens in the game, but internally it recognizes the action and can keep track of if it’s been opened. It’s all data-driven, too, so nearly all the behaviour comes from the scripting system. There’s a lot more to add to this part of the engine, but the basics are there and seem to work quite well.

That’s it for now. I promise the next update will have something to look at!

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.