October 14th – Interface Foundations

October 14, 2014 in Dev Blog

One of the features that we’ve wanted for a long time is a better way for modders to make their own GUIs (graphical user interfaces). Currently, all of Starbound’s interface windows are configured in JSON, but their appearances are largely static and they can only respond to user input in a few fixed ways. On Friday we had been discussing this in the ##starbound-modding IRC channel, trying to figure out the best way to make objects with dynamic displays and lamenting the fact that there wasn’t any good method currently available. So, over the weekend, Kyren took the initiative and made one, which I finally got a chance to test out this evening!

The system she built allows an object to open a configurable interface window when the player interacts with it. This window can contain all the usual window elements, but can also include a canvas widget which gives a Lua script direct access to primitive drawing operations and user input. These ‘scripted consoles’ can monitor and respond to keyboard and mouse input, and draw their own lines, polygons, images, text, etc. Essentially this allows all kinds of custom interfaces and even simple games to be built as mods and run within Starbound!

One of the most obviously fun uses for this is to make in-game games. Here’s a truly awful implementation of Pong that I threw together as a test:

Unfortunately we don’t have the time to go wild on this just yet, but this is a good first step toward a much better GUI system in the future. Some other examples we came up with include controlling turrets in a base, hacking puzzles for missions, and numerical keypad locks for doors. I hope to have more time to develop these at some point. In the meantime, however, it’s available for modders in the nightly build, and they’re already going crazy with great ideas. For example, Neurisko is starting on a full-fledged programmable computer made from scratch:

…and that’s just the beginning! What kinds of things do YOU want to make?

October 13th – Mysterious Items

October 13, 2014 in Dev Blog

Evening folks!

I’ve carried on as usual with implementing the multitude of new weapons and items, many of which are taking advantage of our status system rework. I thought I’d try something a little different today and see how quickly you guys can identify what one of these weapons is from the sound it makes. I think this one is gonna be quite popular with PvP-oriented players. Click here to hear it!

It’s been a fun implementing these new items, and the list is expanding all the time. There’s even stuff like this!

Big Red Crayon

What would such an item do, I wonder?

October 10th – Integration

October 10, 2014 in Dev Blog

On Wednesday we finally merged the massive status system changes, including the new status effect system, into our main development branch. Those who are following the nightly builds have probably noticed some major differences, lots of improvements, and a few things still missing. The past couple of days have been spent finding and fixing bugs, adding missing Lua bindings, cleaning up old status effects and adding new ones. GeorgeV, Necotho and Armagon continue their development of more biomes and biome items, and we’ve been coming up with lots of good ways to use the new status system and status effects to make biomes and their items feel unique and interesting. Next week we’ll be reworking the food and hunger system in ways that make it less of a chore and more of a bonus. More on that soon; have a great weekend!

October 8th – Who doesn’t like new toys?

October 9, 2014 in Dev Blog

Some of the recent new additions George and I have been making to the game’s loot pool are made because they’re cool. Others are silly and fun. Then there’s stuff like this that straddles the line.

Seems like a surefire way to win a snowball fight!

Sometimes you’ll find items like this in biome-specific chests, but most of the time you’ll only find blueprints, and its up to you to get the necessary materials together. Typically it will require a component you can only get from that biome.

There’s more to come!

October 7th – More Status

October 7, 2014 in Dev Blog

Nothing too exciting to post today. We’re getting very close to merging the new status changes into nightly, so kyren and I have been reimplementing lots of the old effects and responsibilities of the old system, and fixing plenty of bugs along the way. It’s going very quickly, which is a good sign because it means the new status system is very easy to work with. Today we rebuilt healing items, beds, liquid status effects, cleaned up some unused and misconfigured effects on objects, added several new functions and missing functions to the API, and added a much better system for light sources on Networked Animators (the class used to display pretty much everything on entities). I made this ridiculous effect to test it out:

October 6th – Shiny Stuff!

October 7, 2014 in Dev Blog

Apologies for this going up the following morning! The Chucklefish team went out last night to celebrate the arrival of our newest member Rosie (not to be confused with the office pet of the same name) and I forgot to write this when I got home, so that’s on me!

In any case, I’ve been continuing my work with George in setting up a bunch of new weapons and fun loot for the biomes. The status system rework from Kyren and Metadept is almost done, so in the meantime I’ve been working mostly with our existing status effects, in some cases combining them for fun results. It can be a deceptively involved process, particularly if you want to make some nice particle effects to go along with it.

What could this be?

I’m really looking forward to when we can begin implementing some more unusual status effects, like the ones Metadept was prototyping. Then we can really go to town with making fun and, most importantly, unique weapon drops.

October 2nd – Status of the Status Changes

October 2, 2014 in Dev Blog

Since kyren is getting close to completing her massive status system rework, I’ve spent the past couple of days helping her design and test the new Lua APIs, fix bugs, and preparing to integrate the changes back into our main development branch. One of the most apparent changes is that status effects are now driven by Lua scripts and have access to a wide variety of API functions, making them incredibly flexible and fun to work with. Today we’ve just been testing out features and exploring what kinds of crazy stuff we can do. Here’s one example, a sword with high knockback that makes monsters bounce:

Or how about a “nitroglycerine” effect that causes the player to explode when they fall too hard?

Obviously we’re also reimplementing and improving the existing status effects like fire, poison, and slows, but it’s been a lot of fun testing out the new possibilities! I think a lot of these crazy ideas may make it into the final game in some form or other, to give it a bit of a roguelike flavor.

September 30th – Make it work!

September 30, 2014 in Dev Blog

So you may have noticed over the last few days our artists have been slamming out new content, all in the name of fleshing out the biomes and giving players some interesting incentives and rewards for exploring them. Presently, a heavy focus has been placed on each biome having its own unique resources and loot in the form of costumes, tools, and weapons. Its all in the name of variety!

The task of making most of these new items actually function has fallen to me. I’ve been going through all of them, ensuring they behave the way you’d expect, making sure hitboxes on the projectiles are all appropriately sized, that sort of thing. There’s also a bunch of new recipes being thrown into the mix, so a number of items that you previously could only acquire through drops are becoming craftable. If you’re lucky enough to find some of the consumable weapons (throwing daggers and axes, for instance), you’ll be rewarded with blueprints that will enable you craft them anytime you want, so long as you’ve got the resources necessary to do so.

Some of the new weapons the artists have slung my way have been challenging, but fun to make. One of the new weapons George teased in his tar biome post is a spear that lobs balls of tar when you attack. The tar itself doesn’t do much damage, but it can slow down your enemies, making it easier to keep them at bay while ducking in and out for your melee hits. Having spent so much of my time lately working with our weapon and projectile systems, I’ve learnt a great deal, and its always encouraging when you manage to get things working the way you intended.

Taking advantage of the liquid collection that the upgraded matter manipulator brings with it, you can now bottle your own water, among other things. Once a liquid is bottled you can consume it to receive the effects. For example, some liquids have curative powers when ingested. If you fashion yourself a bottle out of glass, you can collect the liquid with your matter manipulator, bottle it at a cooking table, then use it when you find yourself in a pinch.

As an aside, you actually drink your beverages now! I can’t tell you how many times I winced when listening to my character “consuming” a bottle of whiskey with a distinct crunch. That stuff makes my teeth hurt just thinking about it.

This whole process of configuring everything has been difficult at times, but it’s rewarding when it goes well. I expect to continue with this kind of work over the coming weeks, but in my position I can be made to change gear at any time. Ahhh, the joys of game development!

Good night everybody!

September 29th – Using Protection

September 29, 2014 in Dev Blog

Today I’ve been implementing a block protection system, so that we can have special dungeons and missions where you can’t place blocks or break through walls until deactivating a Shield Generator somewhere inside. The way this works is: each tile in the world has a ‘dungeon ID,’ which is a bit of a misnomer since it’s also used to specify tiles that have no dungeon, tiles modified by the player, and a couple of other things. Specific dungeon IDs will be protected for a given world, in a list that can be modified from server side Lua scripts or by using an admin command. I’m sure people will find interesting uses for the system beyond its original purpose, like building a planet with tests of skill and then enabling protection to make them a challenge for other players to overcome. I look forward to seeing what you come up with!

September 26th Dev Blog

September 26, 2014 in Dev Blog

Here’s a few small peaks at some of the work we’ve been doing.

What’s this? Well, I’m not telling you.

You can build a lot of stuff with tar. It is very versatile. Try making some armor!

We’ve been working hard coming up with new content to help fill out the tiers. These are some simple examples. Expect to find better fleshed out biomes and sub-biomes with more biome-specific rewards.

That’s all! Bye!