Onwards to a next game

I was still 3 months away from finishing Autumn and already had some cool ideas for my next games. This is the curse of all gamedevs, I guess :D

Now that Autumn is finally finished, I’ve been giving myself time to think freely, letting ideas flow without rushing to start anything (I also feel the need to take a short break).

I was beginning to settle on one idea, but as time passed by, that idea morphed many times, taking different shapes. Now I think I finally arrived at a point where I can say I’ve decided pretty much how my next game will be like.

It’s too early to announce it, but as soon as I sort out some more details and actively start working on it, I’ll once again open a devlog in the TIG forums.

For now all I can say is that it will be a puzzle game(1st time I’m doing one), and it will be in 3D (also first time). Lot of new stuff for me, and I’m having a lot of fun working on the first level ideas :D

WP_20141001_001

7 months after…

Autumn’s development has reached the end. Of course that there is always more stuff to add, art to improve, etc, but we have to put a stop somewhere. A few months ago I decided that the 23rd September would be the release date, so I’ve made many efforts to stick with it.

I’ve also released the official Autumn trailer (first time making a trailer so be gentle :) )

As concluding words I’d like to thank the 4 composers who kindly volunteered to do the Autumn’s soundtrack, without them the game would be way drier :)

Many thanks to everyone around the world that contributes for free and opensource software, which made possible this game to exist, especially the ones that create and maintain GIMP, MyPaint and LÖVE!

Official Autumn website

As Autumn gets closer and closer to its release date (23rd September), I’m very happy to finally announce its own dedicated website which just went live today: http://www.bitoutsidethebox.com/autumn

This website will be the one-stop place for all news about Autumn, updates, gameplay tips and whatever else shows up. I’ve just uploaded a few screenshots from the current build. Keep in mind the artwork may (and very likely will) undergo improvements before release.

Thanks for your interest and spread the word! :)

The last(?) big Autumn Devlog update

Hi everyone!

It’s been quite a while since I wrote a decent devlog post, and many things have been happening with Autumn. This will probably be the last big devlog post I’m writing for Autumn. In a few days I’m going on a 15-day volunteer program, and then I expect the remaining days  of August to be used to finish up the rest of the code, and then do some proper work on the art of the game. As I previously announced, Autumn will be released on the 24th of September.

Usually, at this stage in development, you shouldn’t really be changing too many features and plans, but I had to do it. Mainly because when I started Autumn I didn’t have a clear idea of it yet. But it if had to wait for the idea to be complete and finalized, probably I wouldn’t have started it yet! So I decided to jump in and ideas took shape as I went along.

Right now, time is running out, and besides time limitations I’m also dealing with my own limitations (skills, tools, resources). That means some ideas are being put in a “later,maybe” list… in case I miraculously end up having extra time before release :)

So what are the relevant changes and news?

No more I-Ching

In the last devlog I talked a lot about the I-Ching and how it would play a central role in each game. I decided to take it out once again for 2 reasons:

  1. its super complex! the whole I-ching can inspire a game of its own, but its complexity is just too overwhelming to add at this stage
  2. I did not want to add things just for the sake of adding content to “fill up” the game. I don’t want to cheapen the spiritual aspect of it, so everything is being carefully selected

Prana Orbs everywhere

Initially, the role of prana orbs was a very small one: they are released from trees, you attract them, and they give you more Prana to spend.

Right now, they play a major role in everything you will do in the game. Not only can you guide them to specific objects in order to achieve something, you can also emit prana orbs from by your own.

What things can they be used for?

  • “know” (acquire) new tree species
  • “know” (acquire) new items
  • increase land size
  • re-charge special items
  • help spiritual practitioners

The player type that you choose when starting the game will have a negative or positive modifier on the energy effect of each orb. For instance, a Yaksa player needs less energy to expand its land.

Puzzles

In each game, one or more puzzles will be available for you to play. Puzzles provide you some relaxing and entertaining time. Right now, there are 3 puzzles types (probably one more will be added):

  • Tree Guild
  • Scene Puzzle (sliding pieces puzzle)
  • Zen Stones (an hanoi towers puzzle on steroids)

Each puzzle will have a random difficulty: easy, medium or hard, which will reward you with a quote, inspiration or teaching, respectively, if you managed to complete it.

Conclusion

Other relevant changes done recently:

  • smooth soundtrack transitions between seasons (by the way, the soundtracks are coming up really nicely! thankfully to the 4 composers who volunteered)
  • better atmosphere with rain, wind and bird sounds (video)
  • minimap to navigate the game world and have a quick glance of the landscape

All in all, the game is progressing well, although time is really tight and there is still a lot to be done. I’m particularly frustrated with my sucky skills with the artwork, I think the game deserved something better, oh well…

Simulating dynamic weather effects

So a couple of days ago I posted a screen recording of a feature I worked in the weekend for Autumn: dynamic rain effects. Somehow, plenty of people got interested in it and asked me how I did it and if I could share the code.

I don’t share the code, not because it’s top-secret or I am afraid of someone stealing my game(it will be free, btw) but because it is very tightly integrated in other parts of the game, and so might be a bit messy to understand. Instead, I decided to write this short blog post to explain how I did it.

But first, the video: (something have already changed since this recording was made, but anyway…)

So the whole thing is quite simple, actually. But let’s go step by step.

The first thing is to decide when the rain starts and ends, its duration and intensity. So I have a function that makes this decisions, that is called on the start of the game, and every time the rain finishes. In Autumn, the game time follows a year cycle, mapped from 0 to 100. So the beginning of winter is 0, and the end of autumn is 100, then the whole thing repeats in cycles.

So I can assign the rain to start and end at specific times. To do that, I have a few important variables:

  • rain_start_time
  • rain_end_time
  • rain_climax_time
  • rain_climax_strength
  • rainctl

The first two should be self-evident. The climax time defines when the rain intensity should reach the climax_strength (ranges from 0.3 to 1). Having this four variables allows me to create more realistic rain effects, as they will be different every time.

The last one, rainctl, is the main variable, that holds how much rain there is at any given moment (ranges from 0 to 1). Its value is normalized according to the current game time position relatively to the rain start, end and climax times and the climax strength

So, for example, I can have rain that has the climax_time very close to the start_time, which will make it start very fast and then slowly wane away.  The graphic below shows two different scenarios, that illustrate this

rain-graph

Now we have to put all this into something the player can see (and hear!). The value of rainctl directly affects three different aspects of the rain:

  • amount of droplets on the screen glass
  • amount of rain (lines)
  • volume of the rain sound

Having just one variable (rainctl), makes things really easy!

The droplets on the screen are very simple “objects” that have a few properties which make them feel a bit more real:

  • size (random)
  • falling speed (random, depends on size)
  • initial color alpha

On every update call, I reduce the alpha of each drop, until it becomes 0 and gets removed. The rainctl value indicates the maximum number of drops that can be on the screen. The falling speed depends on the size so that bigger drops seem to fall faster and smaller ones.

The rain lines are just randomly drawn grey semi-transparent lines. I also use the rainctl value to set up a maximum number of lines that get drawn.

And finally, the volume of the rain sound is directly set by rainctl, as it also ranges from 0 to 1.

So there it is, quite simple! It took me a whole day to do it, because I had to come up with the idea, try different ways of doing it and finally settling down with this one and tuning it up.

Besides this I also do a bunch of sanity checks that are more closely related with Autumn (like, few chance of rains in summer, or only light showers, etc).

Hope you enjoyed it :)

Update on new changes

It’s been a crazy week since the last devlog update, many new ideas came and went, while I tried to find a good way to include some of them to improve Autumn.

I spent time away from coding so I could just focus on the idea and design of the game itself, and I think things are a bit clearer for now. At least clear enough that I can get back to code with some goals in sight.

I’ll have to spend some time updating my own internal game design doc and also the public description of what is Autumn. Until then, I’ll leave you with this small bits:

Each level starts mostly empty, and the player starts with one tree.

Each tree increases the “playable area” of the game, so that the player can do more things in the world, and advance in the level.

Trees (and leaves) follow a natural cycle, they give seeds, they age and die. Not taking proper care and just worrying in advancing will probably end up in loosing trees, which means loosing your source of energy that allows you to get the most important things (spiritual items for the chest).

As a tree matures and its health increases, its area of influence also increases. The reverse happens when its health is down.

Trees will occasionally give seeds, which can be collected in the chest, and planted later (even in other levels). The player can also sacrifice/push(not yet defined) a tree to produce a seed, reducing its health and spending Prana.

There will be several tree species, each one has its own unique characteristics like: amount of leaves, growth size, average age, deciduous or falling leaves, flowering or not, rate of seeds, and climate adaptability (each level will have its own type of climate) – this is a very work-in-progress aspect.

Certain objects can also be found in the levels, objects can be have certain uses or also provide help in certain tasks. (WIP)

There will be small quests/puzzles to solve in the levels, which can result in bonus energy or gifts of spiritual items to the chest. (WIP)

Daring to throw good ideas out

Been a bit lazy on the my task to provide development news, so here’s an update!

I had pretty much reached a point where I could say 90% of the game design was done, I had a somewhat solid idea of how the game would start, go and “end” (actually it never ends).

But I like to keep my mind open, because I felt those missing 10% could be rather special. And so it happened that new ideas appeared out of the blues and those new ideas where somehow incompatible with the old ones. So after pondering for a good while on it, I decided to throw out a few of the old game design ideas and am now in the process of remaking it.

autumn

hey look, autumn!

In practical terms, what does it mean and what is actually changing in the game?

Well, the original idea was to have Autumn generate a virtually unlimited number of “worlds”, each of them would have its own scenery and random quests/challenges. While you play each world, you collect prana which can then be spent on acquiring spiritual teachings

Spirituality and learning is the main topic of the game, so I wanted it to be even more present, than just collecting text here and there.

So, let me introduce you the I-Ching(The Book of Changes), one of humanity’s most mysterious, long-lived and most widely used book, from mystics, to psychologists. Some say it is a divination book, others say it has coded the fabric of all possible experiences and outcomes, others yet relate it to quantum physics or string theory. The fact is, this 2500 year old chinese book, has a lot of wisdom in it, and I want to include that in Autumn.

Before the I-Ching is consulted, an intention/question/problem is framed in the mind of the person, and then a certain process is carried out so that one of the 64-hexagrams of the book will be selected. The interpretation of each hexagram will show to the person certain ideas and bring awareness to sides of life which he or she should pay attention to.

I thought this could be a great way to get level generation going. So before pressing “play” you will be asked to also set your intention, upon which the game will be based on one of those 64-hexagrams, and the gameplay will follow its dictates.

This is still a rough sketch of how it will happen as I still need to sort out many details. Keep tuned ;)

Carefully trailing the game development minefield

I enjoy reading a lot of game dev blogs, experiences and tips from other fellow developers. Not only it gives me inspiration, useful information, but also warns me about dangerous situations that we should avoid during the long, hard process of crafting a game.

I have already ignored one of the most precious advice: “your first 10 games will be crap, so just get them done as fast as possible”. Attempting to do a “serious” game right at the 3rd try, might be crazy due to lack of enough experience, but my motivation also requires me to engage in some big thing.

I’m trying now, not to fall on another dangerous landmine, the one where you want your game to be perfectly like you imagined it in your head.. and then take so much time doing it, that eventually you give up and drop it. Perhaps due to my lack of experience, I was enough quite a lot of difficulties in some aspects of Autumn. I wanted it to be really good, but I know that to do it the way I envision it, it will take me such a long time, that I’ll probably end up quitting and getting excited with some other project.

Considering this, I made a tough decision today, the one of following another great piece of game dev advice: scale it down, simplify it. I’m therefore changing on big gameplay aspect of the game, in order to make it simpler to develop. The good site of it, is that this simpler way of coding it, will allow me to greatly improve the art of the game, not because of the time, but because of the know-how involved. I really hope that it can turn out to be simply beautiful!

More news soon :)

On a side note, I decided to create a page for Autumn in IndieDB. I hope it will be a good place to get feedback, share news and improve the game! Check it out here:

A super productive weekend

Got a lot of stuff moving forward this weekend. Today Autumn got a better camera, planet gravity (faked), a few other features which are not visible to the player.

Here’s a video showing the progress so far: https://www.youtube.com/watch?v=5aYyBK_qwlA I’m linking it instead of embedding because you should really see it with a larger page width.

My task lists tells me that the next top priority is to write a better description of the game concept and features, I hope to do that in the next 2-3days. Hopefully, a lot more people will understand what it is about.

Stay tuned!
By the way, I’m also on twitter @bitoutbox