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 :)

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! :)

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.