August 14th – Steady as she goes!

August 14, 2014 in Dev Blog

Hey guys!

Over the past few days I’ve continued my work on the lunar base mission with a nice steady rate of progress with some feedback from Tiy and George along the way. As I’ve stated previously, I don’t wish to spoil any plot details, but I’m okay with teasing a small piece of the environment. You may also notice a subtle new feature that crept its way into the game. Blocks are now capable of casting light.

Lunar Base Progress

It can be challenging at times; sculpting out a cave environment in such a way that it looks natural while also keeping the player’s ability to traverse it firmly in mind. That said, I think it’s coming along nicely.

On a side note, yesterday’s upload of the nightly build failed, so if you’re interested in trying out Kyren’s new projectile code, the update only went live a couple of hours ago. Personally, I’ve already noticed a huge improvement!

Area-of-effect projectiles like grenades are hitting and damaging multiple enemies far more reliably. The issue of projectiles outright disappearing when shot point blank into an enemy’s face is gone. If you have a bunch of monsters clustered together and you land a melee attack it now damages all of them as it should, rather than just a fraction. The PvE combat is feeling really good right now. Nice work, Kyren!

Anyway, that’s it from me. Stay classy and good night!

It’s Aug 13 now

August 13, 2014 in Dev Blog

Projectile disconnect fix is complete and pushed to master.  It’s less of a fix and more of a.. near total rework.

I promised I would go into more detail but.. it’s late so here’s the very VERY quick version:

Projectiles are now proper synced entities with entity update deltas and everything, and damage is sometimes applied where an entity is not necessarily the master entity.  Our old concept of a disconnected entity is gone, and there has been a lot of simplification with other damage and status related parts of the code.  Self damage no longer routes through the damage manager, and instead entities can produce arbitrary damage notifications themselves.  Damage requests and now also a new thing called *hit requests* can travel over the network before being applied, and there is no longer a need for direct status effect requests over the network.  Total change in lines of code: -120

PvP needs lots more work still, but PvE locally and over network should be MILES better.

Aug 12, yep definitely 12

August 13, 2014 in Dev Blog

Sorry, I was supposed to do the daily update yesterday and I missed it :(

I’ve been working on a ton of things lately, instancing and unique world support, world <-> world warping, new world generation types and general world generation fixes, material light sources.

But right now I’m fixing a loooong standing series of bugs in starbound regarding projectile disconnects between the client and server.  I’m basically done, and with any luck you will see it in tonight’s update.

If I finish and merge today, I’ll do another post later today that goes into how the fix actually works.

August 11 – Documentation again

August 11, 2014 in Dev Blog

Remember the late time I mentioned documentation I said I’d eventually make it automated?

I did that today. It’s now tied to the steam upload so it should update every time Steam does (ie, nightly).

You can find the documentation here:

You can navigate around by classes or by namespace, but the front page is mostly blank (because it’s the default doxygen setup).

The bits that you lua modders are most interested in are located here: under the namespaces section (for instance: )

Hope this helps!

Also did a few things with the Sky today. I’m currently separating the Sky from the Celestial Coordinate system so that we can give fully featured Skies to Outputs and Instances and the like. Nothing too exciting though.

August 8th – Mission to the Moon!

August 9, 2014 in Dev Blog

The last couple of days have been really exciting. As our work on progression continues, we’ve been putting some serious focus into our missions; what they will be, and how they’ll tie into the grand scheme. Those of you who follow the daily updates will likely recall the moon mine George showed a mockup of a little while ago. Well, now you know what it was for!

We sat down and mapped out the overarching goal, structure, events, and enemies for the player’s first mission. Unlike the dungeons where I would generally build a single carefully detailed room at a time, we intend the development of this mission to be a highly iterative process, with feedback and ideas from other members of the team.

For now I’ve got the entire layout boxed out with a loose scale reference, but next week I’m going to really go to town shaping it into an actual environment. Detailed decoration will come later after we’ve got something solid we can actually play through.

I’m honestly really excited. Being able to work on a carefully constructed experience from start to finish will be a refreshing change of pace from having to build dungeons that are inherently dynamic in nature, as I am not bound to the limitations that randomly generated layouts bring with them. In the interest of keeping specific elements a mystery, I won’t be sharing any media of it today, but I’m sure you guys can understand.

In any case, that’s it from me. Take care and good night!

7th of August, 2014: Blog of Dev

August 7, 2014 in Dev Blog

Today one of the many things we worked on was improving the visual distinction between the various ores and bars. This will continue to change over the Beta and this is not final.

Click to enlarge!


August 6th – Progression Progress

August 6, 2014 in Dev Blog

Everyone’s been working on the various elements for the gate and outpost stuff, and today we’ve started putting them all together!

August 5th – Mission Prototyping

August 6, 2014 in Dev Blog

Evening guys! I’ve been up to something a bit different today.

With the recent addition of the floating dungeons and player spawns, I spent my day building a rough prototype for what our missions could be like. The objective was for me to create a level for players to move through from start to finish, with environmental hazards and enemies to fight. The main objective of this test was to assess how long I would need to produce a mission, so we can gauge precisely how many polished missions we could create in time for 1.0, and to highlight any issues we may run into.

When I say the prototype is rough, I mean super rough. I didn’t spend any time dressing it up visually, since it’s just for testing and it only involved me using randomized monsters for now, which means no configuration of behaviours or dialogue as there would be when using humanoid NPCs. I ended up using the glitch dungeon files as the base for the mission.

For my test playthroughs, I would attempt to get through it repeatedly with a tier 1 broadsword, shortsword and shield, 10 bandages, and my starting clothes. It would typically take me anywhere between 10-15 minutes to get through in one go (without dying).

The difficulty of the mission varied greatly since the monsters are randomized on each instance, but when approaching the actual missions we’ll have a good idea of what the players will have by that point and be able to scale the difficulty accordingly, not to mention we’ll be using specific enemy types with known behaviours, making it easier to craft challenges with a bit more thought. I imagine it’ll be a tricky balancing act when we factor in whether you have other players with you too, but that’s just one the many challenges of game design!

This test mission also highlighted what the current benefits and limitations of using wiring within the missions are. Because I am able to plan around a linear approach, I have the ability to set up traps and obstacles that may change as you progress. In the case of the glitch, they have a number of switch objects and even hidden door objects that can also double as platforms when used in an open space, so I was able to create timed alternating platform jump puzzles, passages that only open when all switches in a room are activated and the like.

All in all it’s been a valuable experience that will prove most useful once I start working on the missions proper.

Apologies for the lack of screenshots by the way, I’m writing this from home.

August 4th – Liquidity

August 4, 2014 in Dev Blog

Howdy! My main project for the past couple of days has been prototyping a tool for sucking up liquids into the player’s inventory. Aside from the obvious utility of being able to move them around, we plan to make them used as fuels and in crafting recipes, so finding biomes with certain kinds of liquids (such as oil) will become important. Here’s how it looks so far:

Since this is the first real scripted item we’ve built, it’s involved a lot of testing and adding functionality to the Lua item API, so that’s been a nice side benefit. I’m definitely looking forward to making some more interesting scripted items and tools in the future, as well as seeing what modders make with it!

August 1st – Quick Progress Report

August 1, 2014 in Dev Blog

Evening folks! Looks like I’m doing another daily update, but since it’s my second in a row, I’ll be keeping it fairly brief. :P

For my part, I did what I set out to do and finished setting up the moon mine dungeon file and key, so I’m good to start building at any time. That said, I opted to spend some time fixing an issue that’s been bugging me for quite a while with all the chests. Up until this point they opened up in a painfully slow fashion and as a side effect were not appropriately playing their closing sounds if players closed them relatively quickly.

As for the others, here’s what I know:
- Supernorn has continued working dilligently on the Novakid ships.
- Metadept has been working on implementing a new item type. Not quite ready to talk about this one yet. ;)
- George has been producing new assets for the gateway to appear in the nav UI, along with some other elements relating to Metadept’s work.
- Kyren has been doing some cool stuff with instancing, specifically concerning how they can be located and reached in the world. I’m afraid I don’t fully understand the specifics, not being a programmer, but she should hopefully be able to make an post about it sometime next week.

Afraid I’m not really clued in on everyone else’s activities, but exciting things are happening. I’m looking forward to starting work on the dungeon next week.

Until next time guys!