Our Git workflow

We use Git as a version control system in our development process and GitHub to host repository. Our workflow is similar to git-flow, but with some simplifications since our product doesn’t use versioning – the only actual version of our game is production. Well, it’s not completely accurate as there are also snapshots of the game on our internal servers, but production is the only version which is accepted for bug reports.

Continue reading "Our Git workflow"

Accessible Autocomplete Box

In this post we’ll cover some information and challenges in creating an accessible autocomplete box. A good autocomplete box is accessible by default and will allow all users to navigate intuitively, either by keyboard or mouse. Many of you may have used an autocomplete box before and not even realized that the keyboard shortcuts intuitively used were also there to allow impaired users access to the same functionality.

Continue reading "Accessible Autocomplete Box"

Extending Economic Exchange Conditions

In earlier articles we introduced the economic exchange system we use to help us build Tau Station. Further publications explained how it helps us to write clean code and simplify our combat code. In this technical blog post we look at the economic exchange system in a little more detail.

Continue reading "Extending Economic Exchange Conditions"

On writing clean code … for combat

So, we have discussed the important of clean code before. That article showed how economic exchanges could clean up otherwise messy steps involved in the processes of cloning. But what happens if your mess is bigger than a single step? – In our new technology blog post, we invite you to join us for (code) combat …

Continue reading "On writing clean code … for combat"

Borders with Cut Corners in a Post-HTML5 World

In previous articles focusing on the technical side of creating Tau Station, we’ve discussed how our team is working hard to utilize inclusive design, how they’ve created an authoring tool to provide meaningful choices for players, and about their focus on writing clean database code. Today, we are going to discuss artist choices about borders which make game’s user interface (UI) visually complex and interesting, while still allowing the art assets to be usable in a variety of situations.

Tau Station has many different types of artist elements that use non-standard borders and edges. A design like this can be implemented in a variety of ways; with an older approach, which utilizes files in a PNG format, and which only consist of the file having one layer, or a newer approach, which is more complex, but which utilizes more layers and which is less limiting. We will focus on a new(ish) technique which seems to often be overlooked by many front-end developers, even in 2017.

Continue reading "Borders with Cut Corners in a Post-HTML5 World"

Mission Builder Reloaded

More than simply linear paths or interactive stories, our missions in Tau Station provide a unique adventure in immersion. To advance through the universe of Tau Station, many difficult decisions await. Missions are one of the main sources of experience in the game, and completing them will help you to understand the Tau Station universe better. Passing them won’t be easy, however.

In order to provide the narrative team with enough level of creative freedom, we are constantly improving and developing new features for our mission authoring tool: Mission Builder. Now it’s time to uncover some of the internal details and show what goes on the behind the scenes while playing in Tau Station.

Continue reading "Mission Builder Reloaded"

On writing clean database code

In earlier articles we looked at the way we use “economic exchanges” to simplify complex code into a series of small understandable steps. We use similar ideas to build up business logic in our DBIx::Class model layer: combining multiple small predefined queries together to create more complex conditions for generating SQL queries against the database.

Read on below if you take the challenge to read “0011001010” language of our database experts who love to share knowledge with you again about clean code.

Continue reading "On writing clean database code"

Avoiding Multiple Inheritance with Traits

When reading through the literature of how games are built, we find that a common pattern for many games is the Entity-Component-System (ECS) pattern, first used in one of our favorite games Thief: The Dark Project. Tau Station uses ECS for items the characters can find and it’s proven very flexible and since we’re not a traditional “graphic” game, some of the known drawbacks of ECS don’t apply to us. However, we also make use of traditional object-oriented programming (OOP) and that’s where we wish to avoid a common trap that many software developers fall into: multiple inheritance.

Continue reading "Avoiding Multiple Inheritance with Traits"