quick update

Posted in thoughts on July 1, 2009 by bey0ndy0nder

Worked on SPH a little. I got something coded in Blender. Need to visualize it. I will work on it tomorrow. Too tired lately.

Nasa tether video debunked

Posted in thoughts on June 9, 2009 by bey0ndy0nder

http://www.youtube.com/watch?v=Hs7e-6wpCs4

So basically, it’s over exposure so the object appears to be behind the object and the depth of field related illumination effect which made the object looked like discs. That’s interesting.

There are other videos where NASA can’t explain. The first segement in the above video: when I saw it the first time, I tried to explain it with the rockets firing. But then my friend pointed out to me that the object stopped, and changed directions.

UFO are weird and I’m tired.

Spherical harmonics lighting dymstyfied: the prelude

Posted in programming, project zombie on June 5, 2009 by bey0ndy0nder

The prelude??? Haha. Anyway, I’m going to talk about spherical harmonics lighting in the next couple of posts. For the engine, I want to use spherical harmonics, along with a sky-model, to have arbitrary BRDF-based shading on surfaces and combine it with http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion http://www.vistax64.com/gaming/203581-crysis-warhead-ambient-occlusion.html for global illumnation. I’m don’t understand all the parts yet, so I can’t tell you about the efficiency. I do know that it will be enough for the look that I want, for now. Just throwing in some stuff which I think will look cool (fast BRDF with dynamic low frequency lighting and ambient occlusion for global illumination).

My goal is to explain each and every part of this in great detail. I will start with the mathematics behind spherical harmonics, where it comes from, etc. I will try my best to get into some details. I have some confidence that I can do this fairly well, because I took courses in differential equations and PDE’s, both of which supplies me with a lot of background. I don’t know how detailed I’m going to get, but I will try to break down all the terms, at least. I don’t know how well this will work out, because I don’t know whether one can explain it without prerequisites. We shall see.

isometric “independent” views?

Posted in programming, project zombie, thoughts on June 5, 2009 by bey0ndy0nder

I mentioned in a previous post about per-pixel displacement map impostors in an isometric setting and how I thought it may be possible to have independent viewpoints–by storing all displacement information using two displacement textures–in the cone (???) of rotation in the isometric perspective (hmm, I don’t know whether stating it this way is correct). Well, I’m not sure if it is possible to do this when doing animation, because the object can be in arbitrary orientations (such that, there may be a surface hidden in both displacement maps). However, it is possible to find a minimal set of displacement textures that will capture the object in full 3d (see …can’t remember the name). I won’t consider any further on the matter of “true imposters,” for I think the memory constraints for that technique is prohibitive (for some quick figures on napkins).

That brings me to… what is the point? Even if I can get something reasonably well…say in the range of 3 to 10 per-animation frame, and I did some quick calculation with this, and taken into account compression (8:1), will require a lot of memory. It may be worth it. But for now, I will just bite the bullet, and go with restricting the view to a single isometric view(old-school). From the engine point of view, I will make it so it won’t matter. Everything else will still be completely 3D, so for scenarios other than the “zombie game,” we can still go full 3D (all the other tech. beside “zombies” will work the same). This is a good decision, I think! I can concentrate on other stuff for now (and maybe come back later, when the time is right^tm)! The other advantage of doing this is ease of implementation! I don’t have to do any stupid imposter things anymore! Hurray!

Why keep imposters at all then? Well, I still want to run the “zombie” stuff on the GPU. And I feel that this is the quickest way for me to get things done at this point.

Random thoughts addenum: you know what

Posted in Uncategorized on June 4, 2009 by bey0ndy0nder

You know what? What I really, really, and freaking really wanna see is “kick-ass” and “weird” games. WTF am I talking about? I’m talking about the game I’m trying to make. Little quirky games that is expansive, and have a lot of spaces for “imagining” things. Like Elite 3 but also combined with other things to get to that sweet spot, the gaming Nirvana. Maybe it’s just because my memory is playing tricks on me; you know, with combining childhood game playing nostalgia and other craziness all chopped up–in my head–into some weird jumbo shrimp combo?

That game!

Maybe it is out there already? Maybe my dream game sucks?

Random thoughts

Posted in thoughts on June 4, 2009 by bey0ndy0nder

E3? Caught bits of news here and there. There are a few games I thought looked awesome, some that looked fun, and some that looked shitty (really no offense, I know it is hard-work. If your shit is shitty my shit is shitty-er). Hmm, why did I say that? I didn’t think any E3 game looked “shitty”; yes, some just does not interest me, but not “shitty.” Hate on me.

All I really want to do is continue working on my game. Because that is really fun to me. The progress has been slow, I know. It’s just lately I have been slacking and playing games. I come home from work and I just want to chill, and also I have been working (real work) some, at night. The overtime is not hard work, it’s just I have to really monitor stuff. As long as everything going smoothly then it’s cool. Work is work, there aren’t ever going to be an end. You just have to keep on doing it.

Which brings me to the other random thoughts bit: I saw some random slashdot posting on this dude’s game: AI Wars…http://www.arcengames.com/aiwar_features.php

Some of my ideas are similar to his, where I want to have a controller AI running on the CPU and independent “actors” running the GPU. My ideas are not well-developed yet, as I have been concentrating on rendering (very slow progress).

The other interesting part is apart from the zombie game, I wanted to apply the zombie thing to a space “elite” game. Just imagine space and planet filled with objects, lively and dynamic objects.

I need to get my act together and start making some progress. You know, for that one or two month period I worked on this game hard-core. That was awesome. I want to make that kind of progress again.

To Do List:

-LUA scripting
-Initial “player actors” multiplayer stuff.
-Procedural city framework.
-Spherical Harmonics and sky model (and other things?)
-expand networking.
-back to “displacement imposters”
-A.I behavior.

WOW. That’s a lot.

place holder

Posted in Uncategorized on May 31, 2009 by bey0ndy0nder

put this post here so I can do something…ignore this post.

Get this widget | Track details | eSnips Social DNA

ProjectZombies and networking

Posted in c++, programming, project zombie on May 24, 2009 by bey0ndy0nder

I’m back to talk about thoughts on whether we can get project zombie (i.e.: that stupid game with lots stuff running around– that one!) over the network.

Well… the latest game play I’m imagining (or scenario, depending on whether you are conversing about the MMO) is some sort of Tower Defense game, where you are controlling a space ship (that you, the avatar, will have the ability to get inside and control) to battle –insert evil guys to fight–. Latest storyline I’m toying with, is that you are

type of character flying around doing nothing, until you hit this planet with –near-future equivalent tech– and they are battling the GHOST army… a unspeakbly evil magic entity with an army of GHOST…that out of nowhere (actually, in the middle of a city) begins their un-speakbly evil plan to kill kill kill! They must be stopped! (Can you imagine the opening scene; the camera pans to the city center; ominous fog begin to creep-out; shinny lights emanating from it; then undead GHOST army begin rushing out; WTF to do???!!!)

So it’s a mixture of chaos between GHOST (magic), near-future tech, and insane high-tech. Shit blowing up everywhere!

Or if not that…just have simple little RED versu BLUE and you fly around blasting the shit out of everyone.

So is it possible to do this as a multiplayer game? I think it is! We do the crowd simulation on the client. We generate the cellular automata map on the server, update the this map occsionally (every second?)…The map controls the behavior of the crowd! To sync the clients crowds we simply have to make sure the seed is the same, and assuming they are then they should be synced! We can also occassionally sync using the server too.

For entities that are not crowd based, we simply track their location on the server, and update each client at a fast rate, to sync. And have the client interpolate the orientation and position. Like a traditional shooter game, for example.

Server/Client using RakNet

Posted in c++, programming, project zombie on May 24, 2009 by bey0ndy0nder

I started some preliminary server/client work. I’m using the RakNet library. I don’t have much to comment on except it seems like a really nicely-developed engine, with lots of cool-features very useful for a online UDP based game.

It’s a simple client/server. So simple right now all it does is connect the server to the client. This gives me a good excuse to present my desktop, however(note the console’s connection msgs):

desktop

Although “we” have been brain-storming on a massive multiplayer game (oh, the dreaded MMORPG as a first project). Frankly, I think we are just trying to do too much. Well, I promised that we’d build this thing as modules with the eventual hope of getting our utlimate dream game–and that’s fine with me–but I have some doubts on whether we can realize such an ambitous project as a MMO, without careful planning. We have some planning, it’s just I really don’t think just making a list and just going over details while sitting around consistue a good plan. What I mean by planning is setting out and really charting the entire system, with proper tools. Sure, I could do that, but I don’t think I have the time right now to fully chart such an ambitious system.

What I want to do, is to take the stuff I have right now, and expand on that, to make a fun, cool-looking, small little multiplayer project. Along the way we will gain the experience in building a more ambitious project, and a project that we can actually get it done! We can then build on top of that experience, whether it is reusebly software code, or models, or other things.

Though I admit, maybe this is exactly what we mean we are talking about building it up a little by little…but I feel that we sometimes tend to go over-board and chart some really crazy shit, that not even some of the most advanced MMO out there is doing now. But dreaming is good.

Relief imposter and true imposter

Posted in programming, project zombie on May 7, 2009 by bey0ndy0nder

I will try to implement relief imposters for my engine. The idea is to achieve full circular viewing of a model (with the restriction of having the ‘angled’ viewing at 45′degrees, i.e ‘isometric’ in the original sense when I first started getting into game dev.) by using only two of the so-called relief maps. I have not worked out the details yet but it seems likely this ought to work. The end result of all this is –hopefully– lots of relatively ‘advanced’ and ’sexy’ looking models with moderate amount of variation; all presented to you in fully chaotic and explosive on-screen action! Sigh, more hype; we will see when it all comes together. The plan is to release frequently and expand; so it is important for me to get a few key ‘oohh’ ‘ahhh’ things along with the planned ‘zombie’ factor for a demo release.

All this is very much been what I have been looking into for the past half an year or so: true imposters, crowd-rendering, etc.

I’ve yet to figure out what are the pros and cons of this and true imposters since they are related.

http://www.youtube.com/watch?v=A5vSccwly2w

http://www.youtube.com/watch?v=VsE_iNA4RPA&feature=related

http://developer.download.nvidia.com/books/gpu_gems_3/samples/gems3_ch18.pdf