New Screenshots!

Gates of Horn and Ivory is still under development but here are some screenshots for you!

The screenshots show our brand new homemade minimap system. Also new ground textures and some improved visual effects are visible. There is still a lot to do, though.

Please keep in mind that these screenshots do not represent the final product.

We recently changed to using Ferr2D instead of our own GroundPolygon script. The greatest benefits of the change are improved ground splines, ground fill textures and easier editing. However, Ferr2D uses a fairly different collision system than ours so we had to do some manual conversion by hand. We also created scripts to automatically convert our GroundPolygons into Ferr2D terrain objects.

SFSS (2D lighting system) is still a bit buggy with our Ferr2D implementation but we will figure it out. Also the player animation system will require some changes since the animator states change too sensitively.

Here is also something puzzling from our Unity Scene view:

Spelli Röikkö – Our gamejam game made in ~48 hours!

Hey!

Autumn Falls Gamejam is now over and here are the results. We had a team of four members building this epic adventure game featuring Spelli Röikkö – the magnificent wizard who is known for his need to bring his shotgun everywhere with him. Even when he is collecting mushrooms in the forest…

Thanks to our awesome gamejam team members

Joel Polso
Kim Kupiainen
Kristian Luokkala
Jeri Haapavuo

Download link

Windows – spelli_roikko_v1.0.zip
Linux (32-bit & 64-bit) – spelli_roikko_v1.0.zip

Controls

P – Suicide
WSAD – Move
CTRL / Mouse 1 – Shoot
ALT / Mouse 2 – Holster gun
SPACE – Skip dialogs
ESC – Close game



Autumn Falls Gamejam!

Hello fellow developers and artists!

We want to invite you to our very first gamejam where we try to develop our skills as game developers and artists. We’re a small indie company making our very first game, and we want to build a community online, and not just any community, but a community of likeminded developers. No titles, just games.

Autumn Falls Gamejam will be hosted by Please Be Patient team
starting at 22.9.2017 17:00 and
ending at 24.9.2017 20:00 (CET+1).

Why would you want to join our gamejam?

To make a small game during the next weekend
Partner up, create contacts with other developers and artists alike, on these forums
To learn
To create a community, or to be part of the creation of a community

We have the bones, and if all goes well, we will keep on hosting gamejam sessions in the future. Now we need you, to be our meat around the bones.

There’s a bunch of themes to choose from. We will in the end (on our behalf) choose three by random selection, but you can take whatever you want. Or go with our announced themes. Whatever. The main point is that you participate in the gamejam and learn something from it.

Themes are the following:

1. A human sacrifice goes awry
2. What made you think that was a good idea?
3. Shark!
4. Picking a fight with someone way bigger
5. Freefall
6. One hp is enough to pull the trigger
7. Small world
8. Social instability
9. Well that was a dumb idea
10. World is an hourglass
11. The wizard must be stopped
12. Sickness for Thickness

We warmly welcome you to attend our jam here: https://discord.gg/GSh2cKc
Even if you don’t have a team, you just might find yourself friends there!

Our new soon to be team member, audio designer Kim is hosting a stream whenever he is working during the gamejam: www.twitch.tv/K1mpp4
So if you don’t feel like attending, you can come check him out learning stuff.

One Year and a Thousand Hours Later

It has now been a year since the beginning of our first project – Gates of Horn and Ivory. We have made a lot of mistakes but also learned from them. I will now briefly open the situation of the game and then talk about the problems we have had during the development.

We have been tracking hours since the beginning of the project

It shows that we now have spent a total of 1 028 hours doing various things:
406 hours spent on visual art
324 hours spent on technical stuff, such as programming tasks
103 hours spent on level design
83 hours spent on meetings
73 hours spent on project management, such as issue management, project scheduling, company management etc.

Here is a chart showing our total hours per month:

Here you can see our total hours per category:

 

Major game components that have now been completed

All unlockable player skills

All puzzle mechanics

Player movement & physics

(Level & puzzle design is about 90% done, just the last 90% to do [pun intended])

 

Still needs improvement but is well on its way

Menu system

Game saving & loading

All over In-game visuals & audio landscapes

More story elements must be added

Gameplay testing to improve the experience as a whole

Some voice acting is still to be done

Different game endings need polishing

 

Not yet started or in very early phase

Steamworks integration (achievements, speedrun leaderboards, cloud savegames)

Speedrun mode

Steam Marketplace page material

 

Some major problems that we have now overcome

Player physics in various cases
Sliding & jumping on moving platforms
Sliding on deep downhill slopes
Player getting stuck in some corners
Player transitioning from swimming to not swimming

Controller vibration & hot plugging –> Use Rewired.

Designing a large game world that can be progressed based on unlocked player skills so that the player cannot get stuck anywhere

Waterfall visual effect (particle systems & sprites)

Problems with Unity Animator when creating animated story screens…

 

The good decisions we have made

Using Unity as the game engine
Really eases the development process

Not solving every single problem on our own but buying assets instead
2D Shadows & lighting (SFSS)
Controller vibration & hot plugging + action mapping (Rewired)
Some visual effects / shaders (Camera Filter Pack)
Voice acting, SFX, ambient sounds…

Using other useful 3rd party software
Bought JIRA for project management
Used Instagantt for project time scheduling
Used Discord for communication

Upgrading drawing tablet from Trust Slimline widescreen tablet to Huion New 1060PLUS

 

Mistakes we have made (mostly regarding marketing)

Not being active enough in the social media
Steam marketplace page still not ready!

Marketing material have not been polished enough
Marketing material doesn’t show the most interesting features of the game
We have been too quiet on the things that we hope players to find out by themselves when playing the game
The game will speak for itself but it must first gain the interest of the players

The game is of a niche genre and is thus hard to sell
The theories behind the game world & story are hard to explain or visualize

Tried to make an MVP but didn’t really know from where to start
Ended up creating a large game world at first without even knowing what it will consist of or how much work will it require

Working on the project as two part-timers causes stalls & delays in the schedule
Still cannot announce a release date!

Current mood?

Even though we are not in our original schedule, we are happy to realize how much we have learned during the project.
We still cannot announce you a release date but it is most likely within a year on the current pace.
We will not release the game until it is polished and we are happy with it.
Our next milestone is to get enough material in order to create the Steam Marketplace page for the game and publish it.
Then we will most likely begin closed beta testing which probably results in gameplay tweaking & polishing.

We will keep you updated!
Thanks for following us during our journey!

We got Greenlit on Steam!

Happy news day!

Today, Valve decided to retire Steam Greenlight. They also decided that we are good to go and we are now a Steamworks Partner! This is of course great news for us and we want to thank you all who upvoted us during the Greenlight period!

The project is going forward. We still have some level and graphics design to do until we are finished with the actual content. After that, we will be polishing and playtesting everything until we (and the testers) are happy with the results. Probably more story elements will be added during the polishing in order to make the whole experience congruent. Also, we might have a chance to get some professional audio work & voice acting done for the game!

PS: I started to integrate Steamworks API to the game today. Facepunch.Steamworks seems quite handy!

BR,
Jeri Haapavuo

How to create a JIRA Discord bot using webhooks

Hello, it’s Jeri here. In the earlier blog post I promised to tell something about our project management conventions.

For 6 months, we used Kanbanflow.com as our primary issue tracker from which we could easily see which tasks are currently on-going and which have been completed. We had a huge backlog of improvements, bugs and new features ready to be implemented. The tool has one major problem for us though: There is no possibility to link the issues to our Git repository.

April 1st I decided to change some things. I imported all the issues from Kanbanflow.com to a local JIRA server (which we now have on the 30 day free trial period). I was easily able to configure our Bitbucket repository to synchronize with our JIRA instance. Now we can use smart commit messages, such as “GOHAI-69: Implemented it as whole. #done”. That message would automatically set the issue “GOHAI-69” as “Done” in JIRA. That really helps ALOT.

Since we work separately and have over 300 kilometers distance between us, it is important to have good communication tools also. At first, we were using Steam for text based communication and Skype for voice communication. That wasn’t really convenient and we were having some quality issues with Skype so we decided to switch to using Discord instead. Discord features different channels for different topics, and has a voice chat feature built-in.

Now we lacked one more thing: JIRA / Bitbucket –> Discord integration. It is really good to have someone to notify you automatically when you got new tasks in the project management tool. This is why I decided to get a JIRA –> Discord bot. Until I realized there isn’t any available!

After a day of digesting I decided to start implementing one by myself. It took a while to get into the Discord API documentation. For JIRA I didn’t find any good documentation on the webhook interface so I decided to almost brute-forcefully just keep spamming various notifications on JIRA to my bot’s HTTP server. That way I was able to figure out enough information to build a working bot.

Both JIRA and Discord use JSON in the HTTP messages. I created a .NET console application that deserializes the JSON messages from JIRA, converts them to a Discord suitable format, serializes them back to JSON and sends them to Discord. Simple workflow. Easy stuff.

 

 

Discord message:

{
  icon_url: "URL",
  text: "MESSAGE_TEXT_HERE",
  attachments:
  [{
    author_icon: "URL",
    author_name: "AUTHOR_NAME_HERE",
    fields:
    [{
      title: "FIELD_TITLE_HERE",
      value: "FIELD_VALUE_HERE"
    }]
  }]
}

I left message text empty and set author icon and name properly. I used the JIRA event type, issue title and issue key as parts of the field title and generated a link to the issue as the field value using the issue key. Message icon URL is actually used as the bot’s avatar. I set it to match the Atlassian logo that can be found in the JIRA files (“JIRA_PATH/images/64jira.png”). Discord messages also can contain other fields but they were not necessary for our purposes.

 

JIRA message:

{
  issue_event_type_name: "EVENT_TYPE",
  issue:
  {
    key: "ISSUE_KEY",
    fields:
    {[
      status:
      {
        name: "ISSUE_STATUS"
      },
      summary: "ISSUE_TITLE"
    ]}
  },
  user:
  {
    emailAddress: "EMAIL_ADDRESS"
  },
  comment:
  {
    author:
    {
      emailAddress: "EMAIL_ADDRESS"
    }
  }
}

 

For pure issue edits and creations, user field is used. For comments, the comment author field must be used.

I decided to implement the client-server application using C#. For the server I used NHttp which is an easy to use HTTP library for .NET. The client is HttpClient from the standard System.Net.Http library. The server is used to listen for events from JIRA and the client passes them forward to Discord. The JSON serialization is really easy to do using Newtonsoft Json library which can be found using NuGet package manager.

This is enough information so that you can implement a bot of your own. The text covers quite nicely both the JIRA API and Discord API. If you got any questions, just ask! Thanks for stopping by!

EDIT: By a visitor request we decided to add the C# source code for the bot server!

Just create a new C# Console Project in Visual Studio, paste this in and build. You’re welcome. 🙂

The code is a real bubble gum mess containing hacks & hard coded stuff. But it works for the purpose!

Download the source code here: Program.cs

Hello World!

We are two students from Finland who have enjoyed games since day one. In September 2016 we started our very first project, called Gates of Horn and Ivory. In March 2017 we founded our company Please Be Patient Ltd.

The game is a psychologic 2D puzzle platformer that offers you one possible theory of our world – of our existence. Have you ever been thinking what happens after death? Or where does the space end? Can you go outside of that “space”? Is there really just 3 dimensions? Should time be considered as the fourth dimension? How does time affect space?

Older screenshot from 2016

These are the questions we think about every day… And we think that we have some interesting, mind-bending answers to them. Gates of Horn and Ivory will open those questions, and provide you with something to ponder. We think it is a really fascinating mind game to turn over the whole worldview and think aloud: “What if…?”.

We will soon post more information about our development methods and progress. Since we live about 300 kilometers far away from each other, we need to have good project management tools and harsh discipline. This is also something that we would like to blog about.

In the meantime, please subscribe to our email list on the front page to get notifications when we release any updates. Also, take a look at the following image of an asymmetrical torus. We think it summarizes really well what we are after…