Weekly Recap #8

Another week already!?! Since quitting my job I have completely lost track of time. Everyday is the same – work on Crea. Well, that is not completely true…

bigsushi_logo

Last week Kelley and I got to met up with the wonderful guys at bigsushi.fm. We did an interview with them that will be going up on their podcast in the future (around Crea’s Greenlight launch). If you have not listened to them before then you should! Lately they have been hitting up dozens of indie game devs and getting a unique perspective on the life of being an indie. Some of my favorites consist of them talking to Handy Man Studios – Jake (Edge of Space) and Robot Loves Kitty (Legend of Dungeon) but they’re all good! (HINT: You should listen to them)

While there we joined them for a game night which consisted of eating delicious pizza and playing Ouya games. Good times were had. Kelley kicked some butt on Towerfall but unfortunately that is not featured in the videos that you can find by going to this bigsushi post. If you enjoy that then you should subscribe to bigsushi’s twitch and join future game nights. I know I will be!

Progress on Crea has been good. I have been continuing to focus on engine work (mod support). My goal is to try to get the engine to a stable place. For a long time now I’ve been trying to balance between doing engine work, features and content. This is extremely tricky since anytime an engine change is made there is the potential for anything break. Additionally, engine changes often result in needing new worlds and/or characters which I know we all don’t enjoy. And on top of all of that, engine interface changes will break mods. In other words, stable engine equals good.

Engine changes is like removing a card from the bottom of a tower of cards

Engine changes are like removing a card from bottom of a tower of cards

The majority of the week was spent doing a MASSIVE refactoring of the engine to support realms. Previously there was an assumption made that there was one virtual physical space. Wrong! If a torch is placed at position (50, 50) then a light source would be emitted at that position. With the world realm (the main world area) and another realm, lets say a dungeon, there are suddenly two positions known as (50, 50) but we only want to display the light source in the realm the torch is in and not the other one. If not handled correctly a light source could appear in both.

Invisible Torch

Where is that light coming from? Bug Reporting Time!

This is no good. Also this is not only the case for light sources but for all spatial systems such as physics, dropped items, monster AI, and so on. You don’t want an invisible oil slime from another realm attacking you, do you? …I didn’t think so.

When I had finished adding realm support in I took a diff between where I started and where I finished. It was an astounding 25,000 lines long! To reiterate, this is a MASSIVE change. To give some perspective, the entire engine is only about 40k lines of code. In other words, I touched and changed about half of the entire code base that I’ve been working on for a year in a week span. Best of all, it works!

This next week should be the last week of engine work. Afterwards the plan is to fix bugs and finally get combat and monsters to a good place so we can add some more monsters we planned.

6 thoughts on “Weekly Recap #8

Leave a Reply