A lot of stuff got worked on over the past week. I put up daily images with small updates in them but I'll try and compile it all here and talk a little more about some of the mechanics.
Day 9 - I was trying to determine how I would get all the sprites done for the game when I decided to try making the Captain in voxels. It was pretty neat, but not really a viable choice at this point. Voxel models would allow for dynamic lighting and rotation, but the turnaround time on making them is pretty big.
Day 10 - I want to have a dynamic day/night system in the game as well as lights like lanterns and such, so I really needed a way to light sprites dynamically. Voxels would have been able to do that, but for the reasons mentioned before I needed to find a new solution. I ended up spending the day working out a process for making sprite normal maps. With these I can still dynamically light things and have the light affect things properly.
Day 11 - Day 11 I don't have an image up because it was more of a brainstorming and code refactoring day.
Day 12 - This is when the results of Day 11 start to become visible. The parallax system I was working on was finished for the background layers. I created a way to give the illusion of the ocean's surface. This build had a problem though where the surface seemed to rise and fall.
Day 13 - Fixed the wonky surface water and also reworked my buoyancy code to match the new ocean setup.
Day 14 - Did some behind the scenes work again so I put up a gif of the cannon in the new system.
Day 15 - Today, the day of this posting. I had been making an optional firing mechanic that the player can choose to use. Normally the weapons fire towards your cursor with the ballistics determined by a set angle and the distance from the weapon to the cursor, but I wanted to make a more involved option as well. Now you can choose to have manual control over your cannon's angle of fire, but the power is fixed. Both methods of firing are viable so the choice is up to how you want to play. You can freely swap between them.
So what will I be doing this coming week? Well, there are a few major mechanics that I still need to implement before I can start releasing public builds of the game. I need to create the AI for enemies so you have something to play with, I need to reimplement underwater movement for the new system, then I also need to allow movement between layers.
Layers are something I think will be a lot of fun. If you've been tracking the game then you might already know that the game was an infinite world on the X plane, allowing you to go left and right for as long as you want, as well as up and down to an extent. The problem with that is generating meaningful content along the way. Land masses have to be generated, content, enemies, etc. All of those are possible and something I could do, but getting a quality result from that method is very time consuming. So that's where the idea of layers came from.
If you've ever played a roguelike then you'll be familiar with the concept. In a roguelike you often travel down floor after floor of dungeons. Those dungeons are going down further and further. If you were to take each floor of that dungeon and rotate them 90° on their side, that'd be like my layers. The terrain and such you see in the background parallax are actually layers you can travel to.
Each layer will have the enemies, npcs, etc generated based on how far along you've traveled. This means the further you go and the more powerful you become, the more the challenge rises to match your new skill level.
In any case, it's something I'm really excited about. I like the idea of being able to see what's happening on the future layers since they're visible in the distance. You might see a pirate galleon patrolling around so restock on ammunition. Maybe you see a town coming up so you start catching some fish and looking for treasure so you can buy new items in town. Layers seem like they open up some neat possibilities.
In any case, I'll quit rambling and get back to work. What do you all think?