January 20th, 2014 01:26 Development Diary

Project Update – January 19th, 2014

Shining Online - Demo 5_003

Nothing too exciting in this update, as most of the work lately has been on getting the scripting system working in a nicer fashion.

  • Treasure chest now stores its state in the game session, which can then be checked during trigger evaluation. In other words, it knows if it has been opened
  • NPC’s can respond to events and display messages (as seen in the screenshot)
  • Cleaned up the rendering system so screens don’t have to access the render service directly. Each screen has its own render group which it can add items to, and these are automatically added and removed from the global queue

Like I said, nothing too exciting, but progress is progress.

December 27th, 2013 18:51 Development Diary

Project Update – December 27th, 2013

The holiday break is always productive for me, and this year was no exception:

  • Added a new trigger-based event system to the overworld
  • Added basic actions for playing sounds, animations and displaying messages
  • Added basic session service, so that entities can store some state information between play sessions
  • Updated the treasure chest script – it now plays sound and animates as it opens
  • Lots of little bits of internal code re-shuffling to try and make things easier to manage

So far I’m quite pleased with how things are going. The whole kernel-based system has really helped, and coupled with the entity system approach I’m finding it easier to add the basic game functionality. It’s still tricky to add some of the more complex stuff, such as shops and cut-scenes, but overall it’s starting to look a little more like a game each time I work on it.

 

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!