Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411640 Posts in 69394 Topics- by 58449 Members - Latest Member: pp_mech

May 14, 2024, 06:55:09 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDesolus: A Surreal First Person Puzzle Game
Pages: 1 ... 15 16 [17] 18 19 ... 26
Print
Author Topic: Desolus: A Surreal First Person Puzzle Game  (Read 110221 times)
oahda
Level 10
*****



View Profile
« Reply #320 on: November 16, 2017, 01:21:12 PM »

… I saw this on Twitter but I didn't notice those fractals! Embarrassed Great sense of detail. <3
Logged

Ordnas
Level 10
*****



View Profile WWW
« Reply #321 on: November 17, 2017, 12:46:38 AM »

Amazing!  Shocked
Logged

Games:

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #322 on: November 17, 2017, 01:03:43 PM »

… I saw this on Twitter but I didn't notice those fractals! Embarrassed Great sense of detail. <3

Thank you! This will actually be part of the narrative of the game, more on that later!

Amazing!  Shocked

 Toast Right
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
io3 creations
Level 10
*****



View Profile WWW
« Reply #323 on: November 26, 2017, 03:35:26 PM »


When I saw that image, I did notice the fractals but somehow almost didn't fit the scene.  However, the full-sized image looks great. Smiley

Are the fractals part of the model or are those dynamically generated?
Logged

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #324 on: December 03, 2017, 10:36:16 AM »

Are the fractals part of the model or are those dynamically generated?

It's actually a fragment shader which produces the fractals. Those are *real* fractals.
Later I will probably replace them with a texture because it's expensive. It's mostly a visual placeholder for now.
The cut-out effect is a rendering trick, which takes advantage of ZWrite and rendering order.

As I mentioned previously, the destroyed structures and fractals are part of the game's narrative.
The narrative involves an inter-dimensional cataclysm which has left most of the world in ruin.
I'm still figuring out how to represent the narrative. I'm thinking it will be purely visual, perhaps in the form of murals.
 
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #325 on: December 03, 2017, 11:39:32 AM »

Update 130: 12/03/2017

---

WORLD LANDMARKS AND INTERCONNECTIVITY

One of my goals in designing the game world of Desolus is to create a sense of interconnectivity.

As such, I've spent the last few weeks reworking the world layout.
You will now be able to see landmarks and important structures in the distance.

For instance, here is the cathedral I've been working on, as seen from various locations.







Having visual landmarks accomplishes several design goals:
-Create a sense of anticipation: "That's cool, how do I get to there?"
-Facilitate navigation: "I can reorient myself based on that structure in the distance."
-Promote immersion: "This world all takes place in a cohesive 3D space."

The navigation in the game will be purely organic. There are no waypoints, no guided lines, you are meant to explore with your own intuition.
As there is no world map, it's very important for the player to be able to navigate based on the world alone.  
I feel this is the best type of exploration, you can discover the world at your own pace with a great deal of freedom.

It took a lot of work to refactor the world layout, but I think the long term design payoff is worth it.

---

« Last Edit: December 03, 2017, 11:49:36 AM by Mark Mayers » Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
io3 creations
Level 10
*****



View Profile WWW
« Reply #326 on: December 03, 2017, 01:31:46 PM »

Are the fractals part of the model or are those dynamically generated?

It's actually a fragment shader which produces the fractals. Those are *real* fractals.
Later I will probably replace them with a texture because it's expensive. It's mostly a visual placeholder for now.
The cut-out effect is a rendering trick, which takes advantage of ZWrite and rendering order.
Nice.  Could be useful for creating real time fractal growth though.  But as you mentioned, it's expensive so it would need to be limited to less expensive scenes.  Maybe in some scenes are connected or perhaps part of the narrative.



As I mentioned previously, the destroyed structures and fractals are part of the game's narrative.
The narrative involves an inter-dimensional cataclysm which has left most of the world in ruin.
I'm still figuring out how to represent the narrative. I'm thinking it will be purely visual, perhaps in the form of murals.
That's an interesting idea with a few interesting aspects.  For example, who created the murals?  In Journey, since it's based on linear time and single location, it's obvious.  In your case, would it be inter-dimensional character who tried to document what happened.  Or it could turn out that it was actually you i.e. another timeline version of you.   After watching Timecrimes (2007), I've been wondering how to create something like that in a game.  Grin

Also, if there's a strong sci-fi aspect, I might imagine something more "science fictiony" i.e. instead of murals, some kind of holographic projection.  Or if you use walls, the wall could "come alive" by the animation "morphing out" of the rock/stone walls.  Of course, that's just my ideas based on my current limited ideas about the game.


For level or building design ideas, have you seen:


Logged

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #327 on: December 14, 2017, 03:45:06 PM »

Update 131: 12/14/2017

(Brief non-game update, but still relevant to development)

Started a new day job / contract this week, my old contract at MIT expired after I hit 3 years.
I'll be working part time again to finish Desolus. I do the 30hr / 30hr split between day job and game development.

There was a month lapse between contracts, so I've been working full time on Desolus for the last month.
I got a *ton* done in the past month, but productivity will probably slow down for a bit until I get acclimated to my new job.

Unfortunately the indie game market is extremely volatile, and I can't afford to go 'full indie.'
It's impossible to make a game full time unless you're independently wealthy, or borrow money.
The reality is games are expensive, difficult, and incredibly risky to make.

However, here's to hoping Desolus will be financially successful so I can make indie games for a living!

---
« Last Edit: December 14, 2017, 07:35:04 PM by Mark Mayers » Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #328 on: December 14, 2017, 03:49:53 PM »


That's an interesting idea with a few interesting aspects. ...

Also, if there's a strong sci-fi aspect, I might imagine something more "science fictiony" i.e. instead of murals, some kind of holographic projection.  Or if you use walls, the wall could "come alive" by the animation "morphing out" of the rock/stone walls.  Of course, that's just my ideas based on my current limited ideas about the game.

Desolus is kind of a cross between science fiction, surrealism, and 'weird fiction'.
I'm sure the final implementation of the murals will be something similar to what you described!

I haven't fully planed out the mural system, or implemented it in any way.
However! I plan on there being some form of environmental narrative.

For level or building design ideas, have you seen ..

That's super cool!

Currently most of the architecture in the game is modeled by hand with a parametric modeling program.
However, all of the shaders I've posted for the architecture are gray-box placeholder.
I intend on doing something creative with those architecture shaders.  However, I've been focusing exclusively on design the last few months.

Definitely send me cool reference like this though! It's important to expose yourself to interesting creative material as much as possible.

Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
io3 creations
Level 10
*****



View Profile WWW
« Reply #329 on: January 09, 2018, 05:51:15 PM »

Desolus is kind of a cross between science fiction, surrealism, and 'weird fiction'.
I've explored a little the authors mentioned (still on my TO DO list), but that label fits perfectly. Grin


That's super cool!

Currently most of the architecture in the game is modeled by hand with a parametric modeling program.
However, all of the shaders I've posted for the architecture are gray-box placeholder.
I intend on doing something creative with those architecture shaders.  However, I've been focusing exclusively on design the last few months.

Definitely send me cool reference like this though! It's important to expose yourself to interesting creative material as much as possible.

Not sure if you're familiar with the Demoscene, but a few videos come to mind that would fit the abstract theme:






https://www.youtube.com/watch?v=vF-eVnqq-bw
https://www.youtube.com/watch?v=pmw87w7i6rQ
https://www.youtube.com/watch?v=iIZy7mWLi08
https://www.youtube.com/watch?v=SQngoCBvq3Q

Looking at the thumbs, there are many more that I haven't seen yet.  Last time I visited was about a couple of years ago. Smiley


Another video that came to mind is Carl Burton's "Shelter".




Actually, I found his "game" ISLANDS: Non Places  first.  It's on Steam, but there isn't really a lot of actual "game/interaction" so it's quite similar to just watching a walkthrough on YouTube.  It's worth a watch though, but some parts could've been expanded much more.  Or, as you mentioned about exposing ourselves to creative materials, those ideas may plant seeds in us. Smiley

Oh, his tumblr is worth a look for similar themed gifs.
« Last Edit: January 09, 2018, 06:18:24 PM by io3 creations » Logged

PsycheMac
Level 1
*



View Profile WWW
« Reply #330 on: January 09, 2018, 08:02:19 PM »

Nice.  Could be useful for creating real time fractal growth though.  But as you mentioned, it's expensive so it would need to be limited to less expensive scenes.  Maybe in some scenes are connected or perhaps part of the narrative.

If you have the ability to actually compute the fractals and manipulate them, this is what I would love to see in some scenes as well. Might as well take advantage of that tech if you have it.
Logged



Twitter: @PsycheMac
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #331 on: January 10, 2018, 03:31:17 PM »

Not sure if you're familiar with the Demoscene, but a few videos come to mind that would fit the abstract theme:

Oh, I'm definitely familiar with Demoscene! I haven't done any events in person, but I frequently check out videos which are produced.

Another video that came to mind is Carl Burton's "Shelter".
Actually, I found his "game" ISLANDS: Non Places  first.  It's on Steam, but there isn't really a lot of actual "game/interaction" so it's quite similar to just watching a walkthrough on YouTube.  It's worth a watch though, but some parts could've been expanded much more.  Or, as you mentioned about exposing ourselves to creative materials, those ideas may plant seeds in us. Smiley

Oh, his tumblr is worth a look for similar themed gifs.

I actually met Carl Burton at GDC last year, at the IGF booth. I played ISLANDS for a little bit, and it was intriguing!

Nice.  Could be useful for creating real time fractal growth though.  But as you mentioned, it's expensive so it would need to be limited to less expensive scenes.  Maybe in some scenes are connected or perhaps part of the narrative.

If you have the ability to actually compute the fractals and manipulate them, this is what I would love to see in some scenes as well. Might as well take advantage of that tech if you have it.

For sure!

Here are some of my previous experiments with real-time fractal generation:





---
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #332 on: January 10, 2018, 04:09:17 PM »

Update 132: 01/10/2018

MAGFEST 2018



Last weekend I showed at MAGFest, as part of the Indie Showcase.
This was my second MAGFest, my first being two years ago when I showed an earlier version of the game.

This was the first time I showed the game publicly for almost 9 months, the last being GDC.
I won't be doing an in depth retrospective, however, here's a short one.



PROS:
-Desolus was nominated in two categories for the MIVS awards: Best Art, and also Best Music!
-Retention rate for the demo was almost 90%, despite the demo being almost 30 minutes long.
-People remembered Desolus from two years ago, and specifically came by to play the game.
-Went with a minimalist booth set up, which was considerably easier to manage than two years ago.
-The overall reception of the game was fantastic.

CONS:
-It takes several weeks to recover momentum after showing at a convention.
-MAGFest is somewhat expensive if you fly and stay in the Gaylord Hotel.
-There is virtually zero press coverage at the convention.
-I had to show solo for four days, since my friend who volunteered to help got the flu.
-I got the flu...

MAGFest was a pyrrhic victory this year, as manning a booth for 4 days solo is exhausting, and the flu is hell.
However, everything regarding the game itself went great, which is most important.

---

Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #333 on: February 10, 2018, 04:30:25 PM »

Update 133: 02/10/2018

TERRAIN SYSTEM REVAMP

If you've ever used the Unity terrain system, you'll know the workflow, performance, and quality is awful.
Previously, it would take me about 30 minutes to convert my levels from block mesh to terrain.
This was an arduous process which produced sub par results.

I decided to take time time to automate my terrain creation process, and also improve its artistic quality.

---

IMPROVING TERRAIN QUALITY, WITH STATIC MESHES

Previously, I was using height-maps and simple primitives to create my prototype terrain.
This suited the purposes for level design, but for actually creating terrain that looked decent the result was poor.
The terrain didn't actually look like terrain, it looked like simple shapes with procedural noise applied.

Pictures: Block Mesh, Old Converted Terrain



I researched extensively on procedural algorithms to remedy the terrain's quality.
However, I came to the simple conclusion that my block-mesh which I was converting from simply wasn't good enough.

I decided to assemble levels with a combination of height-maps and static rock like meshes.
The results ended up considerably more visually appealing.

Pictures: Static Meshes, Static Mesh Overdraw



For a while I thought of abandoning Unity's terrain system entirely, and only using the static meshes.
However my new static-mesh based terrain created a considerable amount of overdraw and wasted rendering.

Eventually, I plan on writing my own terrain for Desolus, as the current Unity terrain still has lots of issues.
I researched many alternatives, hoping I could abandon Unity terrain entirely.

However, I decided the best approach for now was to write a sophisticated tool to convert my static meshes into Unity terrain.

---

AUTOMATING TERRAIN CONVERSION

For conversion I previously was using the 'Object2Terrain' C# script, which is a free editor script.

This is great for a free tool, however this has some problems:
-The script only supports one mesh, and the static mesh terrain is composed of many meshes.
-It autosizes your terrain to the bounds of the mesh, meaning terrains never have the same resolution.
-It operates off of raycasts, which aren't great for quality conversion
-If you need to set additional parameters for your terrain, you have to do this manually.  

I'll go through how I fixed the major issues.

It Only Supports One Mesh:

The default script determines the dimensions of converted terrain with the mesh's bounds.
By default, this does not include children meshes and therefore only supports a single mesh.  
In order to support multiple meshes, you can encapsulate the bounds of children meshes into a single bounds object.



Consistent Terrain Resolution:

Unfortunately, Unity's terrains only support resolutions which are powers of two. (Ex. 256, 512, 1024).
The default script behavior would scale the terrain based off of the mesh bounds. However, resolution would always be a power of two.
This lead to an inconsistency in the quality of terrain, based on the difference between their resolution and size.

The solution to this problem was to fix the raycasting bounds based on powers of two, and set both the terrain's size and resolutions to the same value.
This can be determined with logarithms and base shifting.



Improving Raycast Quality:

To convert from meshes to terrain, the script relies off of raycasting.
This is an intuitive approach, however it creates precision errors which result in jaggedness of terrain, as you can see in the picture below.  

A solution to improving raycast conversion quality is through super sampling the raycasts.
By this, I simply mean make more raycasts than needed (such as a factor of 8x).
Afterwards, average adjacent raycasts together when creating the terrain's height map.

To further improve quality from converted terrain, I used an erosion simulation with terrain toolkit.

Pictures: Raycasting Error, Super Sampled Raycasting w/ Smoothing



---

TERRAIN RESULTS

This process creates drastically more appealing and natural looking terrain, which is actually of higher quality than the original block mesh.  
Conversion from static meshes into terrain seems to be an ideal method in creating appealing results.
This was a major victory, as terrain looks considerably better and workflow is vastly improved.




---

REPLACING THE UNITY GRASS

In addition to improving my base terrain mesh, I also created a tool and shader for procedural grass.
The default Unity grass is expensive, ugly, and needs to be manually painted. Therefore I sought a replacement system.

I researched various ways to generate good looking grass, taking inspiration from games like Flower and Breath of the Wild.

Pictures: Grass from Breath of the Wild and Flower



In my research, I came across this Dx11 Grass Shader which I used as reference for writing the Desolus grass.
The Dx11 grass shader was an excellent start, as it's a high efficiency geometry shader which produces great results.

However, I had two problems with it:
-The workflow is relatively poor, as it requires manual painting of grass in an unintuitive way.
-I had to rewrite most of it to fit with the game's art style, lighting, and alternate dimension mechanic.

For both the Unity grass and this Dx11 grass shader, a detail map is painted on the terrain, which determines where grass grows.
I wanted a procedural solution as I spent a considerable amount of time painting grass, which is a waste of effort.
My solution to this was writing a tool which generates a procedural quad mesh to render grass.

The mesh is generated by raycasting the terrain at fixed intervals, and sampling the normal of the terrain's height to determine a valid position.
A position is valid if: the normal is below a certain angle, there's no architecture or other obstructions, the grass is above sea level, etc.
If the raycast returns a valid position, a procedural quad is placed with the grass shader. To save resources, the quad meshes are combined into chunks.  

Picture: Debug view of Grass Raycasts



After I finished with the procedural quad meshes, I went on to rewrite the grass shader to fit Desolus.
This involved rewriting with my own custom lighting and shaders, for a consistent art style.
The most complicated aspect was getting the alternate dimensions working with the grass shader, but that's a discussion for another day.  

The Final Grass Results!



The shader turned out quite well, and performs considerably better than Unity grass.

---

CONCLUSION



The terrain system still has a few issues which I need to fix, such as level of detail, performance, and proper occlusion culling.
However for the time being I'm very happy with the results. I vastly improved my terrain creation workflow and quality.

---
« Last Edit: June 27, 2020, 09:27:06 PM by Mark Mayers » Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Lares Yamoir
Level 0
***


View Profile WWW
« Reply #334 on: February 10, 2018, 06:13:23 PM »

Browsing through the thread for the first time. Screenshots are quite compelling. Best of luck for the release Smiley.
Logged

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #335 on: February 10, 2018, 07:01:32 PM »

Browsing through the thread for the first time. Screenshots are quite compelling. Best of luck for the release Smiley.

Thanks Smiley  I still have a while to go before release, haha.
 
This project was originally experimental and has been several different 'games' (see here).
However, over the last 6 months the game has been really coming together. I have a clear vision going forward.
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #336 on: March 02, 2018, 06:54:22 PM »

Update 134: 03/02/2018

A brief update with some content I've been working on.

---

GAMEPLAY GIFS



Showing the effect when architecture is swapped between dimensions.

---

BLACK HOLES



I've been experimenting more with my gravitational lens shader.
I was inspired to create a surreal scene where a black hole pulls architecture into the ocean.

The black hole is also inverted in the alternate dimension.  



---

SCREENSHOTS





---

« Last Edit: June 27, 2020, 09:28:52 PM by Mark Mayers » Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Ordnas
Level 10
*****



View Profile WWW
« Reply #337 on: March 06, 2018, 01:06:22 AM »

Wonderful effects, congratulations! There are some allegoric behind these effects, or else?
Logged

Games:

Mark Mayers
Level 10
*****



View Profile WWW
« Reply #338 on: March 10, 2018, 05:07:08 PM »

Wonderful effects, congratulations! There are some allegoric behind these effects, or else?

Thanks! Smiley

The metaphor I'm conveying involves black holes, white holes, and alternate universes.





This is an artistic interpretation, but:

In Desolus, the parallel universes are inversions of each other linked by black holes and white holes.

White holes are a (very theoretical) mathematical inverse of black holes, and would function identically if time flowed backwards.
If you travel through a black hole, on the other side is a white hole, and a universe where time flows in reverse.
The dimension gates in the game are essentially Einstein–Rosen bridges.

I wrote about this a while ago, describing how the alternate dimensions in Desolus are temporally inverted.


« Last Edit: March 10, 2018, 05:15:53 PM by Mark Mayers » Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Mark Mayers
Level 10
*****



View Profile WWW
« Reply #339 on: March 10, 2018, 05:41:54 PM »

Update 135: 03/10/2018

Some weird ideas for mechanics, which have been simmering in my brain for a while.







---
Logged

Desolus Twitter: @DesolusDev Website: http://www.desolus.com DevLog: On TIG!
Pages: 1 ... 15 16 [17] 18 19 ... 26
Print
Jump to:  

Theme orange-lt created by panic