The Heart

It’s a bit difficult to explain what this project is all about.

For many years I’ve been doing mostly still image artwork, and during the time of creating one of those still images, I had an idea that it would really be cool to actually be able to experience what was taking place in the image instead of only having the still image. One thing kind of led to another as I had ideas for things, and I realized there were a whole bunch of ideas I have had for images, and other things I enjoy doing, like playing music, painting, coding, that were all kind of converging and could fit together into this one single work of art. It’s really turned into a whole new way for me to do artwork.

Although I’m using a game engine to create it, I’m not really trying to create a game. I’m more trying to create a painting that you can walk inside of, very much what being out in nature is like in the real world. So I guess in the end, the game engine is like a paintbrush, and I’m not necessarily trying to make a game, but a piece of art that is experiential.

Since it’s not something that I’m planning on trying to sell, I thought it would also be fun if you could play the game while I’m making it, so you can find the link to the working game, or artwork :), here:

Purpose of the Project
To tell a little about the purpose of it and the core of what it’s about, it’s a work of art that is all about the heart and having an open heart versus having a closed one, but since it’s experiential, I really just want to make something that opens your heart while playing it and maybe even brings a bit of healing or respite from the difficulties in life, if that’s possible. I think in the end, being able to have an open heart and knowing that we are truly loved and accepted as we are, that we are okay, is what we all long for the most, but can be one of the most difficult things to keep and accept, because it makes us vulnerable to being hurt again. But it’s also one of the most important things to have in life and effects everything we do. This whole idea of the heart changing is central to what this game is about. Love coming in and flowing back out again, and that when the heart is closed off, it blocks the love from flowing.

For me, it was Jesus’ love that opened my heart and keeps on opening my heart each day. His love has changed who I am as a person, and I don’t really even know how to describe what it means and the reality of His realness; but when you really encounter, not a religion, but the existence of this person Jesus in your life, everything changes. There is know way to ever go back to an existence without Him, and He’s as real as someone standing in front of you. It’s like, my goodness, He’s real and alive, and what’s more, He completely knows me, yet loves me so deeply, and I’m worth so much to Him. A lot of days, it’s really tough to keep my heart open with all the difficulties that come in life, and all the things that come from all of us interacting with each other, but that’s just kind of the way life is when we have free choice to hurt or look down on each other. Yet, in spite of those things, I know everyday that I am forever accepted and loved by Him just the way I am, and that love has a way of opening my heart again. It’s why He gave His life on the cross was because He loved each of us so much.

As the prophecy that was written about His death seven hundred years before He came says, “Surely He took up our pain, and bore our suffering, yet we considered Him punished by God, stricken by Him, and afflicted. But He was pierced for our transgressions, He was crushed for our iniquities (sin or evil we do to each other); the punishment that brought us peace was on Him, and by His wounds we are healed. We all, like sheep, have gone astray, each of us has turned to our own way; and the Lord has laid on Him the iniquity of us all… After He has suffered, He will see the fruit of His suffering, and will be satisfied; by knowledge of Him, My righteous servant will justify many, and He will bear their iniquities.” (Isaiah 53:4-6, 11, with footnotes) It really was His incredible love for each of us and His heart’s desire to bear the consequences of our evil so that we could have eternal life with Him, if we choose to be with Him, and it pleased Him to go through what He did, looking back upon what He had done and being satisfied. It just always makes me so sad though that so many people miss out on getting to really know Him in their lives, Christian and non-Christian alike. They don’t know what they’re missing out on :). He really is the one who everyone is searching for, if they would only ask to know Him and make Him the ruler of their hearts, but that’s another story :).

To get back to the main topic though, really the entire CG industry is based around all of us wanting to be loved for something that we’ve made. It’s one of the things we all long for the most in life. For me, it’s such an absolutely wonderful thing to wake up everyday being loved by God. To know that you are loved so completely changes everything in life, and I guess it just seems like, out of all of the things we live for in life, if there is anything I would like to do, it would be to be a part of opening someone else’s heart to be able to care and love again and, in some way, know that they are loved as well.

This rather old interview with someone explains this heart change quite well too: God Held Me & Changed My Life Forever! | Jack Frost - YouTube

And that’s it really; it was a bit long, but now you know why I’m making it and what it’s about. [HR][/HR]

Things in the Artwork Already
Real-time seasonal transitions
Real moon cycle
Real day/night cycle based on latitude
Teleporter room to travel around the landscape
Wind movement in sync with audio

Latest Screenshot or Video
Aspen Groves with new Aspen trees:

Calm wind:

Teleport Room:

Previous new feature videos can be found here:

and here:…qFls7HRpY5xgl1


[FONT=Helvetica, serif]

[FONT=Helvetica, serif]

[FONT=Helvetica, serif]


Poem at the Heart of the Project The heart is such a fickle thing, the way it seems to mirror what’s been put in.
Even mirroring the things we hate, when shouldn’t we want to become the opposite?

Yet I find that, as others bring pain to me in the coldness of their hearts, my heart cares less and brings pain to others, and that which I hated so much, I have become in other’s eyes.

It is said that we should love our enemies and bless those who hurt us.

Is there any other way to live?

If I give pain for pain, am I not just the same as them?
And if I am the same as them, can I ever be against them?

But can I ever love again?

The risk of pain can be so great,
and what I need the most I run away from.

To open my heart and give.

But this heart must come alive, to let love in and breath again.
For if I am to love again, I must first let love in.

So let the doors fling wide, and let my heart beat again
To let your love flow in and flow back out for others

For that is true life, when my heart beats and love flows through.

I do not always get to choose the things that happen to me, but I can choose who I want to become and the heart I want to have.

So who do you choose to be?

Inspiration for the Project
If you would like to go deeper and read about the philosophy behind the artwork, as well as the inspiration for it and the game’s story mentioned below, you can read all about it here:

Music in the Game
Just a short word about the music, so far all of it has been done by me, but for the most part, they aren’t actually composed songs, just music I play spontaneously. Even though it is spontaneous, they usually do still end up sounding very nice, for the most part, and it’s always really neat to see the kinds of songs and melodies that come out. I think so far the piano sessions have turned out the best. Also, it’s not the best of audio quality since I only have my laptop’s mic to record it with.

You can find some of the music on SoundCloud here: Stream ArtOfLight music | Listen to songs, albums, playlists for free on SoundCloud…iano_session-4

Things I could use help with
Right now, the main thing I need help with is just testing it while I’m creating the game, and letting me know how well it’s running. I try to heavily test everything out as I go along, but I’m still not going to find all of the bugs. So it would be great if others could test it out and let me know if they find anything, or even just let me know how well it seems to be running on their computer. [HR][/HR]

Game Design Document

Here you can find out more about what I plan to add to the artwork, and check in to see where the overall game is headed. As I have ideas for things, I’ll be updating things below and in this folder here:…S6NOnVx2a?dl=0
You can read more about the story there as well.

Story in the Artwork
I’ve had ideas for a story and puzzles to solve that I’m hoping to have in the game (eventually :slight_smile: ) that you might stumble upon while playing it, but it’s not the main purpose for playing, just something that enhances the experience of the art.

I don’t have any details worked out for it, but it would be something along the lines of that you are inside of an older person’s memories, going back through time to different events and things that took place in his life that closed down his heart and made him into the person that he is now, and as the story progresses, the person would be working through all of the emotions around those events in some way. I had already planned on having several different houses in the game, but basically each house would be a place that this person lived in through his life, and you would go back in time to certain dates when the person lived in this house and solve puzzles that would be for that specific time period that would reveal a part of his life story, and work through opening his heart again in a certain area of his life. With having seasons, latitude, and a realistic sun position, I think it could also make for some really interesting puzzles having to do with time and where the sun or stars would be at certain latitudes and times of the year. Also, just a really interesting environment being able to change the ent[SIZE=12px]ire look of the map with different seasons or even what direction the shadows are going in.[/SIZE]

Overview of the areas in the map
I thought I would try using SketchFab as a visual game design document, so here you can see the entire map as I have it so far and what I’ll be working towards in each area.

If anyone has ideas for improvements, I would be glad to hear about them :slight_smile:
As a note, SketchFab seems to run quite slow in Safari, so if you’re using it and it’s going slow, Firefox works much better.


Free Resources
Last but not least, here is a folder I started containing any free resources or explanations for how some things are created in the game that I thought might be useful for people. Right now it only has the explanation for how the seasons work, but eventually it will probably be quite full of things as more of the artwork gets developed:

That’s everything with the artwork/game, so enjoy :smiley:

Just to bring it up to date, here is the latest update showing some of the things I have added, including some more features for the music, the first ground texture made for the game, and for now, just a basic day/night cycle.

For some reason it won’t let me insert a video, so here is the link to it:

It took quite a bit longer than I expected to make the first ground texture that will be used for the pathways, but at least now I’ll have a system for creating the other ones that should make it go faster. The great thing was that I was able to create a seamless texture from scratch in Blender, so it should also make for a good base in creating the next textures. Here are how the models look in Blender:

I think for the next updates, the plan is to try to fully make one small area and get all the different systems like rain and wind working for that area. Then, as I’m making the other areas, I’ll have most everything worked out already. The next thing I’ll be working on is creating the first aspen tree. I’ll be sharing the first part of that within the next few days.

I just wanted to give a small update on how the aspen tree is going. The first bark texture is sculpted and painted. It will be a bit higher resolution once it’s in the game.

With the aspen tree, since the bark is so distinctly different in different areas of the tree, I’m planning on doing three different sculpts for each type of bark, then combine them in a texture atlas and use vertex colors as masks when they are on the tree. That way I should be able to get a large amount of variation in each tree while still only using three sets of textures, but I’ll have to see how it goes… It will also help take away some of the tiling. The only other way I could think of to do them would be to do a different sculpt and painting for each tree, which would end up being quite a few more textures in the end. If anyone else has ideas for what they’ve done in this kind of situation, feel free to expound. :slight_smile: I may not use it for this tree, but it would be good to know for the future if there is a better way.

Next update is done!  I have the second bark type sculpted and painted.  I’ll show some other kinds of peeled bark when the other aspen trees are done.  I also have the trunk in the game with the method of mixing the barks all figured out.  I’m using a combination of the vertex groups and an image texture to do the masking.  I think there are a couple things I’ll change in the sculpts, but at least everything is in there and working.  I’ll update the download files later when I have a few more things done.


One thing I wanted to share that I thought could help somebody else, and I thought was pretty cool at least, is I figured out a way to be able to create two masking images in just one image channel. So with an image that has an alpha channel, I would be able to get a total of 8 masks instead of the normal 4. The way it’s done is by first filling the channel with a solid color that will be 50% grey when it’s used as a mask. This will split the image into two images. Just as a note, I guess probably something to do with color space, but in Krita, I had to use a luminance value of 25 instead of 50 to get a result of 50% when the channel is used as a mask in Unreal. Then you just use a value that’s above 50% grey for one mask, and below 50% grey for the other mask. You can see it below, but when in the editor, just subtract .5 which will make the grey and anything under it a value of 0 and anything above it 0 to .5. After this, clamp the values to cutoff what’s below 0, then multiply by 2, and voila the texture will be a value between 0 and 1. To use the other mask, you just invert the texture first, then follow the same steps. It wouldn’t work for everything because you basically have half the amount of histogram color values, but for using it as a mix between two different textures like I’m doing, I haven’t been able to tell any difference. It would also work well for blending things with vertex colors, since you could go beyond the 4 vertex color slots.

I’ve also been working on implementing all of the sun and moon calculations in Kleiner Bear’s complex day/night cycle seen here: null - YouTube When I’m done with that I’ll add a way to make it so the user can rotate the game’s compass to be able to change where the sun rises, change how long the day is, and make a way to change what latitude the environment is at, making for some interesting and varied sun rotations, like at the polar circle. It will also be nice that the lighting will be changing throughout the year instead of just the same lighting every day. I’m also planning on trying to implement a way for seasonal changes to occur with the vegetation depending on which season it is. I already have some ideas for doing that, but I’ll have to see how it goes.

I can sense huge efforts !
Wish you a good luck, it looks amazing.

Thanks a bunch Alaa Ben Fatma! I really appreciate the encouragement. Yes, it’s definitely been a loooottt of sculpting work, but it has been quite a fun adventure as well :slight_smile: It’s fun getting to create something that feels a bit more alive than just a still image.

The last bark sculpt is done! For this last sculpt I’m using it as kind of a kit-bash texture where I can use the vertex groups and an image mask to add or take away those black areas that the aspen bark has. It’s funny after doing this one to look back on that first sculpt I did and to see how undetailed it was, when at the time I thought it was looking nice. I suppose that’s what happens when you’re learning new things.:slight_smile: To show where it’s mixing, the circles on the image below go a little bit above where the mixing of textures is happening.

I also had an idea for the way the texture is UV mapped that almost completely takes away any signs of tiling, just by switching where the seams start. You can see how that looks in the two images below. The line on the side shows where the texture ends and repeats again. The idea was that at the point the texture would have started tiling going up the tree, the cut for the UV seam switches to being on the other side of the tree. So it basically rotates the texture so you see the part of the texture that would have been on the other side of the tree. I had only thought of doing this after I had done the sculpts and painting, so there is a barely visible seam, but it’s fairly high up the tree and can only be seen really close up to it. I circled the seam in the image below. Although, for the next tree type, I’ll hopefully be able to create the texture with that in mind and take away that seam.

There was one thing I found out that I thought I could share because it might be helpful to someone. I found out Blender works really well for creating Texture Atlases and being able to cut up textures automatically without having to go in an image editor every time something changes, cut it, then recombine it in the texture atlas. With the way I have it set up, it also automatically creates a 2, or however many pixels, padding or bleed edge around each texture so there aren’t any visible seams in the final model. It’s a bit of a strange workflow, but the results are really nice and makes having to change anything in one of the textures pretty simple.

The way it works is that I set up some rectangular planes that you can see in the image below, with one centimeter equaling one pixel in the final image. This way you know exactly where each pixel of the texture is going to be in the final image and makes things a bit easier when doing the padding around each texture that I talk about below. Each separate plane will equal one texture or a part of a texture in the final texture atlas.

Next you line up each of the model’s UVs with the texture you want assigned to that model. So with my bark textures that are 2048 x 8192, I want to split each one into two in order to recombine them and make a square texture of 4096x4096. To do that I set the UVs for the plane at the top left in the image above, to be the bottom half of my 2048 x 8192 texture, and the one right next to it on the right side to be the top half of that texture. Then I apply the texture onto the model using an emissive shader in the materials. To get the final texture, I just set up a camera set to Orthographic mode with the edges of the camera lined up with the edges of the large plane that represents the edges of the texture atlas. Then I just do a normal render of the models at whatever resolution I made the models to be, in this case 4096x4096, and turn off anti-aliasing so that the two pixel border around the edges talked about below won’t get blurred.

To get the two pixel padding, you just inset a new line of vertices 2 cm from the outer edge, or however much of a pixel padding you want to have, on all sides, but leave the UVs on top of each other. Hopefully you can see what I mean in the images below.

What this will do is stretch the texture when it’s applied on the model, but it will only stretch it on that outer edge, leaving a padding of 2 pixels that is almost the same color as the pixel right before the UVs start to stretch the texture, which takes away any seams on the final model. The close up result can be seen below.

Hopefully all of that makes sense. :slight_smile:  The really great thing about all of this is that it automatically cuts and pads any of the textures. So if you need to adjust something in one of the textures, all you have to do is make the adjustment, update the texture in the object’s material, then just do a quick render of all the texture atlas models together.  It’s really been a nice system so far for making texture atlases.

I also figured out a way to use just one material for all of the objects and have the textures be applied to them using some object masking techniques, but this post is already rather long, so I thought I would share it in the next update. Normally you would have to use a different material for each texture in the atlas since each plane needs a different texture and then change the material on the plane for each type of map, but I found another way that makes things a little simpler.

Next update I’ll be working on the leaves for the tree, and I’ll have an updated file with the sun and moon in the game!

Just wanted to do a small update on the game. There are new game builds that can be downloaded, so you can try things out for yourself, but the sun and a preliminary moon are in the game now with controls for the latitude, length of day, and the rotation of the game’s compass. I did a recording of the changes below, complete with the rather interesting polar circle sun rotation :). Right now the game’s calendar is set to be in July, so the sun’s position will be a bit different from what can be seen outside right now. I’ll have it so the user can set the calendar in one of the next updates. You can also see the trunk of the Aspen tree in the game if you play it.

One other exciting thing is that I was able to figure out the system for doing Winter to Spring seasonal transformations on the leaves using two mask textures that, combined, will make it look like the leaves are growing from the branch over a period of weeks. I’m not done modeling the leaves and branches that will be baked into the final texture, so I don’t know for sure how it will look in the final texture, but I have been testing it out on the models in Blender, and I’m pretty sure it will work all right. I really give the glory to God on this one if it does. :slight_smile: I’m just not that smart to figure it out on my own. :slight_smile:

Lastly, here is the rest of the previous post that shows the material setup I used that made it easier to create the texture atlases in Blender.

Here is how the overall material looks:

and here is one section of the material that is duplicated to the other sections:

and here is what is inside the node groups:

The basic idea for it is that it creates a mask for each texture by using the Object’s ID number. So each time a different texture is added to the texture atlas and applied to one of the objects talked about in the previous post, you just assign a different ID number to those objects with that texture. Then in the material, the Object Info node is able to retrieve all of the ID numbers for all of the objects.

One downside though is that, because the Object Indexes can only be integers, all of the objects will be white if you use the node directly since they are all over one. So, in order to use it, you have to isolate the objects that have the number you want to use by using the node group in the second image above. Basically it leaves any values greater than or less than the value you want black, then multiplies them together, leaving only the objects with the ID you want as white.

It’s fairly self explanatory if you try it out, so I won’t go into the details, but one important thing to remember is that you’ll want to have the incoming value you want to isolate a little bit less than the value you want. So if you want the objects with an ID of 2, you’ll want to use a value like 1.9. This way the only numbers that are left white are the values between 1.9 and whatever value comes out of the add node in the node group, which would be 2.1.

The great thing about it is, once you have all of it setup, all you have to do to pass a change from one of the textures to the final texture atlas is hook up the appropriate set of nodes for that texture atlas, like normals, diffuse, etc., and click on render.

I guess that’s it. On to the next adventure!

Next update is done! I’ve mostly been working on going over the landscape again and trying to finalize everything as much as I could before I would start adding vegetation to it. Also worked on taking a lot of the large noise out of the high poly sculpt and getting the larger forms more defined. You can see a before and after below. Next thing I’ll be doing with it is cutting it up into tiles and using the Dynamic Topology sculpting mode to polish it a bit more. I think it should work well as a way of creating the final landscape meshes because I can have more vertices in the areas that need more detail, like the cliff edges and streams, and less vertices in the rest of the landscape.

I also thought I would try using SketchFab as a bit of a Game Design Document for the environment. That way everyone can see the bigger picture of what’s going to be in the environment and what goes where, and I’ll be able to update it as the game progresses. You can read more about it in the For You the Viewer section of the description, but I thought it would also be a good way for others to be able to give ideas for what could be in the different areas. I was able to get a little bit of a day/night cycle in there as well when the animation is turned on, but if it’s running to slowly with it there, let me know and I’ll take it off.

(I wasn’t able to embed it, so here is the link)

I’ve also updated the first post with some other new things, as well as a list of things I’m planning to add to the game. So take a look and let me know what you think.

Lastly, you can see the progress I’ve made so far on the aspen branch that I’ll bake to a plane below. I’ve finished creating the branch and right now I’m working on modeling and putting textures on the leaves. I thought I would model 6 unique leaves altogether, then arrange them into several different bunches for each direction that the end of the branches go in: up, down, sideways, then duplicate those bunches over the branch. I have three of the leaves done so far.

Just wanted to give the next update on the game. I have all the controls done for being able to change the time of year and time of day in the game. This will allow me to test the seasonal changes on the aspen tree and get that working. As far as coding goes, I’ll be working on adding temperature changes next, so that I’ll be able to add correct wind to the game because apparently, in the research I’ve done, the wind’s strength is caused by how fast the temperature and air pressure changes.

I also finished modeling the leaves and putting them on the aspen branch that I’m using to bake onto the final meshes used for the tree’s branches, and then finished putting those baked meshes onto the tree as well. I don’t have it in the engine yet, but you can see how that looks in Blender’s viewport at the bottom.

There is a certain look of some aspen branches that, when you look at them from the side, it almost looks painterly and similar to how it looks when you dab a large paintbrush onto the canvas with the bristles going perpendicular or straight into the canvas, giving it this interesting feel. I tried to recreate that with the branch and the final meshes that are on the tree, and I think in the end it worked out fairly well. They both seem to have a bit of that painterly feel in certain areas.

The tree as it is now turned out to be about 8,000 triangles, and will be about 7,500 after I do a few more things, which is rather high, but I wanted to have a version of aspen that looked very full for the areas next to meadows and things where there is more sunlight, so this will be the highest poly version. The other trees will be either a lot shorter and full or as tall, but only have leaves at the top.

I guess that’s it. I’m going to wait and update the game build in the next update when the tree is inside the game, so right now it’s still the same version as before.

View from a lower angle:

Quite a few things have happened since the last update.

First off, I just wanted to say that I have the aspen tree inside of the game now and there are new game builds available for download if anyone is interested in seeing it in the game. There are also some screenshots of how it looks in Summer below. All of the transitions are also working inside of the materials, but as I was thinking about it, I realized that, since the latitude can be changed, the timing for the transitions really needs to be determined by the temperature instead of a fixed date, which brings me to the next exciting thing that happened.

There were some boxes of books that someone gave to my parents a couple weeks ago, and I just kind of randomly picked one up to see what some of them were about, and the one I picked up was an old Earth Science textbook that has all of the data and explanations for how temperature, weather, rain, wind and all of that kind of stuff works on the earth. I just thought that was pretty cool to find a book like that just as those were the next things I was going to be working on. It’s already had some very invaluable information as well that I haven’t been able to find anywhere else in my research online.

So all that to say that I have quite a bit of the seasonal temperature changes figured out and should have the leaf transitions in the game on the next update! For now I just put some screenshots of the middle point of the transitions below.





Fall-Winter (a few artifacts around the leaf edges that I’ll have to get rid of)

Something else that was very cool is that someone was getting rid of an old 100 year old upright grand piano and let me have it for free. Before I was only able to play the piano when I was at my grandparents house, which is why there is only the one spontaneous session in the game right now, but now that I have a piano here at my house, I’ll be able to play it all the time. So I was able to record another spontaneous session that consists of 5 songs altogether and is about 17 minutes long. I thought I would also start putting them up on SoundCloud so that if anyone does enjoy listening to them, they won’t have to play the game to hear them.

It can be found on SoundCloud here: Stream Spontaneous Piano - Session 2 by ArtOfLight | Listen online for free on SoundCloud and the new track can be found in the game under the “All Piano” playlist, Song: “Session 2.”

One last thing is that I had some ideas for maybe some puzzles that could be in the game. To give a bit of backstory, in the Old Testament of the Bible, there are these really incredible, almost letter puzzles, that when you skip the same amount of letters over and over again in the original Hebrew text, it actually spells out hidden words and sentences that are about the text you are reading.

For example, when you read Isaiah 53:10 (which is a prophecy about the Messiah coming as a suffering servant and taking God’s anger against the evil we do to each other upon Himself so that we can be with Him) in English it says, “But He was pierced for our transgressions, He was crushed for our crookednesses. The chastisement of our peace was upon Him, and by His stripes we are healed.” But when you look at it in Hebrew, if you start at the beginning of the verse and count 12 letters over and over again, it spells out, “Yeshua (which is the original Hebrew name of Jesus) is my name.”

In this particular area of Isaiah 52 and 53 that were about this prophecy of the Messiah, you can also find the phrases and names, “Let Him be crucified”, “His cross”, “Gushing from above, My mighty name arose upon Yeshua(Jesus), and the clouds rejoiced”, “In His name as He commanded, Jesus is the way”, “Herod”, “Caesar”, the names of the two high priests in Jesus’ time: “Caiaphas, High Priest”, “Annas, High Priest”, “Nazarene”, “His signature”, the names of the disciples, and many, many more things just by counting an equidistant, or same, number of letters over and over again. Quite a few of them even overlap in the same verses as well. And this would have all been written over 700 years before the Messiah, Jesus, is supposed to have come and anything in the New Testament transpired.

I think what’s cool about it to me is that it’s not something that you can try to make into what you want it to be either because it’s just counting the same distance of letters over and over to make each word. As far as I know, it’s also the only manuscript in the world that you can find these things in, not even the New Testament or any other Hebrew text, only the original Old Testament in Hebrew, and it’s literally all over the entire Old Testament.

Anyway, I thought a simplified version of something like that could make for a really cool puzzle in the game where the player has to find the amount of letters to count somewhere in the game so they can decode a message hidden inside of something found early on in the game, and the player would all of a sudden realize that there were all these hidden puzzles inside of something that seemed a bit unimportant before.

That’s all for this update. Congratulations if you made it through everything :slight_smile: It was difficult to try and pack so many things into a single post. There are actually some more ideas I have had but I thought I would wait until the next post to share them.

Just as an addendum for anyone else as fascinated by the letter puzzles as I am, another interesting letter puzzle can be found in the first five books of the Bible, called the Torah in Hebrew, which means instructions or law. With this one, you start at the first T in Genesis, and count every 50th letter, and what you get is TORH, or Torah in Hebrew. You also get TORH when you count every 50th letter in the second book, Exodus, as well.

Interestingly, you can basically do the same thing for the fourth book, but instead of starting with T, you start with the third H, and when you count every 50th letter it spells HROT, which is Torah backwards. The fifth book is the same only you start with the third H in verse five and count every 49th letter.

Now to go back to the third book in the middle of the other four, when you start at the first Y and count every 8th letter it spells YHWH, which is the original Hebrew name of God. When you combine all of it together with the way Torah is spelled backwards and forwards around YHWH, it’s as though it’s saying that the Torah is like an arrow that points to YHWH. TORH, TORH, YHWH, HROT, HROT

It’s just really a lot of fun finding out the kind of hidden puzzles there are that were put into the different texts.

Well, I can’t believe I’m saying this, but the seasons are in the game now and everything is working! There are new game builds available here:, so try it out if you’re interested and let me know what you think. There were quite a few times that I got stuck trying to figure out how to do things, especially with adding the ability to change latitude and go to the Southern Hemisphere where the seasons are opposite of the Northern, but eventually I had ideas and got everything working. It’s a bit of a miracle to me, to be honest, to have no previous coding experience and be able to figure all of this out, which is why I said a few posts back that I really give the glory to God if it does work out because my goodness, does it ever get complicated :slight_smile:

Here is the video that shows the seasons. I added subtitles to both videos to make it easier to understand what I’m showing.

 As I’m able to generate more detailed day to day temperatures, I should be able to get the season start dates more accurate, but amazingly, even with how it is right now, it’s pretty close to when the seasons start in the real world, just a few weeks off, at least in my latitude.  That is one thing I could help with, if anyone is interested, is getting the seasons right for each latitude.  You can find more info about it in the first post under the "Things I could use help with" Section.

 I also got the moon working, which was another thing I had to figure out some really crazy stuff to get looking right because of it basically needing to be transparent on the side with a shadow, so I couldn’t have it just be lit by the sunlight.  It was made even more difficult because one of the material nodes I used says the coordinates it needs are in World Space when they actually seem to be in Local Space, which took a little while to figure out.  Thank goodness it all works though!

Here is the one that shows the moon:

 All in all, I think this update turned out to be a bit of a milestone because I know that the concept is going to work and the foundation elements have been laid.  Now it's just to keep on refining it and adding to it.

Also, if anyone is interested in knowing how any of it works, I can try to put together a summery about it, but it could get long, so I wouldn’t want to spend the time if no one needs it :)

Another thing is that, over the many months I’ve been working on the project, the first post had become a bit piecemeal. So I rewrote pretty much everything to fit with where the project is at currently, and it’s much more clear and concise now. I also added a philosophy behind the game section that’s really worth reading if you have the time.

I also did another Improv piano track that I haven’t added to the game yet, but it can found on SoundCloud here: Stream Spontaneous Piano_Session 3 by ArtOfLight | Listen online for free on SoundCloud . I was experimenting with trying to use both hands at the same time in the music much more, so some parts got a little bit difficult for my brain to handle, but it turned out okay still. Around 12:00 minutes and on is a really nice area. Having never really had music lessons, it will take a little while to get used to using both hands with the rhythms and melodies. I don’t have a recording studio to record them, so you’ll also have to ignore the background noise in some areas.

As I had said in the previous post, I have had some ideas for an interesting story in the game that I’ve updated the first post with. The main purpose of the game would still be just creating an experiential work of art that opens the heart to be in, but there would also be a story you could follow if you wanted to. The idea would be that you are inside of an older person’s memories, and going back through his life to events that happened that closed down his heart and working through those things that happened in some way. I had already planned on having several different houses in the game, but basically each house would be a place that this person lived in through his life, and you would go back in time to certain dates when the person lived in this house and solve puzzles that would be for that specific time period that would reveal a part of his life story, and work through opening his heart again in a certain area of his life. With having seasons, latitude, and a realistic sun position, I think it could also make for some really interesting puzzles having to do with time and where the sun or stars would be at certain latitudes and times of the year. Also, just a really interesting environment being able to change the entire look of the map with different seasons or even what direction the shadows are going in.

That’s all for now. Thanks for looking!

Next update is done! The main thing is that the new landscape is in the game now! There are new game builds that can be downloaded so anyone can see it. On the next update, I thought I would add a way to teleport to the different areas to make it easier to see them as I’m working on them.

For this update, I’ve been working on getting the landscape more fleshed out, trying to concept out how the different rocky areas will look together and making sure all the streams go downhill.

The dynamic topology mode has, so far, really been the perfect thing to use for what I’m doing. With it, I’ve been able to create natural rock bridges and overhangs, and basically just create whatever I wanted, while still having complete control as to how dense the vertices were. Another really great thing is that I’m able to cut up the landscape however I want instead of having a grid, so there are large sections of the landscape that won’t even be rendered since they are behind other parts of the landscape. Even further, the streams and rivers are cut up into smaller sections, so I should be able to make it pretty detailed in the end since only a small part is visible at a time. None of this would have been possible if I had used the landscape abilities that are in the Unreal Engine. One caveat is that, after everything was cut up, I found out Unreal looks at the bounding box of the mesh to test if it should be rendered instead of if the actual polygons are visible, so hopefully in future landscape updates I’ll be able to cut it up in a way that keeps this in mind and make it even better. :slight_smile:

Also, since I could control how dense the vertices were anywhere in the landscape, I have been able to make the landscape more detailed while cutting the final triangle count by about half of what the original landscape was. From about 6.5 million to about 3.5 million. Interestingly, it also cut the size of the download for the game by about 200mb.

Here is a screenshot of how I cut up the landscape, and the density of the landscape at Level of Detail 0:

, and here are some screenshots of how some of the areas look so far inside the game:

There is another new spontaneous piano session in the game under Session 4 and on SoundCloud here: Stream Spontaneous Piano_Session 4 by ArtOfLight | Listen online for free on SoundCloud I tried to do a lot of, what I like to call, note cascades, and it really turned out pretty. I also found out that the way I was reducing noise in the audio was really distorting some of the notes, but with this new way of doing it, everything is much more clear.

I’ve also been working on getting a plan on how the weather system is going to work, but it’s still in the concept stage, so there isn’t much to show. Just graphs of how it all connects together.

One last thing that was kind of neat that happened a few weeks ago is that, as you know, windows 10 always has a random image display at the log in screen, but the interesting thing was when I turned on my computer one morning, I was surprised to find this image of a waterfall that was very close to what I had already sculpted out for a waterfall in my landscape. This isn’t the image I had seen, but you can see the waterfall here: Panorama Waterfall Haew Suwat Khao Yai Stock Photo (Edit Now) 582538609 and here is what I had sculpted in my landscape:

. It even has the archway that I had put over the outgoing stream. I thought that was a pretty cool thing to have happen, that I’ll now have a pretty good reference image of this area that I had basically just concept sculpted from imagination.

Hi John,
The last couple of updates are really bringing life to the project. I like your experimentation and when you share little tidbits about your development pipeline. I look forward to seeing some of the future updates. Especially water and vegetation. Your plans and ideas are quite exciting (chairs!!).
Did you get the chance to experience the environment in VR? How did it feel?

Thanks! I’m glad you’ve been enjoying seeing all of it. It’s been really interesting for me trying to figure out how to make things work, and trying to translate the real world into the game world. I feel like a bit of a scientist in that regard. :slight_smile:
I’m glad you like some of the ideas for it, too! If I’m able to get everything the way it is in my mind, it seems like it could turn into a pretty nice game in the end.
No, I haven’t been able to play it in VR yet, although I would really like to eventually. My current computer wouldn’t be able to handle it very well though. :slight_smile:

That Location Toolkit you made is very cool, and that night time globe was a great idea. I can see all of it being a great addition to a game. I might buy it for mine once I have things more fleshed out and I know better how everything will fit together.

First off I just wanted to say thanks again for your encouragement F3NR1S. It’s really great to hear the game has been heading in a good direction :slight_smile: It really is starting to come together nicely like you were saying. Hopefully I’ll be able to share more tidbits too. I’m not sure when I’ll be working on the water. I do have some meshes ready for it as part of sculpting the landscape, I just haven’t imported them and tried any shaders yet. I would also like to be able to do something like this: UE4 Automatic River Flowmap (Blueprint+Material). - YouTube, but I’m not sure if it would work with a plain mesh or if I have to use splines. If I have to use splines for all the streams, it might take a while before it would be done :slight_smile:

Things have been pretty busy since the last update with other things coming up, and I had some health issues that prevented me from working on things as much as I would like to, but all things considered, there is still quite a bit that got done.

I’m also happy to say that the teleporting works, but it’s not quite done yet, so I’ll wait until the next update to share new game builds. There have been some neat things to share with the vegetation as well, but this post is so long, I’ll wait until next time to share it.

The main thing for this update is I have been working on designing and modeling that room for teleporting to various areas. Since I’m not very good at drawing, I have to do all my concept work with the 3D models. So it took a little while, and many variations, but I think I finally arrived at a design that will be pretty nice in the end. The original design that I came up was going to be a circular room a glass dome in two pieces for the ceiling. Since the entire game is meant to be an art piece as well, I had the idea that it would be really neat to have paintings on the walls that the player would then teleport through. Here is what that original design looks like in the engine:

The idea being that you would be able to select a place to go to, then the two dome pieces would rotate around until they arrived at the painting. After this, the painting would change from being an impressionist painting of the game, into being a live look at the level. Then you would teleport to being next to a painting, hanging on the wall in one of the buildings. So it would feel like you were actually walking into the painting. As I got to thinking about it though, I realized the building would make a really great observatory for any star type puzzles, and I probably wouldn’t be able to make a better one. So I decided to try to come up with a new idea for the teleport room.

As I was trying to come up with a concept for it, I remembered another idea I had a few months ago, that I had forgotten to write down, that I thought it would be really neat to do like an art gallery up in the clouds for the main menu. Then when the player clicked on play game, it would allow them to walk around in the art gallery, walk up to a painting, and go inside of the painting, into the main game world. I realized both the teleport room idea and that main menu idea would work well together, so this was the starting point for the new building.

It took quite a few iterations to start getting a look that I liked, and to be honest I don’t normally design fantastical types of things :), but I think it could be a very pretty room in the end. While I was designing it, I kept seeing all of these things hanging from the ceiling and rotating around, almost like a chandelier or prisms hanging from the ceiling. As I started trying to go this direction, things started to come together more and more, and here is what I have so far inside the engine. Blender’s booleans helped tremendously to cut the holes in the ceiling’s glass grid:

Here is the rest of it that’s in Blender still with some very basic lighting:

The idea for the building is to have a wall of some kind in the center of the building with a shaft going to the ceiling, driving the rotations for all the gears. Then as the gears are rotating, they rotate the pieces hanging from the ceiling, which have the paintings on them, and as the player gets near a painting, the hanging wall would face the player and stop rotating. Then the painting would become the live version of itself. On the wall in the middle would be the poem from the description, kind of symbolic of it being the heart of the paintings, and the thing driving the possible story piece for each building.

Here are some shots of how the paintings look with a live version of the painting showing the game world:

and here is one in the game world that would be hanging on a wall in a building:

For right now, since the project is also an experiential art piece, I’m thinking that the best thing would be to have the live version flat, like a painting, instead of like an actual portal where it looks like you’re looking through a window. If anyone else has any thoughts about that, feel free to let me know. Here is what it looks like from the side:

I also had an idea of doing these doors along the two long walls that could be rotating at random amounts, making it feel like the wind is blowing through the building as it’s up in the clouds. The other idea was to have the doors in the middle start rotating first, and gradually rotate the other doors open, almost like an accordion effect. Then have them all close again starting at the far ends and going towards the middle, almost like the building is breathing, or love flowing in and out like it talks about in the poem. I’m not sure which one to go with yet though.

Since it’s going to be up in the clouds, the whole thing has been heavily inspired by clouds, with the way they move and change, and having something like rainbows in the clouds with all of the color wheels. Right now anyway, in that image up above, it’s kind of neat too that the glass frames seem to mostly disappear when you’re at the other end of the hall, as though you could walk off into the clouds. As part of all of that, I was thinking of having the glass color be a bit fuzzy around the edges, kind of like a rainbow effect:

So all in all, I now have the concept work done for two buildings and I have the teleporting all working. Hopefully I’ll be able to do more with the environment soon after the teleport room is more finished.

Thanks for looking!

Thanks a lot Grot13, that’s a great thing to hear! Yes, I’ll keep on working on it for as long as I’m able to. I really do believe in what the project is about, and it’s also been a tremendously fun project to work on.

Next update is finally done! My goodness it takes a long time to setup and animate so many objects! And a very large amount of code :). At least the basic room for teleporting is done though, and it should make it easier to go around the level and see things as I’m working on them. There are also new game builds to try, but just to let anyone trying it know, having the portals in it is making the game crash sometimes because of having to render everything twice. I’ll add some options for it to make it better, but for now, you may have to play it at a lower quality setting.

Here is a video I made of everything as well:

I also added my first sound effect to the game!, which is the wind for the TeleRoom.

And there are four more spontaneous piano sessions in the game now, as well on SoundCloud here: Stream ArtOfLight music | Listen to songs, albums, playlists for free on SoundCloud

Here is the stuff I’ve been working on with the vegetation. I want to try to do as much experimenting as I can at this early stage, and figure out what will give the best results before I make the rest of the models.

First thing is I’ve been working on trying to figure out how to approach the other smaller kinds of aspen trees. As I have been studying the trees more, I’m finding that the main difficulty is trying to get the verticality in the leaves and branches. It’s not really something I had thought about before, but when looking at trees you see that the branches all come out horizontally while the leaves all fall down vertically from them, and this way that the leaves come down vertically is what makes us able to see the sun’s direct light on the tree from the ground. The difficulty is you can’t really have that very well when you’re using large planes for the branches and leaves.

From what I can tell, normally this is solved by having many different leaf planes going in random directions, but with the way you can see the branches in the winter, I don’t think that would work very well for this.

I realized too that this is the main reason that the larger trees have such a small area where you can see the light on the leaves and can look a bit splotching sometimes, because I only have the horizontal part of the branch and need to add the vertical part of the leaves as well:

So I’ve been trying to figure out some very low poly ways that I can get this leaf verticality that you can see the light hitting the leaf, especially for the trees that are down on the ground at eye level. And again, part of the difficulty is that the leaves have to be touching a branch, since you can see them growing from off the branch in Spring. Here are some leaf clusters that I have been working on with all of this in mind. The black lines are the shapes that the texture will be on when it goes on the tree. The top right clusters are made to go vertically on triangles for the large trees, while the other smaller clusters and branches are for the aspen saplings:

So far I’ve been able to get something that I think should work quite well for the almost bush like saplings. It seems to have a pretty similar profile to some of the pictures I have seen. What seems to work best is to have a quad made into two triangles that would only have three or four leaves on it, then you make the edge splitting the quad in half, higher than the other two vertices, making a V. You can see this with the bottom right clusters. Then you just keep rotating them as you go along the branch. Here is how it looks: (the vertex count includes some other meshes in the view that aren’t visible)

Other thing is I was able to figure out a better way to have the leaves disappear for the fall. I had been doing it though a texture mask that had a random value for each leaf that looked like this:

, but the problem was it was leaving bits of leaves floating in the air. So I manually assigned a color to each leaf, and now it looks like this:

The main thing to notice is the darkest leaves are in the front and will disappear last, while the brightest are in the back and will disappear first. This way it should disappear back to front and not leave any bits of leaves around.

Another thing with this fall transition is there are rings being left around the leaves as they disappear, and I finally figured out it was being caused by Unreal’s compression settings. You can see the large blocks it was creating here:

I found out though that if it’s set to a normal map compression setting, it’s higher quality and doesn’t cause these:

I haven’t tried it yet, but right now the plan is to store the mask in the Blue channel of one my Normal maps, and it should get rid of the ring around the leaves.

So all in all, once everything is implemented, the trees, and next vegetation I work on, should look quite a bit better.

Next update is ready and there are new game builds available here: !

For this update, I’ve mainly been working on implementing the ideas I had for the seasons and teleporter options I mentioned in the previous update, and I also got my first Aspen bush/sapling done! There are a few things I’ll have to adjust with it, but for the most part, I think it turned out quite well. The SketchFab landscape in the first post has been updated too.

Dudecon, on Blenderartists, also had a great idea for having the sunlight intensity change as the seasons change, which I was able to add on this update, and I think really adds to the atmosphere of the world. I will probably be adjusting it further as I get more things done, but at least the code is in there. I also worked on the lighting for the shadows a bit.

There is another spontaneous piano session found here: Stream Session 9 by ArtOfLight | Listen online for free on SoundCloud

You can see the things I have updated below, as well as a few other more real-time things in this video:

Here are some general screenshots of how things are looking:

And here are some screenshots of things I have updated:
Difference in sun intensity, depending on seasons and latitude:
Notice how bright the lit areas are in summer, even though it’s the same time of day for both images.

Trees no longer leave bits of leaves behind when the leaves fall off:

Leaves change color at the plant’s edges first, the way they do in nature:

After adding the verticality to the branches and leaves that I mentioned in the previous post, you can see the light hitting the leaves much better now, even when under the tree. Overall, each branch looks much fuller as well:

I also found that having a mesh similar to what is below can help a lot for the profile at the top of the Aspen bushes. It keeps things from looking flat at the top:

Also, here are all the final shapes I used for the bush. So far the two triangles in a V seem to look the best, so I’ll be adding more variations of those to the bush with different leaf textures on them in the future:

Spring leaves growing:

For the next update, I’ll mostly be working on code behind the scenes. There were some things that I had done when I was first starting out, and still learning, that I really need to fix before adding more code. I also thought I would start doing a writeup about how the season transitions work, but I don’t know how complicated it could get, or how long it might take, so no promises there :). I would also like to adjust the shadows for night to transition to be darker as well.

Strictly Unreal related:
One last thing I wanted to share is an idea I had for creating references to other blueprints in Unreal’s “Blueprint” coding system. As anyone who has worked with the blueprints knows, it can be difficult to get references to other Blueprints, especially for Widget-Actor interaction. The way I had been doing it was to create the widget in say the character blueprint, and store a reference to it there as well, but then I would have to get a reference to wherever I had created the widget if I wanted another blueprint to interact with that widget. The difficulty was that I ended up starting to have references to things scattered throughout the code, and it just wasn’t very easy to interact between Blueprints.

The idea I had though was to have all my references stored in the Game Mode class, then if I need one of the references in another class, I can just get it from what’s stored in the Game Mode, since the game mode can be accessed anywhere. The way I did it was to have one actor class that is just used for Reference Storage. Then when this class is instanced inside of the game world, I assign all of the other actor classes that are in the game world to variables in this class, using public variables that I can set up in the editor. Then I just use a get all actors of class node in the Game Mode, and set it to get that Reference Storage class that’s inside of the level. So now the Game Mode has access to all the actors that are inside of the game world, via that Reference Storage class. I also use a get all actors of class node to get a reference to the character, since the character is only instanced after the game starts.

Next thing is I create all the widgets in the Game Mode class as well, and store them in a variable at the beginning of the game. Then when I want to add one to the viewport, I just get the reference to the widget that is in the Game Mode.

So now, if I need to communicate back and forth between a widget, an actor, or the character, I just cast to the game mode and get the reference stored there, and I’m able to access any actors in the game and any widgets in the game, from anywhere in the game. And I only have to look for the reference to it in a single place, instead of many references scattered all over. I don’t know if it would be considered the proper way to do it, but so far, it seems to be working out pretty well. There could be some difficulty with it if you have separate levels you are loading, but I think it might be possible to just have the Game Mode get different references for each level.

Thanks for looking!

Thanks Grot13, I’m just glad it all seems to have worked out okay! Hopefully I’ll have the write up about the seasons done soonish. I was hoping others would be able to use the ideas in their projects as well, so that would be great if you’re able to have it in your game :slight_smile:

Ah, yes, bird sounds would be nice to have in there, especially as it starts to look more realistic. I forgot about adding those kinds of things to my list of things to add. It would be nice to have that for the videos too. I’ll probably be able to start adding those kinds of things soon. I thought I would try adding wind and wind sounds to the trees in the next few months as well.

I haven’t had any experience with multiplayer, but yeah, I’m sure it could be quite a challenge getting everything working right :), and best done from the beginning, like you said. Here was one link I had run across and saved that I didn’t know if it would help or not. Someone talks about Game Mode and Game State in the first reply:

I had not seen your new post. Those puddles worked out very well! It ought to look quite nice when you have more of the environment done.