ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Fri Sep 20, 2019 7:35 am

All times are UTC




Post new topic Reply to topic  [ 15 posts ] 
Author Message
PostPosted: Sun Jan 14, 2018 5:58 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
File comment: Screenshot Snowfallen 1.0
final_2.jpg
final_2.jpg [ 137.65 KiB | Viewed 3777 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.

Attachment:
File comment: Screenshot Snowfallen 1.1
v1.1_1_inventory.jpg
v1.1_1_inventory.jpg [ 92.95 KiB | Viewed 3777 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:

Attachment:
File comment: Screenshot current version
Snowfallen_t4e.jpg
Snowfallen_t4e.jpg [ 157.47 KiB | Viewed 3777 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. :)


Top
 Profile  
 
PostPosted: Tue Jan 16, 2018 8:37 am 
Offline
Graphical God

Joined: Wed Jan 05, 2011 8:05 am
Posts: 412
Location: Snowscape
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) ] ~


Top
 Profile  
 
PostPosted: Tue Jan 16, 2018 11:04 am 
Offline
Master of Eyal

Joined: Wed Jul 24, 2002 9:26 pm
Posts: 10241
Location: Angolwen
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 ;)


Top
 Profile  
 
PostPosted: Mon Apr 22, 2019 8:08 am 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
File comment: Snowfallen Map Example
snowfallen_2_0_1.jpg
snowfallen_2_0_1.jpg [ 78.31 KiB | Viewed 2788 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.

Attachment:
snowfallen_2_0_2.jpg
snowfallen_2_0_2.jpg [ 27.37 KiB | Viewed 2788 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. :)


Top
 Profile  
 
PostPosted: Sat Apr 27, 2019 11:57 am 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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).

Attachment:
snowfallen_2_0_3.jpg
snowfallen_2_0_3.jpg [ 221.73 KiB | Viewed 2719 times ]


Top
 Profile  
 
PostPosted: Sun Apr 28, 2019 1:08 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_4.jpg
snowfallen_2_0_4.jpg [ 124.69 KiB | Viewed 2687 times ]


I still need to construct a graphical user interface. Until now only the map and a game log is shown (and dialogs).


Top
 Profile  
 
PostPosted: Tue May 07, 2019 7:51 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
I am currently working on a GUI in the t-engine. It is not pretty but at least functional.

Attachment:
snowfallen_2_0_5.jpg
snowfallen_2_0_5.jpg [ 204.76 KiB | Viewed 2557 times ]


Top
 Profile  
 
PostPosted: Thu May 09, 2019 10:53 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_6.jpg
snowfallen_2_0_6.jpg [ 147.17 KiB | Viewed 2504 times ]


Top
 Profile  
 
PostPosted: Sat May 11, 2019 6:57 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_7.jpg
snowfallen_2_0_7.jpg [ 161.52 KiB | Viewed 2457 times ]


Top
 Profile  
 
PostPosted: Mon May 13, 2019 6:13 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_8.jpg
snowfallen_2_0_8.jpg [ 231.23 KiB | Viewed 2366 times ]


Top
 Profile  
 
PostPosted: Tue May 14, 2019 12:48 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_9.png
snowfallen_2_0_9.png [ 216.82 KiB | Viewed 2335 times ]


Top
 Profile  
 
PostPosted: Wed May 15, 2019 11:31 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_10.png
snowfallen_2_0_10.png [ 133.22 KiB | Viewed 2277 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).


Top
 Profile  
 
PostPosted: Fri May 17, 2019 4:56 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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

Attachment:
snowfallen_2_0_11.jpg
snowfallen_2_0_11.jpg [ 230.58 KiB | Viewed 2227 times ]


Top
 Profile  
 
PostPosted: Sat May 25, 2019 9:25 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_12.jpg
snowfallen_2_0_12.jpg [ 215.31 KiB | Viewed 1976 times ]


Top
 Profile  
 
PostPosted: Thu Jun 20, 2019 2:09 pm 
Offline
Yeek

Joined: Sun Jan 14, 2018 5:13 pm
Posts: 14
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.

Attachment:
snowfallen_2_0_13.jpg
snowfallen_2_0_13.jpg [ 86.66 KiB | Viewed 1137 times ]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group