Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411283 Posts in 69325 Topics- by 58380 Members - Latest Member: bob1029

March 29, 2024, 03:30:08 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsQuestica -- Another Gosh Darn Pixel Game
Pages: 1 [2] 3 4 ... 7
Print
Author Topic: Questica -- Another Gosh Darn Pixel Game  (Read 20321 times)
purenickery
Level 0
***



View Profile
« Reply #20 on: July 16, 2015, 05:01:06 PM »

I've made sure the game always runs at 60fps with no interruptions! (at least on my rinky-dink little laptop) Occasionally it'll slow down to 40fps or so if the screen if really full of NPCs in a town but I still have optimizing to do on that.

Ingame there will always be a 4x zoom so you can see those beautiful pixels in all their glory Smiley
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
purenickery
Level 0
***



View Profile
« Reply #21 on: July 22, 2015, 01:33:05 AM »

I've also just now gotten around to polishing up the main menu! We've almost got ourselves an actually professional game here folks. One of the feelings we're aiming to evoke from this game is that similar to reading a really good adventure book, and in homage to that the main menu is designed similar to a book. Each menu is on a different page and flipping through it will let you change the settings and start/load your games. Similarly we will also have books like this in-game where you can read through some of the lore of the game! (but my lazy butt hasn't gotten around to putting that part in yet)



Also as another update, we've finally gotten to the point where most of the behind-the-scenes stuff is done and we can get on to adding a whole bunch of content to the game itself! It's an exciting time to be following this game now  Wink
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
jctwood
Level 10
*****



View Profile WWW
« Reply #22 on: July 22, 2015, 03:23:16 AM »

This is a thoroughly beautiful game and I really enjoyed reading the logs so far! The lighting seems like a really great system and not too over the top which is nice. Have you got any generated caves you can show us with the sprites and things? My only feedback is that the menu items look a little flat on the curved page of the book. Maybe you could just flatten the page a little or have a drop shadow as if the text is hovering above the page?
Logged

RujiK
Level 2
**



View Profile
« Reply #23 on: July 22, 2015, 08:03:46 AM »

That book reminds me of morrowind. Keep improving that milkshake.
Logged

purenickery
Level 0
***



View Profile
« Reply #24 on: July 22, 2015, 07:17:30 PM »

This is a thoroughly beautiful game and I really enjoyed reading the logs so far! The lighting seems like a really great system and not too over the top which is nice. Have you got any generated caves you can show us with the sprites and things? My only feedback is that the menu items look a little flat on the curved page of the book. Maybe you could just flatten the page a little or have a drop shadow as if the text is hovering above the page?

Thanks for the comments and advice! We will try to do something about the book because I know what you're talking about, but we don't want to have to put in a system too complex for it. And here's a picture of the caves! It's just the walls right now but soon they'll be infested with minerals and monsters.



That book reminds me of morrowind. Keep improving that milkshake.

Haha! I'm glad you noticed the loading messages. One day me and my friend got together and came up with a hundred or so funny/snarky loading messages to pop up randomly. We just have this issue where I programmed the game loading pretty well so it loads too fast for you to read the messages very well. Guess I'll just have to make the world generation much more complex so you can actually read them!
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
jctwood
Level 10
*****



View Profile WWW
« Reply #25 on: July 22, 2015, 10:55:35 PM »

Make it 3d. Then you'll be able to notice them
Logged

RujiK
Level 2
**



View Profile
« Reply #26 on: July 23, 2015, 06:48:51 AM »

The cave looks weird. It just looks like a single flat surface with two different colors. You could be walking in a chasm, or walking on a high path over the dark rocks. I can't tell since the black rocks have no vertical transition.
Logged

purenickery
Level 0
***



View Profile
« Reply #27 on: July 23, 2015, 11:46:07 AM »

Make it 3d. Then you'll be able to notice them

We were actually considering making the game 3d at first! We decided to stick with 2d though because it's what we're used to and good at. We will definitely make a 3d version later on if we ever get the chance!

The cave looks weird. It just looks like a single flat surface with two different colors. You could be walking in a chasm, or walking on a high path over the dark rocks. I can't tell since the black rocks have no vertical transition.

Yeah I know what you mean and I agree :/ its a pretty tough choice deciding what to do here since the dark rocks aren't supposed to be a higher path, they're just solid rock. It'd be easier to show the distinction if we did it like the cliffs where there was an obvious higher path but we don't want to give that illusion in the caves since then players will want to climb up to the higher level. They are just a first draft however so they'll probably change!
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
RujiK
Level 2
**



View Profile
« Reply #28 on: July 24, 2015, 05:09:37 AM »

I think Jctwood just meant make the text on the book 3d so it would wrap. Not the whole game.
Logged

purenickery
Level 0
***



View Profile
« Reply #29 on: July 28, 2015, 03:04:25 AM »

Hello everyone! I thought I'd brag about our first official use of the particle system, which just so happens to be sprucing up the falling of trees. It took us a while to decide how to handle cutting down trees. Should we go the tradition route and have trees just spontaneously disappear and have logs appear in the player's inventory? Perhaps we should force the players to be so pacifistic they refuse to harm even trees?

Alas, we have decided to actually visualize the tree falling and hitting the ground once it's cut down, and have it mysteriously break into individual logs upon impact that the player can cart away for construction. The ground impact is where the particles come in. I can now have it burst some dust clouds to float up and some little tree bits to fly around for emphasis.

In traditional minecraftian style, the player simple punches the tree to have it fall over (for now, this will change once Cody gets me some axe swingin' action).



In other news! For selling the game we have decided to go traditional minecraftian style and sell accounts for the game that people can use the update and post on forums. To go with this we are almost done making a website for the game which we will post here once it's ready. We will be allowing people to register for free (that's right!) for the first week or so once the website goes up (you lucky bastards). The forums will be up for people to post on and we'll eventually get around to letting people who've signed up to play demo's and alpha's of the game!
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
EJlol
Level 0
**


View Profile
« Reply #30 on: July 28, 2015, 03:08:51 AM »

That tree falling looks awsome. Makes me wish to cut down more trees. Maybe also shake the camera a little bit to get even more the *boom*-effect? Also a lot of the effect depends on the soundeffect (which you cannot show in a .gif sadly). Hope you will find a good sound effect for it Smiley
Logged
purenickery
Level 0
***



View Profile
« Reply #31 on: July 28, 2015, 03:10:41 AM »

That tree falling looks awsome. Makes me wish to cut down more trees. Maybe also shake the camera a little bit to get even more the *boom*-effect? Also a lot of the effect depends on the soundeffect (which you cannot show in a .gif sadly). Hope you will find a good sound effect for it Smiley

Great Idea! I actually added in a pretty nifty camera shake function a little while ago that will fit in perfectly, can't believe I didn't think of that  Durr...?
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
BlackseaOdyssey
Level 1
*



View Profile WWW
« Reply #32 on: July 28, 2015, 04:37:45 AM »

Love the retro feel combined with the maps!  Wink

Do you plan on having a demo anytime soon?
Logged

purenickery
Level 0
***



View Profile
« Reply #33 on: July 28, 2015, 11:04:06 AM »

Love the retro feel combined with the maps!  Wink

Do you plan on having a demo anytime soon?

Yes we do! I can't guarantee when they will be but we'll probably release a demo of the combat system for people to try out in a few weeks to a month.
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
BlackseaOdyssey
Level 1
*



View Profile WWW
« Reply #34 on: July 29, 2015, 05:32:50 AM »

Awesome, can't wait to check it out when it's out. Smiley
Logged

purenickery
Level 0
***



View Profile
« Reply #35 on: July 30, 2015, 11:10:18 AM »

Through intense observation I have realized this forum tends to have a strange and ingrained obsession with gorgeous water effects. Over the past couple days I've decided to gently stroke this obsession by creating my own, new and improved set of water effects, guaranteed to turn you all on more than anything ever has before. And this time, as many have before me, however, I will show you the full effect at the beginning and describe the entire process for those interested in how it all works.

So we begin, here is a gif (on the post, most I'll just link to conserve your precious loading times) of the semi-final look (I'll still be tweaking and adding more to it later):



As you can see, the water flows dynamically, ripples follow anything that moves in the water around, and raindrops create little ripples!

Now, how does one accomplish such an effect you might ask? Well it's actually surprisingly simple! I started... with an algorithm, as many of these projects seem to start. That magical few systems of equations that mysterious and wondrously create dazzling effects or, you know, make a path or something. The algorithm operates over a large 2d array of floats (or ints if you're in to that). I set it up to work on float values ranging from 0 to 1. Here's the code:

Code:
left = waterMap1[i-1][j] or 0;
right = waterMap1[i+1][j] or 0;
up = waterMap1[i+1][j] or 0;
down = waterMap1[i-1][j] or 0;
waterMap2[i][j] = (left + right + up + down) / 2 - waterMap2[i][j];
waterMap2[i][j] = min(max(waterMap2[i][j] + .00005f, 0f), 1f);

draw WaterMap2

swap WaterMap2 and WaterMap1

Holy really simple code, Batman! The left, right, up, and down values are set to the respective locations in the buffer of the previous frames values, except for at the edges they are always set to 0 (or in my case 0.1 to add some constant turbulence to the water). First I got this algorithm to work over a small array, and converted that array into a texture so I could visualize how it was working. I started off both of the buffers with a randomly generated perlin noise so I could see how the waves were working.



Now that surpassed my expectations! With little to no effort you get a water effect that can easily support ripples that reflect of the edges and waves that pass through each other!

Now I just had to up-scale it to work with the water in my game. I gave each tile that contained water a 32 by 32 array of floats to store the height of the water at each pixel in the tile, then when it does the algorithm, it checked to see if the tiles around it also contain water, and if they do continue the simulation on to those tiles instead of calling it a day at it's borders. This way I don't have to simulate water over the entire screen, just on the tiles that actually contain it. After I finally got this working (after a few bugs) it ended up like this: http://gfycat.com/OccasionalBackElver#

Now this is looking great! The only big issue now is that water, at least the water I'm used to, is most certainly not black and white. I also wanted to add in normal maps so the water reacts to light the way it should (I can do a separate post just about normal maps if people really want it). Calculating the normal maps is pretty easy once you have an array of all the heights of the water, all you have to do is:

Code:
Vector3 Normal = new Vector3(
((leftUp - rightUp) +
2 * (left - right) +
(leftDown - rightDown)) / 3 + .333f,
((leftUp - leftDown) +
2 * (up - down) +
(rightUp - rightDown)) / 3 + .333f,
1);

where each variable is the just value of the pixel at that relative location. The (/3 + .333f) part is to scale down the normal because otherwise the waves were far too pronounced. Now I just had to throw that new array into a texure and throw it in the shader and we're in business!

Next, instead of drawing it as a gradient of black to white and set up a new gradient of blue to a different blue to make it look more like water.

Another thing I did before this next gif was allow raindrops to create ripples in the surface of the water. All you have to do is figure out which pixel you want the ripple to start at and you:

Code:
waterMap[x][y] = .9f;

You make it .9f there because you want to add energy to the system with a larger number than is around it. You can create bigger ripples (like in the earlier gifs) by making all the pixels in an area set to .9 or 1 (in the first gif it sets a circle of radius 5px to 1).

Now we have this: http://gfycat.com/ConcernedAgileHyracotherium#?format=gif
and this right when rain is starting: http://gfycat.com/ImmediateViciousHorseshoecrab

So now we have some pretty nice-looking water, but it's still a little flat. We need to add some variation to the texture of the water the is irrespective of the waves themselves. To accomplish this I simply draw the water texture using an offset of the water texture we were using before, color modified slightly by the height-map of the water and with the normal maps added.

The result is this: http://gfycat.com/EvergreenDelightfulDromaeosaur

Now all we have to do is make this semi-transparent so you can see fish under the water, the lake bed, and reflections from objects (which I still have to make based off the waves, but I will do that soon enough). The part is easy, you just draw it semi-transparent. But I also wanted to add an effect where objects moving through the water would leave trailing ripples. This also turned out to be very easy. You just iterate over the collision box of the object when it's in water, and you add a small amount to the waterMap at each of those pixels.

After that you get this: http://gfycat.com/WellgroomedLividAndalusianhorse

A few more tweaks later and you get the gif at the top of the post! There's still a bit to do with this but I'm very excited about how well it's turning out so far.


Next time! We eat more code!
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
EJlol
Level 0
**


View Profile
« Reply #36 on: July 30, 2015, 11:03:39 PM »

With tweaking you mean you will remove those straight lines waving in from the left? The effect really looks awsome Grin. Cannot wait for the demo Hand Money Right
Logged
RujiK
Level 2
**



View Profile
« Reply #37 on: July 31, 2015, 04:54:32 AM »

I gotta say THIS http://gfycat.com/ConcernedAgileHyracotherium#?format=gif looks incredible but your last gif really ruins it!

In your final gif I can barely see the waves at all. I thought you were just emitting particles. Maybe it's TOO transparent? Or maybe the waves don't stand out strong enough?

So again, the water looks great a few steps back but I think you over-tweaked it.

Also how the heck are you reading out the array? Do you use a fragment shader? Thats gotta be like million array reads a step! How is that not lagging?
Logged

purenickery
Level 0
***



View Profile
« Reply #38 on: July 31, 2015, 11:48:09 AM »

With tweaking you mean you will remove those straight lines waving in from the left? The effect really looks awsome Grin. Cannot wait for the demo Hand Money Right

Yeah that is part of it! I do know exactly what's causing that and it should be too hard too fix (essentially when the new tiles to the left get loaded in they start off "higher" than the rest of the water, causing a wave to move right)

I gotta say THIS http://gfycat.com/ConcernedAgileHyracotherium#?format=gif looks incredible but your last gif really ruins it!

In your final gif I can barely see the waves at all. I thought you were just emitting particles. Maybe it's TOO transparent? Or maybe the waves don't stand out strong enough?

So again, the water looks great a few steps back but I think you over-tweaked it.

Also how the heck are you reading out the array? Do you use a fragment shader? Thats gotta be like million array reads a step! How is that not lagging?

I do agree it loses a bit of the effect in that last gif, but I also think the water in http://gfycat.com/ConcernedAgileHyracotherium#?format=gif looks a little flat and too turbulent for just a small river. My personal favorite look is in http://gfycat.com/EvergreenDelightfulDromaeosaur. I'm going to try and find a way to go for that look while also letting you see the reflections and fish underneath the water.

And as for the arrays, it is possible to do it with a fragment shader, however I decided not to go that route as I'm already using the graphics card for a lot of the game and it would be very difficult to have it only run on certain tiles of the game and have those tiles connect to eachother. However, in order for the effect to look like that the water itself only has to run at about 10 fps, so I can run the array calculations on a background thread that updates at 10fps while the rest of the game runs fine!
Logged

Working on Questica!

Devlog: Here!
Twitter: @purenickery
www.questica.net
RujiK
Level 2
**



View Profile
« Reply #39 on: August 03, 2015, 04:59:25 AM »

That one looks good too! I like that water also.

One other question, according to the code you posted, shouldn't your ripples be in the shapes of diamonds? How are you getting circles?
Logged

Pages: 1 [2] 3 4 ... 7
Print
Jump to:  

Theme orange-lt created by panic