Snowfallen - A fantasy puzzle roguelike

If you have a module that you'd like comments on or would like to know how to create your very own module, post here

Moderator: Moderator

Post Reply
Message
Author
almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Snowfallen - A fantasy puzzle roguelike

#1 Post by almondbun »

Hello all.

A year ago I did my very own 7DRL challenge. It actually was my first serious attempt at a game ever and to increase the challenge I choose Unity3D to be the engine I would use. Well, things went great and Snowfallen 1.0 was born. Of course, the game was very basic but still fully playable. It even had a boss fight in the end.
Screenshot Snowfallen 1.0
Screenshot Snowfallen 1.0
final_2.jpg (137.65 KiB) Viewed 19036 times
A month later I spent seven more days on Snowfallen to implement some things like random item generation and a graphical inventory interface. I uploaded the changes to my itch.io account. This is still the current version of Snowfallen.
Screenshot Snowfallen 1.1
Screenshot Snowfallen 1.1
v1.1_1_inventory.jpg (92.95 KiB) Viewed 19036 times
So, why am I here and posting this? Well, I decided that I wanted to concentrate more on game design and less on all the technical stuff. Unity3D ist great and flexible but it is also rather complex and a little over the top for a small game like Snowfallen. So I looked around for a more suitable engine and - of course - ended up here. I am a regular player of tome4 for years.

I am currently porting Snowfallen to the t-engine. It is still in early development and there isn't a playable version yet but I surely will get there and wanted you guys to know that there is another project using the t-engine. Of course, the new Snowfallen version will fall under the GPL.

Let's end with a screenshot of the current state:
Screenshot current version
Screenshot current version
Snowfallen_t4e.jpg (157.47 KiB) Viewed 19036 times
If you are interested you can get the current (Unity) version for free at: https://almondbun.itch.io/snowfallen

So, stay tuned. There is more to come. :)

rexorcorum
Graphical God
Posts: 482
Joined: Wed Jan 05, 2011 8:05 am
Location: There and Back again

Re: Snowfallen - A fantasy puzzle roguelike

#2 Post by rexorcorum »

Welcome aboard :)
~ [ RexOrcorum, a.k.a "rexo": Official Visual Magus, Addon Beautifier, Achiever, Knight of the 561 Trees, Dark Interfacer ] ~
darkgod wrote:~ [ DarkGod whips rexorcorum with Suslik (& many others as well) ] ~

darkgod
Master of Eyal
Posts: 10750
Joined: Wed Jul 24, 2002 9:26 pm
Location: Angolwen
Contact:

Re: Snowfallen - A fantasy puzzle roguelike

#3 Post by darkgod »

Welcome indeed ;)
[tome] joylove: You can't just release an expansion like one would release a Kraken XD
--
[tome] phantomfrettchen: your ability not to tease anyone is simply stunning ;)

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#4 Post by almondbun »

A long time without a post. Sorry, this project is not dead, however I had more important things to do (like finishing my phd thesis 8) ) in the last months.

It is quite some work to import an existing game to a new engine. I am also a complete noob in Lua. But I made progress. It is still a long road to go before I will be able to release a playable version.

I want to share some of my achievements and problems dealing with the t-engine and Snowfallen. These problems may or may not be completely my fault caused by my lack of understanding a quite complex engine.

In the last days I successfully implemented the Snowfallen map logic. In Snowfallen each map only uses 16x16 tiles. There are no exceptions. I wanted to create a sort of puzzle roguelike where you got complete information about your situation without the need to scroll around. A map might look like this.
Snowfallen Map Example
Snowfallen Map Example
snowfallen_2_0_1.jpg (78.31 KiB) Viewed 18047 times
This is a screenshot within the t-engine. There were a few problems with that approach. I managed to use zones, levels and generators to generate a single map without a problem but now it gets a little more complicated. The world map consists of 16x16 maps each with 16x16 tiles. There is only one local map shown each time. Also there are fixed transitioning tiles between maps (shown as yellow circles). You can travel around the whole world map that way. Technically it was a bit tricky because there are several zones in the world map and each zone will have several levels who might transition to a different zone and level in a 2d fashion and everything should be generated randomly on the fly. As far as I know the t-engine only supports linear level progression (with branches in new zones). I solved the problem by translating a 2d level scheme into a single integer level value.

Also you can visit dungeons in Snowfallen like the entrance to a mine in the screenhot above. These dungeons are new zones that will span new maps in a 3 dimensional grid. In this case I translated the 3d position into a single integer level value again and it works quite well. It might look like this.
snowfallen_2_0_2.jpg
snowfallen_2_0_2.jpg (27.37 KiB) Viewed 18047 times
So, basically the t-engine approach of zones and linear levels did need a few extensions to work but I think it works fine now. I also did code an algorithm that guarantees that all important objects in a map are connected. If they are not it will use a modified AStar-algorithm to find a way with the least amount of changes to the current map and will clear a path (instead of redesigning the complete map).

My next mission is to look at actor attributes and implement Snowfallen actor stats. :)

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#5 Post by almondbun »

Progress has been made. I've successfully included inventories (needs a body with INVEN variable, not quite clear and not part of the example project) and the ability to pickup, wear and drop items. I also managed to generate some generic tooltips, although I would like to define the size of graphics in tooltips for myself. Maybe I will have to overwrite some util functions (TString).
snowfallen_2_0_3.jpg
snowfallen_2_0_3.jpg (221.73 KiB) Viewed 17978 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#6 Post by almondbun »

Today I have implemented usable items. Snowfallen uses a lot of consumables because there is no automatic regeneration of any kind. I still have to implement effects that last for multiple turns.
snowfallen_2_0_4.jpg
snowfallen_2_0_4.jpg (124.69 KiB) Viewed 17946 times
I still need to construct a graphical user interface. Until now only the map and a game log is shown (and dialogs).

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#7 Post by almondbun »

I am currently working on a GUI in the t-engine. It is not pretty but at least functional.
snowfallen_2_0_5.jpg
snowfallen_2_0_5.jpg (204.76 KiB) Viewed 17816 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#8 Post by almondbun »

Today I worked on some more structured level generators and designed a world map.

I still need to find a way to display a minimap. Since the complete local map is shown on screen anyway the minimap acts as a way to visualize the world map instead. To do this I would need pixel access to an image to draw the world map on the fly. I do not know if it is possible within the lua parts of the t-engine or if I have to write my own c++ code.
snowfallen_2_0_6.jpg
snowfallen_2_0_6.jpg (147.17 KiB) Viewed 17763 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#9 Post by almondbun »

I coded a mini map today. I looked around the lua and c++ code of the engine and figured out that there is currently no way for me to get pixel access without writing my own C++ code or fight with image raw formats. So I decided to use a rather inefficent lua approach until I got the time to implement something better. I am basically using 8x8 pixel textures to construct a map. Do not do this at home, kids.
snowfallen_2_0_7.jpg
snowfallen_2_0_7.jpg (161.52 KiB) Viewed 17716 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#10 Post by almondbun »

Today I have implemented the talent system. Like in ToME there will be activated, substained and passive talents and a skill tree for each class.
snowfallen_2_0_8.jpg
snowfallen_2_0_8.jpg (231.23 KiB) Viewed 17625 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#11 Post by almondbun »

Talents and usable items can now inflict temporary effects on actors. It is shown in the UI and actor descriptions.

Most basic and technical stuff of the new Snowfallen version is now implemented. The next days and weeks I will have to spend on world building, importing all items, monsters and map zones that I want to use. I also will have to define classes and class talent trees and design most ui dialog windows.
snowfallen_2_0_9.png
snowfallen_2_0_9.png (216.82 KiB) Viewed 17594 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#12 Post by almondbun »

Today I managed to define a difficulty level setting for each map. Enemies and objects are bound to a difficulty range (as in ToME) but it works a little differently. As I understand it the t-engine works a lot with a linear level calculations. If you go a level deeper into a dungeon the level difficulty will often be increased by one point. Since Snowfallen uses an 2D level progression system and has to calculate an artificial one-dimensional level value to work with linear level progression of zones the difficulty of levels has to be computed differently.

Currently the world map in Snowfallen is static and is defined through a table. I have now included a similar static difficulty level map.
snowfallen_2_0_10.png
snowfallen_2_0_10.png (133.22 KiB) Viewed 17536 times
The values are still placeholders but the system is now functional. The t-engine Zone class has a nice function that can be replaced that returns the current level to compute rarities from. So the change was rather simple. As I said before I am relatively new to Lua and I often forget how easy it is to change functions from anywhere (which a part of me dislikes).

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#13 Post by almondbun »

Today I designed the first real "dungeon". Dungeon is a relatively broad term. In Snowfallen even a simple house can be entered. The first dungeon is a barn with cows. :D
snowfallen_2_0_11.jpg
snowfallen_2_0_11.jpg (230.58 KiB) Viewed 17486 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#14 Post by almondbun »

I am currently implementing a simulation based "physics" engine to Snowfallen. It basically is a map extension that controls elemental forces like fire, ice or rain. If you throw a fireball at a wooden floor you can expect the floor to burn. The fire may spread to nearby tiles or you can try to extinguish it quickly with a water spell. You might want to use an ice scroll to walk on water but be careful with that fire sword. You might break the ice while attacking your foes.
snowfallen_2_0_12.jpg
snowfallen_2_0_12.jpg (215.31 KiB) Viewed 17235 times

almondbun
Yeek
Posts: 14
Joined: Sun Jan 14, 2018 5:13 pm

Re: Snowfallen - A fantasy puzzle roguelike

#15 Post by almondbun »

After importing a lot of items from the old Snowfallen version I did manage to implement a basic inventory/equipment screen. I want to keep things as basic and clear as possible.
snowfallen_2_0_13.jpg
snowfallen_2_0_13.jpg (86.66 KiB) Viewed 16396 times

Post Reply