The light at the tunnel's end, enhanced by bloom.

Published November 17, 2005
Advertisement
I've been able to get some work done this week and StarSmasha is progressing well. Current implemented features include:

x An easy to use 2D sprite engine with Sprite Caching and Distortion Maps (see below).

x Collision detection using a decent linear interframe technique on bounding circles. It simply calculates the closest distance between two parametric lines and determines collision from that. Nothing fancy.

x Timespace cascades. All timed objects in the game belong to a timespace which manages time for the objects. This makes it easy to group game objects by time dependance. If the game is paused, for example, this should not affect the GUI, thus the ingame objects and the GUI belong to different timespaces.

I'm using distortion maps in parallel with color textures in my sprite renderings to be able to create effects like shockwaves, heat ripples from engines, etc. The distortion maps themselves are (presently) simply color textures where the colors are interpreted as 2D vectors. The final scene is rendered to a texture, which is then rendered to the screen with it's texture coordinates offset by the distortion map vectors. The result is by-pixel distortion of the final scene with a low overhead.

I have recently migrated to C# and thus StarSmasha is my first devoted project to be written in this language, using MDX for hardware access. The reason for my migration is that I like C#'s simplicity and elegance. I find it much swifter to work with and the code is easier to oversee.

My primary goal right now is to put together a runable demo version of StarSmasha with all the rudimentary features. Then the real fun will begin as I can begin implementing the further features which I have ideas for. More to come.
Previous Entry Far into the present.
Next Entry Yay banjo!
0 likes 5 comments

Comments

Daerax
I have been considering trying C# as well, my only worry is that it will lock me to microsoft, windows 98 or greater and .NET. Something that I dont mind in and on itself but seems alot to ask for in the competence of your userbase. How is it anyway, is the flexibility closer to languages like LISP than C++? <-- I dont know what I am talking about, I just have some vague idea of great symbolic power, good for any heavily mathematical program. Thanks!
November 18, 2005 08:39 AM
Staffan E
The post above was written by a rather logged-out version of myself. [rolleyes]
November 18, 2005 10:05 AM
Daerax
Hmm..okay. I dont see why academics in the sciences insist on using OpenGL and linux. err...

"It is my firm belief that for every problem of mathematical nature, no matter how complex it may be, there exists at least one coordinate system which makes the problem, when represented in that system, trivial to solve." - You

I agree with that quote greatly. In fact, this my current area of long term research. You can see my journal for more. :D, and this from my What is Infinity thread. </end plug> :D
November 18, 2005 10:18 AM
Staffan E
I read through the What is infinity thread and got struck by a few ideas while doing so. The concept of actual infinity has intrigued me for some time and although the quality of the posts in the thread varied a lot I found it interesting still. In my view the Cantorian approach to model actual infinity is problematic because in it we try to get into the realm of the infinite. I think there is a limit to what the human mind is capable of handling without preparation and that so far we are not ready to take this approach.

One way of treating actual infinity that I've though of is through levels of definition of numbers. I don't know if this even holds or if it already is covered in current theories. My though is that if numbers are either defined or undefined, could there be other levels of definition than those, and could numbers be ordered by their level of definition?

For example, consider the number y0 = 0/0 which can be rewritten as 0 = y0*0. This relation holds for any number y0, and y0 is thereby undefined i.e. has the lowest level of definition. On the other hand, consider the number y1 = 5. Here the number y1 is well defined - no ambiguity occurs so y1 has the highest level of definition.

One can think of other numbers which have levels of definition in between those, like the solution to the equation y22 = 1. y2 can be treated as having two simultaneous values { -1, 1 }, thus placing it in between y0 and y1 in the order of definition.

In this I think of infinites as numbers whose actual values have not been set yet. Thus they are potential candidates for any number and can be regarded as having all values simultaneously until they are made finite by picking a value. I would like to seperate this from sets in the way that inifinites are still single numbers with potential for all numbers within a given set.

I am not sure whether the infinites are at the same level of definition as the undefined numbers or if they are at a level slightly above that. I really have no idea if this holds at all at a larger scale but it is at least some way of making sense out of the concept of infinity. What do you think?
November 18, 2005 04:57 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement