2012
01.23

Trace any individual element, and you see the order.

Sounds deep. It’s really not.

2012
01.19

As a follow-up to the last post, I just couldn’t wait to see what I could do in terms of procedural nebulae with the particle system. The initial results aren’t jaw-dropping, but they do beat previous attempts by a fair amount. The particle-sim nebulae definitely have a more volumetric feel to them (not surprising, considering that they are volumetric, unlike the 2D-noise-based previous attempts).

I actually did a bit of cheating in this shot: I’ve composited the original screenshot with several blurred version of itself. In principle, this is easy enough to do on the GPU with textures. I just didn’t want to go write that code in the simulator, since I want to keep it as a real-time application. There’s still a long way to go in the procedural nebula department, but I believe this represents a step in the right direction.

2012
01.19

I’ve been having a bit of fun with particles and the GUI engine lately.  I experimented with a basic particle simulator in which particles are subjected to a force, where the force’s vector field is defined by functions of complex variables.  My rational behind this was that equations in complex variables have an uncanny ability to produce interesting behavior even with simple operations.  Indeed, I witnessed some pretty cool results!  Thanks to the new-and-improved GUI engine, I was able to control loads of parameters of the simulation in real time, and had quite a bit of fun playing with the math :) Of course, particles do have a tendency to make everything seem cooler than it really is!



I’d call the experiment a success both in terms of it being the first real test of the new GUI engine, as well as the first particle system implemented in XDX.  Oh, and the math was a success as well :D I’m thinking this kind of work may even lead to realistic procedural nebula rendering at some point.  That could be exciting.

2012
01.04

Scrollable windows! That’s the big accomplishment for the past two days.  I certainly wasn’t planning on implementing them when I started, but it was just too tempting.  Not surprisingly, it took a lot more work to implement scrollable windows than any other GUI component so far.  Still, they’re done now, and I’m happy that I put in the time.  They’re going to be absolutely crucial for complex games.

Oh, and those are checkboxes.  They’re not too interesting – only took about 5 minutes to implement, since they’re really just handicapped progress bars (at least, that’s how I see them).

2012
01.02

Work on the GUI system is coming along nicely.  Edits and windows have both improved substantially.  Progress bars and sliders have been added to the mix.

Truth: the only real reason for this post is to show off my sliders, since I’m super-proud of having finally made a half-decent UI :D

2012
01.01

Despite not having worked quite as much as I would have liked to during 2011, a lot of work on the XDX engine and project A New Reality still got done.  I put together a collage of screenshots from 2011’s blog entries.  It’s hard to imagine that my terrains looked so pitiful just a year ago!  I can’t wait to see what I’ll be saying about my current screenshots in a year :) Hopefully future work will make them look equally inadequate.

Indeed, it’s easy to see from the collage that much effort this year has been spent on behalf of terrains and various terrain engines.  I hope to see some more interesting projects this year, preferably involving combinations of previously-studied elements like terrains and trees and such.

No doubt, I’m moving ever-closer to the goal of a procedural reality.  Whether or not I’ll get there in time, however, is still anybody’s guess.

2011
12.31

And now, for something totally different…naturally, a terrain engine can’t hold one’s attention forever.  I’ve taken a temporary break to revisit the GUI engine that I started some time ago and left in an embarrassing state.  I’d like to start making some stupid, simple game demos, just to have some fun with the engine…but I’d certainly need a tight GUI system for such a game.

So far, I’ve overhauled fonts, labels, edits, and buttons, and added basic windows and windowing.  Everything is shaping up nicely, or, at least, much better than last time. I ended up using a fairly interesting design pattern for the GUI elements, since I wanted to modularize functionality as much as possible without losing efficiency. To this end, I went with a templatized decorator pattern. As in, the c++ decorator pattern, but with templates, so that all code is generated at compile-time and any given GUI object (in theory) becomes the sum of all of its functional parts without the overhead of dynamic linking.

2011
12.26

Finally, all the kinks have been worked out (at least for now…) of the GPU terrain engine.  Borders are totally seamless, so there are no longer any visible artifacts of the chunk boundaries (note that those first-order discontinuities in the screenshot are from the Voronoi Noise, not the terrain engine!).  Looks pretty smooth!  I’ve also got a system in place that should allow for some advanced semi-global heightmap effects like erosion, though I’ve yet to really put it to the test.

Great! Now, shall we make it adaptive? *shivers*

2011
12.25

I’m dreaming…of a white Christmas.

Merry Christmas :)

2011
12.22

Implementing normal mapping really helped the appearance of the terrain – they can push the effective resolution of the terrains up by a factor of at least 16 or so. The screen shot this time is from a demo that runs at 60 fps on my laptop, unlike the previous one (which ran at ~10 fps on my laptop).

In addition, I’ve found that Voronoi noise (aka Worley noise) makes a very compelling basis function for the terrain!