Results 1 to 11 of 11

Thread: The Heart Game

  1. #1

    The Heart Game

    Even though this project isn't strictly Blender related, I'll be making all of the aseets for the game in Blender, so I thought I would post it here as well.



    Purpose of the Project
    It's a bit difficult to explain what this project is all about.

    From the beginning, I haven’t really known for sure what the project would entail, but I've learned in life that whenever you don't know how to approach something new, you just have to start with what you have, and eventually the rest falls into place. And what I had was an idea for not just a game, but really a new way for me to do artwork. 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. It's that whole idea of being able to create something beautiful that you can actually experience and has a life of its own, instead of something stationary that you only watch or listen to. 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 things, and other things I enjoy doing, like playing music, that were all kind of converging and could fit together into this one single work of art. As such, the game engine is only my paintbrush, and I’m not trying to make it into a game, but a piece of art that is experiential.


    To tell a little about the purpose of the game and 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 someone cares and loves us without conditions is what we all long for the most, but can be one of the most difficult things to have and accept because it makes us vulnerable to being hurt. And I guess it just seems like if there is anything I would like to do in this world, it would be opening someone's heart to be able to care and love again and to know that they are loved as well.


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



    Philosophy behind the game
    So why does having an open heart matter?
    If you would like to go deeper and understand why I think it matters so much, as well as read about the philosophy behind the artwork and the game’s story mentioned below, you can read all about it here: http://www.artoflightandmotion.com/about-the-game
    It's also a bit long, but really worth reading over a cup of coffee if you have the time.



    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?





    Latest Screenshot or Video
    Seasons:



    Moon transitions:




    Downloads
    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 prototype here: http://www.artoflightandmotion.com/downloads



    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: https://soundcloud.com/user-304480598





    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 ) 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 entire look of the map with different seasons or even what direction the shadows are going in.





    Things I could use help with
    Something I could really use anyone’s help with right now is that, now that I can generate the average temperature for the entire year, I really need help with knowing around the time of year each season takes place in the different latitudes, so I can adjust the average temperature for that latitude and get the season start dates at least close to realistic. So if anyone knows around the time of year that a season starts at your latitude and would like to share, that would really be helpful. The more data I have the better it will be. It would also help to know if you’re near the ocean and around what altitude you are at, since those effect the temperature quite a bit, but that would really just be icing on the cake.

    The other thing is it would be great to know how well it runs on different computers and some basic specs of those computers since I only have my laptop to test it at the moment.



    Overview of the areas in the map
    I thought I would try using SketchFab as a 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. I took off the day/night cycle, so it runs better now.

    As I have tested it, if it is running slowly, it seems to be because it uses the intel graphics card by default, yet if you open a program that uses the Nvidia dedicated graphics card, like Blender, and refresh the browser, it all of a sudden runs fine, at least with my computer.

    If anyone has ideas for improvements, I would be glad to hear about them





    List of things I plan on adding
    ability to sit in chairs and couches
    aspens
    building that rotate’s sun as well as itself to line up with sun
    cherry blossoms
    falling leaves
    fireflies
    fireplaces in rooms
    fog
    full weather system
    house behind giant waterfall
    light blue and yellow sunrises
    lit up path with lantern’s for night time
    maple trees
    monet’s garden
    morning mist
    pocket watch to change world’s time rate and clock
    praire/grasslands
    rain
    record player to play music in buildings
    seasons
    small lavender meadow in trees
    streams that fill up when it rains
    snow or rain based on temperature
    teleportation room to go to different areas and maybe maps
    weeping willows
    wind chimes
    wind strength defined by temperature changes
    wisteria vines
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Attachment.jpg 
Views:	2 
Size:	233.9 KB 
ID:	488346  

    Last edited by ArtOfLight; 19-Jun-17 at 17:53.



  2. #2
    Just to give where the project is at, there is still some sculpting work to be done for the landscape, but itís basically how itís going to look in the final game. Next things Iíll be working on are adding more features to the music interface, and adding a basic day/night cycle. Eventually the sky will look better as well, but for now itís just the sky that comes with Unreal. Iíll also be working on the ground texture.



  3. #3
    The next update is done! Here is the video showing how it looks as well as some of the options I added for the music.


    You can find the download for the game in the first post.

    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:
    Click image for larger version. 

Name:	Tex_Ground_Base_Screenshot.jpg 
Views:	6 
Size:	896.0 KB 
ID:	465220


    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 modeling one of the trees. I thought I would do the aspen or cherry blossom area first, so it will be one of those. I haven’t decided which area to work on first yet. I’ll probably try to do smaller chunks as well so there isn’t such a large amount of time between updates
    Last edited by ArtOfLight; 24-Dec-16 at 22:21.



  4. #4
    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. I may not use it for this tree, but it would be good to know for the future if there is a better way.



  5. #5
    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: https://www.youtube.com/playlist?lis...ssOy2f-cFNzPKH 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.



  6. #6
    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. 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. 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!



  7. #7
    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. I’m just not that smart to figure it out on my own.



    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!



  8. #8
    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’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.




  9. #9
    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:



  10. #10
    The next update is ready to see!

    It turned out to be a bit of a long update because of how many things happened since the last one, and since it can be a bit hard to read text here on Blenderartists, I thought I would just provide a link to the post on the Unreal Engine forum. So here is the link: https://forums.unrealengine.com/show...l=1#post713434
    You can also see screenshots of the Aspenís seasonal changes there, or up at the first post here.



  11. #11
    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: http://www.artoflightandmotion.com/downloads, 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


    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: https://soundcloud.com/user-30448059...iano_session-3 . 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!
    Last edited by ArtOfLight; 19-Jun-17 at 18:07.



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •