Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1405751 Posts in 68539 Topics- by 62237 Members - Latest Member: OzTheTrue

March 28, 2023, 10:50:25 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsExipelago - a 3D Colony Simulator with zlevels
Pages: [1]
Print
Author Topic: Exipelago - a 3D Colony Simulator with zlevels  (Read 1049 times)
reiti.net
Level 0
**


View Profile WWW
« on: March 02, 2023, 04:22:30 PM »

Hello everyone
My name is Peter, I am an old guy born in austria but living in spain and here I am working on Exipelago since a couple years now. The game runs on a custom engine based on SharpDX/Monogame and I even did a YT series about it before I even know what game should come out of it. Well here we are now, around 2 years later, Exipelago went into Early Access at the start of 2023.

Steam Page: https://store.steampowered.com/app/1948540/Exipelago/

Trailer:





Exipelago is actually heavily inspired by a lot of other games. It basically is a colony simulation which emphasises the building aspects. The game plays in a fully destructible 3D Voxel World with different Block Shapes to allow for a lot of freedom when it comes to building



Every world is procedurally generated and can have different sizes attached - while the only technical limit is available memory, currently the maximum world has a size of ~450.000m²



The game has full zlevel mechanics, so the player can just slice vertically through the terrain allowing for building underground rooms or mines - also different sorts of materials can be found by digging, like different types of stone or metals, gems (metals gems not added yet)



Material Diversity

This is a huge part of the actual game, as it is designed in an open way. For example each tree will yield it's own type of wood, which can be made into planks (for each wood type) and those planks will ultimately result in furniture or other things reassembling the material initially being used.

For that reason the game comes with several editors, so players can create their own trees, plants, items and materials or even full production chains - which technically makes the game totally expandable by players. Steam Workshop is fully integrated but I have to admit the editors are a bit complex as of know.



Plants & Trees grow in realtime and need certain conditions to be met (sunlight mainly) and also water is (flow) simulated and light actually expands in a volumetric manner - Light Sources are also a necessity for the villagers to get around efficiently during the night.



The villagers themselves can be controlled by setting job priorities, defining their schedules and they have to be kept happy in a manner that they need shelter, food and other needs to be fullfilled (some of it WIP)

Automation

As this is a top down villager builder without direct control of the villagers, many things work by automation. For this matter the game uses different zones for different tasks and/or crafting which can be configured in several ways. Also crafting is done this way, by defining crafting queues and what materials to use etc.

There is basically a free demo available, but be aware, that the demo will most likely be outdated, as I don't maintain it with regular updates like the Early Access Version. The latter is fully playable but looks like many people complain about a lack of content. It's more for builders right now - not for players who seek a challenge.

I may try to post more developer related information here with the regular updates, as most of the time there is indeed something to tell. In case someone is interested of course :-) There is still a lot to do in this game to make it a wortwhile experience but I am happy about everyone following me on the way to there

Of course, you can visit the official website or join the games discord. I am happy about every feedback!
« Last Edit: March 02, 2023, 04:28:14 PM by reiti.net » Logged

Alain
Level 10
*****



View Profile WWW
« Reply #1 on: March 03, 2023, 01:49:07 AM »

Thanks for sharing your game with us reiti and belated congratulations to your Early Access start!
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #2 on: March 07, 2023, 04:23:33 AM »

With the general building mechanics and UI being very capable already, it's time to add some other elements in terms of challenge and gameplay.

Settlement Growth

One of the first things here will be to rework the current placeholder to get new villagers. The idea is, that your tribe will have some sort of "reputation", which is going to be represented by overall happiness of the villagers and the combined "wealth" of your settlement (the more you build/craft/gather, the more wealth your settlement will have).

For that reason, villagers will feature different needs to get their max happiness, like each one having their own nice private bedroom, and all needs satisfied and not suffer from any negative conditions. Soon enough more food sources will be added, so villagers may also demand a diverse diat consisting of several different food types (fruit, veggy, meat and cereal something like that). More food sources are already in the works, but many of them require additiional production chains and/or items to fully work.

I am currently not sure how complex those should be .. they could be really complex or they could be more simplified - not really sure, what players would prefer.

Diverse Food Sources

An example for this would be fish. To get fish, it has to be caught from the ocean, which would need some sort of item to actually do it. A spear? A Fishing Rod? The latter would need some sort of fiber first, which may be hard to aquire at the start of the game

Fish could be than made into food on a campfire to get an early source of meat.

Another idea is animals, which is a bit more complex to integrate and may also need a lot of other things to be implemented first, together with the general thought about how or what animals should be present on a lone island .. maybe starting with chicken & pigs.

Fruit, veggies and cereals are easy to add, as every mechanic is already there (except fruit trees)

Settlement Identity

Another thing I want to add pretty soon is the ability to give your settlement more identity. Therefore, I want to add a new item like a flag, which I want to be able to wave in the wind and it may display the avatar of your steam user (could be customized later on) - as this would be handled like a normal material, players could also use it to make it a maerial for their own items via the ingame editors.

While this doesn't necessarily add any challenge of the game, it may still be something desirable to get more connected to the tribe you're managing.

Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #3 on: March 08, 2023, 06:16:14 PM »

Coming in the next Update pretty soon:

More Tasks for Crafters

Currently crafters (those serving the orders in the different workshops) are only responsible for crafting. If some item is blocking the workbench or any other tool, the crafter is waiting for some hauler to pick the item up. Very inefficient actually, especially when the haulers are busy collecting the stone from the latest mining operation.

This also was a problem I've seen in several Videos of fellow players, when it wasn't clear why the crafters stopped working or why the tool is not freed up from crafted items.

So in the next update, the duties for crafters are getting expanded. If they find a workbench/tool being blocked by some item not carried away, they will just take it in their own hands and transport their products into the next stockpile which is allowed to store it.

Fully accurate surface detection

Currently there was a broad system in place, so a villager can determine the surface of its current position - this wasn't accurate at all and gave a lot of problems for a nice movement, especially on corner shaped blocks. This wasn't getting any better with the recent addition of more block shapes, so I had to fix the issue.

To do so I adapted the engine in a way, that each block shape now handles it's own subset of collision geometry tailered to the block type. That way, villagers can now determine the surface under their feet very precisely. Not only does this provide much smoother movement of the villagers and less hassle with adding new block shapes, it also make the movement now correct for every shape in the game AND - as a bonus - it also allows units to take positions in a non-grid-uniform way.

Technically it would be even possible to manually control a unit like one would in a top down RPG and still have perfect alignment - in Exipelago terms, this could allow a future feature, where a player could decide to visit other players islands and explore them in an RPG way just for the sake of discovering it - I guess this could be a quite interesting feature, as long as players are willed to accept "visitors" (that would mean to somehow make their savegames available online) - let's see if that idea is taking shape at some point (definitely not know)
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #4 on: March 11, 2023, 05:34:02 AM »

Last update added proper surface detection plus the smarter crafters to the available version.

More WorkGroups

I've also found that the currently available workgroups were not sufficiently divided, so for example, when you're digging in a mine, there was only a single Workgroup for those who are building blocks and those who are placing items (like torches) - so in case the uilders were busy putting walls down, the torches were not built and therefore the diggers were not able to see anything getting a speed penalty.

So now there is a new Workgroup which divides Block Building and Item Placing and you the player can dedicate a villager to placing items OR just raise the priority for placing items, which solves the above issue.

More Crops

I've also added 2 new crops to the game - being pretty bad as an artist, they may not look perfect, but they will serve the purpose for adding more diversity. I've used only the ingame editors and found some things to improve them especially the material editor could need an overhaul to allow for more finer editing. While the corase 16x16 Auto-Grid-Alignment is fine for Block Materials it's not sufficient for smaller things like crops.

The game now also tracks the overall happyiness of the whole tribe, which is soon to be used as a needed stat to get more villagers. Bits & Pieces everywhere to come together step by step.

Bug Fixed

Also some minor bugs and Quality of Life changes were included, like tooltips to better show what a workgroup is responsible for and a fix, as the villagers did not always look in the direction they were supposed to :-)

The good old problem of Indie Game Devs

Still a quite big issue is the simple fact, that it looks like only very few people are actually interested in the game at all - Wishlist entries are very low. From a developers point of view, it's a bit like working on a very tasty hamburger, but only vegans are around .. keeping it going anyway is indeed one of the hardest things in Indie Game Dev.
« Last Edit: March 11, 2023, 05:56:49 AM by reiti.net » Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #5 on: March 14, 2023, 08:43:48 AM »

This time a pretty technical post, which I can't even make less complex by providing images :-D

How does Items/Materials work in Exipelago?

In Exipelago there is no simpel items. So one does not just make a completed model in blender, texture it and put it into the game - but one does create a mesh with general UV and then uses the ingame editors to put use into that mesh. The main reason for that is, that each item will get textured or "materialized" depending on what ingredient were used to build it. So an item defines itself to need wodden planks (of any sort) or raw stone or a stone block or whatever other item really.

When an item is actually constructed in the game, the item is created based on what ingredients were used in the first place. There is basically no limit on available wood types, so each tree type (can also be make in editor) spawns it's own type of wood which defines the general texture - every item made out of that wood now get's that defined texture by whatever the ingredient has defined. So every item is basically just a descriptor for a subset of items.

Turned out - that wasn't enough

Lastly I wanted to add vegetables to the game - and while a carrot and a potato bascically share their categorty, they do not share their visual representation (like it is for wood, a log is always a log). So while the editors basically allow for defining "sub items" directly - the game - or better - the internal item handler did not.

That's why I have to basically fully rework that handler to allow for that case as well - which is something I had in mind from the beginning anyway. Still in the process of testing and debugging, but at least coding should be finished so far and I still have to adapt the editor to integrate better with the new possiblities.
Logged

mobilelast
Level 2
**


View Profile WWW
« Reply #6 on: March 14, 2023, 02:47:38 PM »

I am currently not sure how complex those should be .. they could be really complex or they could be more simplified - not really sure, what players would prefer.
As it usually goes with simulations: as complex as possible. Smiley

This sure looks impressive! Just curious: from a technical standpoint, what was the first thing (kind of minimum viable product) you implemented? Did you start from AI, building mechanics or the environment? Selecting a good small starting point seems like a challenge for projects like this. Otherwise it can take years to get anything interesting done
Logged

Avaruustaistelupeli (ATP) - a space combat game
- Free download from itch.io or IndieDB
- Dev diary here
reiti.net
Level 0
**


View Profile WWW
« Reply #7 on: March 14, 2023, 05:38:30 PM »

from a technical standpoint, what was the first thing (kind of minimum viable product) you implemented?

The starting point was probably the engine itself, mainly the terrain (sliceable with zlevels), block/building mechanics, putting it all in a performant package, stres testing and such just to see what's possible - I expanded from there bit by bit - I actually did some progress videos back then about what first started as voxel engine without hardlimits (meanwhile there are hardlimits) .. wow that's some time ago and I think those videos are actually pretty bad :-D .. wow 3 years ago ..





I have to say, I took my time and I can't even count how often I threw away lots of code and make it new because something didn't work out the way I want it, so some parts I already coded multiple times .. so it's very iterative. I think I've rewritten the base engine 3-5 times (keeping the common bits of course)
« Last Edit: March 14, 2023, 05:54:29 PM by reiti.net » Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #8 on: March 17, 2023, 06:01:05 AM »

The biggest change in this update is without a doubt the overhauled Item Handler. While the player don't see a lot of it, this thing is basically responsible for loading all assets, structuring & rassembling them in a way so the game can handle it together with all possible material combinations and such - there is a lot of stuff going on behind the scenes to keep the game as open as it is.

The intial reason for that was, that until now it was only possible to define Items for multiple materials. This is fine for most items, as a table will just be a table but made out of different wood types, but as I added a carrot, I was not able to just define a "Veggie" any more, because a carrot does indeed look very different then a potato. So there we go, lot's of changes later, it's working, the Item Editor is adapted (and even better than before) and we also got Veggies now, woohoo!

As a consequent I also overhauled the way new Stuff is discovered - it's not totally finished yet, but already works better than before - Things made out of planks are not "discovered" before an actual plank is built and so on. It nowe also works better with materials, blocks and such.

For farming and planting you can still just use whatever is known to the game - this wont change before Trading is part of the game, because it would otherwise be impossible to aquire things that dont appear naturally on the island - so for now you can just plant everything Smiley

Stockpiles now do display proper Item names and some categories were missing from the games text definitions. At some point there will be localizations for different languages - at least for the base game content. That said - Content Creators (like those making their own items etc) may have to provide their own localisation files for that purpose (which is already possible but you'd need to supply your own .txt files for that, the editor does not expose those functions yet)

The internal Deploy Tool is basically what I use to assembly the final binaries which will be available on steam. It's all about copying files, but also making sure, that all assets I have testes internally make their way to the final version - was already time to adapt those things a little further so less issues can happen with me forgetting to add stock assets Smiley

And Farms now show each Growth State of the crops growing - some may find that handy to see how long a farm may still need to be ready for harvest

Oh yes - and there is now also a Gamma Correction Setting in the Games Settings Window. If you find your game to be too dark, you can adjust it there a little bit - this is not a final solution but hopefully will help with making everything look better.

I was also asked about changing the Water Color a little bit. I figured, that everyone may have a different expectation about how their water should look like, so guess what, you can now change the Water Color to whatever you like in the Game Settings. The Control for it is a bit fiddle tho, I admit.

That's basically it, some bugfixes were also made, so even tho, there were some very complex changes to this update, I hope everything is working as expected and no big issues appear - if they do, you know how to reach me. I'll fix any issue, as always
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #9 on: March 18, 2023, 02:44:13 PM »

I finally added autosaving to the game, something I was postponing for too long already. The game runs pretty stable but there is so many things that could happen - could be as simple as a power outtage and losing hours of building is frustrating. So now there is an autosave feature.

I asked in my little discord group if people would prefer having an autosave file or saving to the current savegame - with mixed results, so I added an option so the player can choose by himself.

Talking about things that could happen - since the EA Release there was regular issues with Alt-Tabbing in/out of the game when being in fullscreen mode or with fullscreen mode in general, so - again - I digged into the code and the underlying library to try and find the issue and I may have found some related things and after working them out I was no longer able to recreate any crashes due to fullscreen - so hopefully that's it. Needless to say, that those issues only appeared during release and not during debugger, which made the problem not easier to solve ..

The next thing I have to cover is reworking the Material Editor. The Item Editor works fine now and can do all the goody stuff, but the Material Editor needs some changes to be able to utilize the new possiblities and also make it fully interactive. Used by me or one exactly knowing how to do things is a bit different than making it accesible to a random user, so hopefully that change will help with that (but it should)
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #10 on: March 20, 2023, 01:21:32 AM »

Finally the rework of the Material Editor is mostly done.

What is the Material Editor?

In Exipelago basically everything is highly modular. So a material can base on another material. An example for this would be "wood". So one can create a new type of tree in the Tree Editor. This tree will also define the texture which is going to be used for this type of tree. This material can now be used for items or other materials.

In terms of materials this could be another block material like a plank wall - which takes another material as "parent" and defines a mask, overlay, heightmap etc on it's own. This means (in that case) whenever a new tree is added (by the player himself or by workshop items) the game automatically adds everything for this new type of wood, every item and every blockmaterial which is based on wood.

The editor features it's own pixel editor but can import 64x64 textures from a file or now also from the clipboard, which makes it easier to handle. For simplicity reasons the ingame Pixel Editor works on a 16x16 coarse grid and generates automatic noise on each 4x4 subquad - everything more detailled is better done in a proper Pixel Editor and imported to the game manually.
This is the main reason for the current "pixel look" of the game, it's just much quicker during development
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #11 on: March 21, 2023, 03:42:59 AM »

After reworking the Material Editor, I thought it may be time to recheck the games shaders. It was reported, that the game overall looks too dark and I wasnt fully satisfied with how some textures look and there seems to be an issue with the parallax mapping.

So the game uses a quite complicated system for sub light effects, so it will render basically in blueish tinted monochrome during night and ambient have to be refactored in a way, so the details on each material stay preserved even in dark conditions. This all works in combination of the actual light value for each field on the map (light distribution is simulated) So I reworked all of that and also added Half-Lambert to ease down the harsh contrasts, fixed the parallax mapping things and recoded the whole math around getting the final illumination value for each pixel.

For that to have all needed information I reworked the Sun Class itself to deliver several values to give the shader enough data to work on.

Talking about the Sun - currently the day is split into 12h day and 12h night. Which is basically alright, considering the game plays on a tropical islands which most supposely sit on the equator. The wrong thing about it was that the day started at 09:00 so I corrected that to 06:00

Another problem was, that the sun currently was treated as a single point - so whenever it came over the horizon it wasnt lit before that single point came over - in reality the sun is a body, and we can already see it, when it's center has nopt passed the horizon yet - so I added this and also factored in the curvature of the planet, so while the sun will not rise before 06:00 the world will see light before that happens - and maintains light until the sun is fully gone.

This had some issues, as until know, whenever the sun was gone it was switched to "a moon" and gave some moon shading together with slight shadows from the moon, which does not work any longer, as now the sun is "active" more than 12h and therefore cannot be switched to the moon in terms of shadow mapping .. indeed I would either make the moon move faster and be its own entity or stop rendering shadows during night.

I opted for the later, so shadows will fade out together with the sun and will not reappear until sun comes back again - this also gives some nive dawn with very long shadows, slowly fading in (and hide some of the flickers due to shadow mapping inprecisions in situations like that)

Will see upon user feedback when this update goes live if people like it - but I also want to rework some of th existing materials, as some of them does not look too good. Some materials just wont look nice in a coarse texture so. This is a bit of work to make more high res textures but I think its worth it
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #12 on: March 21, 2023, 01:43:31 PM »

v00.01.56 was just released!

Features:

* Complete overhaul Material Editor
* Better Sun Mechanic (more light hours + better transition)
* Many materials were reworked
* added some more Block Skins

Bugfixes:

* Couple visual fixes
* Pillar Shape had some visual glitches

Most of the changes I've already discussed in the last post, so now the changes are live and let's see what people think.

Next up will be most likely adding a CREATIVE MODE so players who like can just start this for pure building without any management or villagers
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #13 on: March 23, 2023, 06:58:24 AM »

Creative Mode is basically done and will be available in the next update.

It really is just that, basically Lego - no gameplay, no villagers, instant plotting of everything. Some may like it to just build things. At some later stage this may also serve as a scenario editor, map editor or for making prefabs to use in a real game (like construction blueprints for whole structures) - but that's not in yet and come at a later stage.

Technical wise some more QoL things were reported which I also made into the game and finally added MipMap Generation to the games Material System. Totally overseen that, as playing on 4K basically doesn't really need it, but I was made aware of it. This is all done on the fly, even in the Material Editor, which at first seemed like a huge bottleneck, but as I generate the MipMaps on the GPU, it turned out to have hardly any impact, which is nice. Can't try on systems with integrated GPU, but on those the whole game may be low on performance anyway - there is just too many things going on on the GPU - one reason why I have a medium sized island in the demo, so everyone can check performance right away.

Update may come later today, as there is still some testing needed (it's becoming very time consuming even with all automatisms I have already in place)

Talking about automatisms - as I work with multiple versions, I've some toolkit purely for checking deployment, prerequisites and dependencies .. as it became almost impossible to handle it manually - this also includes a little UI to check different asset states for the different versions. Maybe interesting .. it's funny how many things you have to consider when not using an established engine but make everything from scratch
Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #14 on: March 24, 2023, 07:28:19 AM »

Some hours ago the v00.02.00 update went live - beside some bugfixes and more QoL stuff, the main thing in it is the Creative Mode.

I may wanna try to do regular Update Videos to actually show the changes, as many of them have quite some things to show and it also may be helpful to showcase if some mechanics are changing



Logged

reiti.net
Level 0
**


View Profile WWW
« Reply #15 on: March 27, 2023, 03:24:44 AM »

The next update added another automation thing, this time related to wood production, so tree growing can now also get automated by the use of forestries. It's pretty straightforward and does not work to differently than regular farming, so not a lot to talk about.

I also overseen a mistake which made the tutorial not getting triggered - luckily I watched a stream and made aware of the issue, so it's fixed with that update together with some other findings.

A more technical aspect of the latest update is more the implementation of the Inspect Tool. While this is not really relevant from a gameplay perspectice it may be helpful to find any issue with the AI. It basically gives verbose information about a field. This can be useful if some item denies to take any orders to find out why that is, so it is more of a development tool but for some players it may be helpful to see if they can fix something on their own .. and if not, it's still helpful, telling me different things in case I cannot reproduce any error on my own.

Some more ingame information may be needed because of the partly complex nature of the game. It's often not too obvious how a specific item is crafted. Like to place a container, the container first have to be crafted and only then can be placed somewhere. If one does not know this, he would expect to just place a container and get it built there.

There is 2 options to solve this. First is adding some sort of ingame information system, where one can just check what prerequsities an item has and the other one would be to issue the correct crafting orders automatically. Which would be cool anyway.

The problem with option two still is, in case the crafting will start automatically, the correct workshop may still need the correct workbench & tools to do so - and that may be less obvious again .. so I am still tinkering about it .. maybe I do both ..
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic