Hey everyone!
I know this development took a bit a longer than the others. Besides being busy with life I had some difficulties as always but before I go on, like always I encourage you to watch the video :)
Watch Video
In this development I tweaked a bit more on the atmospheric scattering so it can look a bit a better. It is still not perfect but for now it works. I also added Xbox controller input which I am excited about. It's not like its difficult to implement but its great to be able to play my game with a controller ^_^
Most of my time went into implementing water into the planet. I am a little confused about it though since this is the first time I am ever doing it. The way I did the water is depending on the height of the vertex. The lowest vertex height ends up being water which make sense right. But since I made the lowest vertex water, if I want to go underwater I cant because I am using the "underwater terrain" as the water/ocean. I am not sure how to handle that if I want it to have underwater. Should I create another sphere that would resemble the water so that I don't use the planet's lower vertices as water and use it as an underwater terrain? I think its easier when it comes to regular flat procedural terrain since its just a plane but a planet I am not so sure about. If any one has any ideas I would love to hear it!
Anyway since this space shooter game I will not be able to walk on the planet at the moment then I decided to not worry about it. Going back to how I implemented the water, I started working on the water movement first. It still needs a little more tweaking but it works for now as version 1.0. After that I added a bump texture to create some ripples and animated movement. I wanted to create a reflection texture to would create reflection on the water but I am having difficulties on that at the moment. I am not sure how to handle the reflection texture and where to position the camera when creating it. I know when it comes to a flat terrain, you know where the water height level position is since its a plane but when it comes to a planet I dont know where to position the camera and I cant really turn off the water since its part of the terrain. If any one has any ideas on this as well then I would love to hear it!
After I finish implementing the water I updated the planet to use noise instead of a heightmap texture because I want to create different kinds of planets and noise would be easier to do it.
Oh here are some awesome screenshots that I took while tweaking the atmosphere. I am underwater when I took these by the way, hence the lines on some of them.
That's about it for this development so thank you for tuning in and hope to see you on the next one. I am planning to work on Occlusion Culling since it looks like I will need it :)
Thursday, October 22, 2015
Thursday, October 8, 2015
Development #4 | Atmospheric Scattering
Hey everyone!
Like always thank you for tuning in. Before I continue I like to encourage you to see the video first! :)
Watch Video
So in this week's development I worked on the planet a bit more. I have updated the textures to be determined on the height of the vertex. One problem that this causes is when it transitions to a different texture. Because I didn't blend in the neighboring textures it just looked weird so what I did to fix that was to add a blend weigh factor and with that it looks so much better. I didn't show it in this video but I will show it you on the next one. Anyway, I also fixed a lighting issue that I mentioned in the previous video.
The big thing I worked on this week was atmospheric scattering. It was a bit of pain since I have not done it before. I had to look at a lot of articles. I had some awesome things that wasn't my intention and I did show it on the video. Here are some screenshots:
Of course those are not correct but eventually I was able to make it work a bit better and I am so excited. I was close to giving up on it but I am glad I didn't. It looks beautiful so far. I need to tweak it a bit more but hopefully I have it done by next week.
Well that's about it. Hope you enjoyed it and like always feel free for any feedback and suggestions to this blog or in the video. Thanks for tuning in and see you on the next one. :)
Like always thank you for tuning in. Before I continue I like to encourage you to see the video first! :)
Watch Video
So in this week's development I worked on the planet a bit more. I have updated the textures to be determined on the height of the vertex. One problem that this causes is when it transitions to a different texture. Because I didn't blend in the neighboring textures it just looked weird so what I did to fix that was to add a blend weigh factor and with that it looks so much better. I didn't show it in this video but I will show it you on the next one. Anyway, I also fixed a lighting issue that I mentioned in the previous video.
The big thing I worked on this week was atmospheric scattering. It was a bit of pain since I have not done it before. I had to look at a lot of articles. I had some awesome things that wasn't my intention and I did show it on the video. Here are some screenshots:
Of course those are not correct but eventually I was able to make it work a bit better and I am so excited. I was close to giving up on it but I am glad I didn't. It looks beautiful so far. I need to tweak it a bit more but hopefully I have it done by next week.
Well that's about it. Hope you enjoyed it and like always feel free for any feedback and suggestions to this blog or in the video. Thanks for tuning in and see you on the next one. :)
Tuesday, September 29, 2015
Development #3
Hey everyone!
This development ended up taking me 2 weeks and it still not even done yet. I didn't want to post a video yet but since its been a while and I had something to show so why not.
So before I continue, if you haven't seen it I would love for you to watch the development video first! :)
Watch Video
So in this development I ended working on Tessellation. More specifically on Planet Tessellation. I actually didn't even know that OpenGL had Tessellation shaders for this and I got so excited to start learning about this. At first I ended up working on a cube that by normalizing the points it ends up becoming a sphere. It kind of did work but the edges/corners didn't correctly match since some of them were higher than others. I couldn't figure out how to fix that so decided to look on some other solution. I might just come back to it once I can get a grasp of Tessellation a bit more. I did love this cube sphere thing because I love the way it added quads when updating the LOD. The quads/triangles didn't magically appeared out of nowhere like the next object I discovered which is the Icosahedron.
With the Icosahedron I was able to make it work better and the edges matched perfectly. The only thing I don't like about this is that as the LOD gets updated, triangles pop out of nowhere. I will keep looking more into it if I can fixed that because the cube sphere didn't do that. Anyway, after that I started implementing the noise and height maps in order to create terrains around the planet. So far I like the height maps better but I will keep messing around with the noise so I can get something cool out of it. Once terrain was generated from the height map, depending on how high the vertex is I set it to be either terrain or the ocean. It started to look better with that so I started adding textures for it. I need better textures and also to be able to blend them correctly between two textures as well but other than that it look pretty good.
I am happy where I am at but I still have a long way to go to make it look beautiful.
Thanks again for reading the blog. Like always if you have any suggestions or feedback on anything please let me know! Stay tune for the next development blog :)
This development ended up taking me 2 weeks and it still not even done yet. I didn't want to post a video yet but since its been a while and I had something to show so why not.
So before I continue, if you haven't seen it I would love for you to watch the development video first! :)
Watch Video
So in this development I ended working on Tessellation. More specifically on Planet Tessellation. I actually didn't even know that OpenGL had Tessellation shaders for this and I got so excited to start learning about this. At first I ended up working on a cube that by normalizing the points it ends up becoming a sphere. It kind of did work but the edges/corners didn't correctly match since some of them were higher than others. I couldn't figure out how to fix that so decided to look on some other solution. I might just come back to it once I can get a grasp of Tessellation a bit more. I did love this cube sphere thing because I love the way it added quads when updating the LOD. The quads/triangles didn't magically appeared out of nowhere like the next object I discovered which is the Icosahedron.
With the Icosahedron I was able to make it work better and the edges matched perfectly. The only thing I don't like about this is that as the LOD gets updated, triangles pop out of nowhere. I will keep looking more into it if I can fixed that because the cube sphere didn't do that. Anyway, after that I started implementing the noise and height maps in order to create terrains around the planet. So far I like the height maps better but I will keep messing around with the noise so I can get something cool out of it. Once terrain was generated from the height map, depending on how high the vertex is I set it to be either terrain or the ocean. It started to look better with that so I started adding textures for it. I need better textures and also to be able to blend them correctly between two textures as well but other than that it look pretty good.
I am happy where I am at but I still have a long way to go to make it look beautiful.
Thanks again for reading the blog. Like always if you have any suggestions or feedback on anything please let me know! Stay tune for the next development blog :)
Monday, September 14, 2015
Development #2
Hey everyone!
Hope you guys are having a great day. In this week's development I have done a lot of things. Majority of it wasn't visually but mostly internal functionality.
As always I encourage you to watch the video :)
Watch Video
Performance was definitely improved which is really awesome! I can do so much more now than the project I did in college. So what were those performance updates? Well here you go:
I have improved my particle system even more now. I am using instancing for them and now I can say I can create so much more particles. My frames were dropping quite a bit but now with this instancing I haven't seen it drop at all. Its been 60 fps without a single drop. Yay for particles!!
I am still undecided if I should do these for the asteroids/meteors. They are not a problem at the moment but if they do become a problem then I may have to consider it.
Another performance improvement I added here is Spatial Partitioning. This wasn't an issue at the moment but I know collision was going to be my enemy in the future specially with all those asteroids/meteors everywhere. So I thought it was a good idea to have it implemented already. Thinking ahead guys ;)
I also improved the lighting a bit. For some of the model it just comes now to tweak the materials a bit.
Bullets/Projectiles have also been updated. They shoot wherever the cursor is at. I also made them create explosion particles upon colliding to an entity.
First person was also implemented as well which was something I wanted to do for a while.
Minor bugs has been fixed as well when it came to shaders. Some materials where using the wrong the shader. I made sure that they end up using the correct ones now :)
That's about it for this week. Thanks for reading and hope you tune in for next time! :)
Hope you guys are having a great day. In this week's development I have done a lot of things. Majority of it wasn't visually but mostly internal functionality.
As always I encourage you to watch the video :)
Watch Video
Performance was definitely improved which is really awesome! I can do so much more now than the project I did in college. So what were those performance updates? Well here you go:
I have improved my particle system even more now. I am using instancing for them and now I can say I can create so much more particles. My frames were dropping quite a bit but now with this instancing I haven't seen it drop at all. Its been 60 fps without a single drop. Yay for particles!!
I am still undecided if I should do these for the asteroids/meteors. They are not a problem at the moment but if they do become a problem then I may have to consider it.
Another performance improvement I added here is Spatial Partitioning. This wasn't an issue at the moment but I know collision was going to be my enemy in the future specially with all those asteroids/meteors everywhere. So I thought it was a good idea to have it implemented already. Thinking ahead guys ;)
I also improved the lighting a bit. For some of the model it just comes now to tweak the materials a bit.
Bullets/Projectiles have also been updated. They shoot wherever the cursor is at. I also made them create explosion particles upon colliding to an entity.
First person was also implemented as well which was something I wanted to do for a while.
Minor bugs has been fixed as well when it came to shaders. Some materials where using the wrong the shader. I made sure that they end up using the correct ones now :)
That's about it for this week. Thanks for reading and hope you tune in for next time! :)
Sunday, September 13, 2015
Development #1
As you can see this is my first blog for the Space Shooter Development. In here and in the future blogs I will be giving you more beefy information than what I usually would say on my youtube video. So as you know or if you haven't yet, this project started when I was in my senior year in college. I decided to make a space shooter game because I love space shooters. In the end it came out pretty good for being my second game done in 11 weeks in C++. It did have bugs like any game does but I thought it was awesome.
So about 2 years later since the last time I touched this project, which is now, I decided to come back to it with my newer engine and see how far I can go with it. I am very excited for it because I have this great vision for this project in my mind. Anyway in this week's development I have done quite a couple of things.
First of all if you haven't seen the video then I would like to encourage you to see it :)
Watch Video
Now that I have spent a week on it I wanted to share what I have done. I have updated the sky box with this awesome program called SpaceScape. There's a lot of things you can do with it but I was happy with what I got. Of course I will update it again in the future but for now I think it is pretty cool :)
Another thing I did was to update the asteroid. In my old college version of the game, every time I spawned smaller asteroids when you destroy the bigger asteroid I would get lag spikes and collision wouldn't work correctly. Now I have fixed that issue :D
I have also implemented a better Particle System as well. For my old college project I only had one thruster particle system for the ship even though you can clearly see that ship had four thruster engines.
The reason for that was because of performance. Now with this better Particle System I made one for each thruster engine which looks so much better,
Not that crazy changes this week so I think that was it for the first Development week of the project. Hope to you guys tune in for the next development blog. I have a lot of things planned for it. Thanks for reading :)
As always if you have any questions or suggestions feel free to message/comment here or on my youtube video.
Subscribe to:
Posts (Atom)