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!

July 31st update – Programming retrospective

August 1, 2014 in Dev Blog

Hi there peeps.

Looks like no one has put out an update yet today. (Whoops, looks like Armagon put something up as I was typing this.) But I’m kind of mired in the goop of a huge change, so I don’t have much to report today other than mostly just going one by one through compile errors and handling them on a case by case basis. That’s not very entertaining!

So I figured I would take a short break and sort of give a retrospective on just what code has been changed in the background since our last stable update in late April. This is just the major new stuff. Things like bug fixes and minor features aren’t included. I figure it being the end of the month it’s more or less an appropriate time for it. And some of the stuff here, while not new, might not have crossed your awareness yet.

Ready? Go!

- Completely retooled the tile rendering system, platform behavior is now completely configurable and we have something what we call Neighbor Aware Tile Rendering which allows things like pipes automatically morphing based on neighbors. This can all be done in configuration, rather than hard coded like the old platforms. The configuration for platforms can be found in the assets under /tiles/platformtemplate.config and the configuration for pipes can be found in /tiles/pipetemplate.config.
- Changed around how ships work, they can now be upgraded, and everything else that goes with that (SAIL, short cinematics callable from world). Allowed certain features to be disabled, such as beaming down. Fixed the critical item hack and other such “just starting out” issues.
- Updated (and still in process of updating) the World Scan parameters which allowed changes to the UI. Weather is shown. Main and subbiomes are shown. Planet requirements are shown (such as low oxygen). Ability to lock the UI into certain screens based on ship capabilities.
- Completely changed around how the universe works. No more alpha/beta/etc sectors. Sectors are now areas on the map.
- All objects are now Wirable and Scriptable. Rejoice modders.
- Shields work completely differently. Melee weapons work completely differently. New weapon type: the staff. New options for weapons to make the player stand still while firing and all of the other various and related code accoutrements (like animated cursors).
- Items can now be scriptable. All FireableItems (materials, pickaxes and tools, weapons, etc.) are scriptable now. Item code organization overhaul. Internally changed to make things better
- Monster AI overhaul, new behaviors, new attacks, new most everything.
- Completely overhauled the monster spawning system. Can now accept much more data from the biomes and dungeons nearby and spawn much more intelligently.
- Added new Readers/Writers Lock to threading. Speeds up asset loading by a hell of a lot.
- Reworked our Networked Animator class. Gets rid of a bunch of redundant stuff on the lua side.
- Admin commands. Admin server logins. Show logged in clients. More! It’s almost like the server is becoming a “Real Thing.” Added stuff to go along with that, like unicode convertion and other off the wall random things.
- Refactoring a bunch of code in the Gui portion of the game. A lot of it was buggy, unfinished, and incomplete. Not a complete rewrite, but lots of stuff was changed.
- Minor changes to how lua callbacks are generated that allows them to be automatically documented by doxygen.
- Speaking of lua, lots of added functionality there, some covered in other points, some not.
- Quest changes and updates

And more, I’m sure I missed a few things because I just scrolled through a few thousand git commits.

Currently, I’m working on making player, npc and monster stats and statuseffects that operate open them completely configurable and scriptable. To that end today I removed the augment system entirely, so all 7 of those items will cease to function for the short term. I’ll eventually get them working again.

It must be Thursday. I could never get the hang of Thursdays.

July 31st – Crafting Progression & Floating Dungeons

July 31, 2014 in Dev Blog

Hey guys, just wanted to drop you an update on what’s been happening today!

For my part, I wrapped up work on the crafting progression. As we implement the over-arching objectives for the tiers, the current setup will likely undergo minor modifications and additions, but it’s looking super solid right now. We even have a few new crafting objects that George put together.

What's this for?
Another bit of exciting news for the day is that Kyren has implemented floating dungeons. It might not sound like much, but what this means is we can now create dungeons that are situated in outer space without being tied to a specific planet or biome. Right now this functionality is being used for the gateway and outpost, but it could also be used for creating things like derelict vessels, space stations and instanced missions. Exciting possibilities to be sure!

With the crafting, outpost and gateway updates out of the way, I also began setting up the dungeon file and key for the moon mine George showed off the other day. I’m hoping to have it all set up to start building tomorrow, assuming no other high priority tasks come up.

That’s it from me! Take care everyone, and enjoy the rest of your evening!

July 30 – Novakid Spaceship

July 30, 2014 in Dev Blog, News

Hey guys, Supernorn here!

I’ve been busy the last few days working on the Novakid spaceship. The concept art from a while back showed it as a pretty fancy looking space train, and I wanted to follow through with that.

Pretty happy with how its turned out, and hope you like it!


July 29th – Quests!

July 29, 2014 in Dev Blog

I’ve spent the past few days digging into the quest system, fixing a few annoyances and adding some new capabilities that will be used for the progression. The most obvious new feature is the ability for NPCs to offer quests:

This was a bit more involved than I’d hoped since it required making some quest data available to the client which had previously been accessible only on the server, but it should be important groundwork for other future improvements. In addition to quests being offered by NPCs, I also added quest prerequisites, so that we can create quest chains in which quests only become available after the player has completed certain requirements. Next I’ll be cleaning up some of the simple issues with the quest manager, then getting back to work on monsters.

July 28th – Crafting Progression

July 28, 2014 in Dev Blog

Evening folks!

We’ve put together a comprehensive roadmap of what the players will be able to craft and when, how to unlock new recipes, what ingredients will be needed, and so on. The changes are quite fundamental, and as a result it demands a massive number of configuration changes across the board. Thus the task has fallen to me to make them happen.

Probably the most significant departure is how rather than being a strictly linear progression of gear the whole way across ten tiers, the crafting progression will split into three paths: the Separator, Accelerator and Manipulator.

The Separator gear (crafted from Cerulium and Violium) is for melee-oriented characters. The armors in this bracket will enable them to soak up significantly more damage at the expense of energy reserves.

The Accelerator gear (crafted from Aegisalt and Ferozium) is for the marksman players who favour the use of guns, with the armor providing a considerable amount of energy. This gives them a lot of leeway to continually blast away from a distance and use techs more freely.

The Manipulator gear (crafted from Rubium and Impervium) is for those who enjoy playing glass-cannon characters. The Manipulator’s weapon of choice is the scistaff (which you may recall we implemented a little while ago). The staves will be powerful but require a lot of energy to be used reliably. To this end, the Manipulator armors will have deep energy reserves at the expense of defence.

Of course, you’re not strictly locked to one of these paths. You could easily mix and match gear from each one to create the hybrid of your dreams! We want to give players some fun and flexible playstyles.

As always, we’d love to hear what you think!

Good night!

Dev Blog: Moon Mine!

July 25, 2014 in Dev Blog

Here’s an example of a “dungeon” you’ll later find on some moons in Starbound. They may have something you’ll need for a ship upgrade…

Click to make it bigger!

July 24 – Character Deletion is in

July 24, 2014 in Dev Blog

I took a short break from my Stats change to implement something simple as a brain break today.

You can now delete your character from the Gui. The icon is too big, and there’s no warning yet (of course, it’s planned, the assets are already there). It will delete your character and all automatic backup copies too. So please be careful.