Jump to content

  • Log In with Google      Sign In   
  • Create Account

OddGames development journal

Medieval Times, office, crowdfunding

Posted by , in Medieval Story, Programming 29 November 2013 - - - - - - · 948 views

Yes, it’s time to update the journal! For some time I have been thinking of moving into an office instead of working from home. I’ve had a good working morale when I’ve been working from home... but I think it can get even better. It would also feel more like a real job if I actually left home. So the last few weeks I’ve been in contact with a renter/landlord who rent out individual rooms, sort of like a hotel for businesses. I’ve rent a small office (around 9 m2).

Posted Image

Most of the other rooms on my floor are empty. There are two sales guys, a transportation/travel business and some sort of entrepreneur (don’t know what he does exactly). Everyone seem friendly and helpful so far.

Game progress
My progress on Medieval Times crawls on. Been replacing the textured mapped text in the game with a higher resolution texture. Now texts look more crisp on higher resolutions. Have also been trying to get the demo together, connecting different maps with quests and stuff like that. The demo will be around half an hour to one hour of gameplay, I guess it will depend on the playing style.

I have been pondering to start a crowdfunding campaign for Medieval Times. I live in Sweden so a Kickstarter campaign is not an option since they only allow UK/US projects. My other idea is to look into indiegogo but I have not made much research into it yet. I am a one guy team so I guess I will have a ton of work ahead of me in order for it to be successful.

That's all for now, I need to get back to it. Thanks for reading!

Characters and transparency

Posted by , in Graphics, Medieval Story, Programming 27 March 2013 - - - - - - · 1,022 views

Hello, I like to thank you for still reading this journal despite it being rather sparse and only sporadically updated. Lately I have been focused on character modelling. I have a base model which I derive my characters from, I am not very happy with its animations but they will have to do for the time being. Here are a few of the models I have created:

Posted Image

As you can see there are no female models (yet). I hope to get around to do a base model for women too.

I have also been implementing transparency fading of items and npc when entering different floors of a building. Here is a youtube video showing the fading in action.


Oh, I almost forgot... I've started a twitter account for those who are interested in reading shorter snippets. ;-) @olofsson77

Thanks for reading!


Posted by , in Graphics, Medieval Story 26 February 2013 - - - - - - · 927 views

At last I have gotten my Cintiq display. It works great! Drawing new graphics is a breeze. This should allow me to do some nice portraits for the game NPCs and such. The display takes up a large chunk of my table though.

Game development progress... I’m trying out some new building graphics together with multiple floors. The new house type has walls made out of wood planks. I think it makes the house look a little bit more sophisticated. I find that a mix of the two building types gives a village a bit more of natural feel, I like.

But all is not well; multiple floors have raised an issue with the pathfinder. The pathfinder uses a ray test when finding out where the player wants to go. Right now the ray test only returns the closest point on the nav mesh (to where the player clicked with the mouse). This results that only points on the top floor of the building are returned. This is bad if the player wants to go to a floor in the middle or in the bottom of the building. I need to find a point on the nav mesh which is on the same floor as the player. I am guessing this will require some work and tweaking to get right, stairs for instance… might get a bit tricky.

Some screens showing the new graphics:

Posted Image

Posted Image

Posted Image

Bugs, keys and splashes!

Posted by , in Medieval Story, Programming 31 January 2013 - - - - - - · 868 views

Hello again!

Yet another of those evenings with too little energy to do something productive. Well, in regards to programming that is. However; I can muster enough drive to write a journal entry! These past few days I have been able to get a lot of coding done. This is particularly good in light of my resent troubles with my pen and display/monitor (see previous entry). I have been bug-hunting and also implementing features that have been on my to-do-list for too long.

One of these features has been a key ring/chain. I noticed that I needed something like a key ring for quite some time ago, consider the following scenario:
  • The player picks up a key that can open a locked door which eventually leads to another level.
  • The player opens the door and closes it behind him.
  • The player then walks to the new level. When the new level has been loaded the previous level is visible in the world map as a fast-travel location.
  • The player drops the key and afterwards uses fast-travel to get to the previous map.
  • Arriving at the first map on the “inside”, the player now walks to the door which was previously locked. Now he can’t get back to the key and he can’t open the door.
Situations like this can easily occur if I allow fast-travel and key drop. The easiest solution I could come up with was to implement a key ring which can’t be dropped. The ring holds all keys ever received and as a bonus also saves some inventory space (I allow 16 inventory items and 4 equipped items, 20 items in total). I guess I could do some sort of path tracking to the new fast-travel location and check which doors needed opening… but that seemed like a too complicated system. The key ring can be found inside the inventory along side the other slots:

Posted Image

I have also dabbed with the rendering code. Previously transparent items couldn’t cast or receive any shadows, this is now possible. I haven’t done any benchmarking on this but I hope it hasn’t slowed down the frame time too much. Also water splashes are a little bit prettier (screen shot of this to follow within a day).

Posted Image

Next up is fleshing out the game’s story. Writing better dialogue and decide where the demo should end.

That’s all for now, thanks for reading!!

Are we there yet? Are we there yet? Are we there yet? Are we ther...

Posted by , in Medieval Story 01 December 2012 - - - - - - · 1,307 views

I have been making good progress on the “demo” I’m planning on releasing. The demo won’t be very long or content heavy, just one or two quest and a few NPCs. What I have done is making the things around the gameplay work nice.

Posted ImagePosted ImagePosted Image

The player can change gear. Armor, weapon, helmet and shield. This can sound easy to implement on paper but when figuring out how to have different equipment showing on the player avatar things start to get hairy. Especially when having 2D sprites and not actual 3D models which sorts by them selves. I solved it by rendering the player sprite at runtime when the player changes equipment in the inventory screen. There are a few special cases where the sprite objects had to have some exceptions to the rendering order but most often I could just render the sword at the expected location. For instance if the player is walking to the left the sword would always be rendered behind the player, if walking to the right the sword would always be rendered in front of the player. A special case would be when the player swings the sword in front of him but he is facing left.

This seemed like the most efficient way... however, first I tired to render the player sprite with its different gear directly to the frame buffer. This was not very practical and did not look so good. I want the gear to blend nicely with the base sprite. It looked weird when I faded them in and out of view. The head would for example be partly visible through the helmet if the helmet started to fade out. I want NPCs to fade away to simulate that they are out of sight. Another benefit is that there are less texture bindings per frame when pre-rendering the sprite gear to a single texture. I could go on forever about this topic but I am sure you all would get bored eventually ;)

Posted Image

View world and local map. The world map is a rather straightforward, just one big image showing the game world. I will print out location names as the player discovers them.

The local map is on the other hand a little bit more complicated. The map is viewed top-down like any old map. I generate it after the map data has been loaded into memory. First I loop through the world objects, skipping the objects that I consider “ground objects”. These ground objects have the characteristic of being rather flat; wider and deeper than its height. If the object is not a ground object I render it onto my map texture. I use a simple codex to distinguish different items on the map. If the object is a door I render it red, if the object is a tree top I render it with a round shape and make it green and so on… This makes for a rather simple looking map, but I think it suffices. The player location will be marked with a cross or an arrow of some sort. This has yet to be implemented.

Writing and looking in the journal. Adding entries is accomplished by scripting. Quests, information, thoughts the avatar might have, etc… all are recorded inside the journal. The entries in the journal are stored in chronological order, there won’t be any way to sort or search the entries and there shouldn’t really be a need to either. I don’t want it to be too convoluted. Each journal entry can have an image associated with it. This image can be used to set the mood of an entry or it can contain vital information. How to solve a particular puzzle or some scribble of an important location. I have thought that I might make the images personal to the player and reflect what’s happening in the world, maybe some kind of mental state of the player avatar.

Hmm, well that’s what going on I guess. =) Time to get back to it!

Thanks for reading, take care until next time.

Recent Comments

Latest Visitors