Posts Tagged ‘engine’

Wekarusung Engine

Friday, March 5th, 2010

If you visited my blog since some time now, you would notice that what I have said sometime it’s not gonna be true.

Yep, i dont have time to accomplish all the stuff that came out from my mouth, sorry again.

Anyway, right now I have a good project with my teammates, it’s Imagine Cup 2010: Game Design.
I have missed the first kick in the year 2009 with late submission (i still remember it’s only 1 minute from time!!). That taught me alot about the TIME. Till then, I have decided to get involving again by put out our old idea of Fantastic Junk and polish in the new sense !!!

But this time, no more about Haxek engine that powered it in that time (created with Java), I have just finished created a full-support (at least in my sense = =!) 2d game engine named “Wekarusung Engine”. Since I have developed RealKo engine for such a long time now, and some good components are still there in my first miss kick named “My World”, I could grab those good features and combine them together into this new engine.

I spent about 2 days to finish this Wekarusung Engine. The good architecture from RealKo, and core animation 2d classes from My World could enough do the job for me. By modify, and fix some points that are not clean and neat yet, enhance it a bit to suit more for full 2d game thus that’s the job for Wekarusung.

Also about 2-3 hours ago, I collaborated with one of my teammates “Mok” to develop AI library to be used in Wekarusung Engine. I let him do the job of creating this library, for me game engine and core game programming could take my time away.

But it’s good idea though to let someone who specialized (or least to say interest to) to do that whole job full-time without worrying about others, we then can combine them together. That AI library is designed to help out the calculation process of the prediction, and movement control of entities existed in Wekarusung. So they can switch states and choose the appropriate behavior calculating the next position or action to do. The first initial attempt to combine  them together is very good. Mok and I collaborated to produce the result that “Worm” will go to the nearest junk available (also the junk can pop in real-time) with its unique speed and acceleration. After we saw the result of behavior, we could even think about the new kind of enemy or monster to interrupt the player from collecting the junk!!

More to be developed for this game, although the name is not decided yet, but along the way I am still sure we will blink one.

I have included the features of this Wekarusung Engine just for you interesting to look at. I have successfully tested it for the first attempt already, and it support the basics of what 2d game should have.

Later on I will post some information about our Wekarusung Engine.

Thanks for coming by.

wekarusung-features

Give me that low level of control

Saturday, November 21st, 2009

After fully 1 year and a half for that of object oriented game programming with C#, XNA, it turns out that I can develop game with pace, and quite clean in architecture.
Newcomers should be able to create game in no time with XNA framework. But one interesting point is that “how well they know the underlining world powered what you see?”. That’s one kind of tedious question, and if you try to answer it, it can block down your step and scare you not to further develop your game with your high level of programming -> it’s just the case for me now.

I never learn the formal basic of multimedia graphics before I have coding those fancy engine that released out to your eye. It’s some kind of big jumping with no firm in the base. Right now, I just realize that I really want to back and build my base as firm as possible before I go next further.

This will not be the case for others to follow, but at least for me here, so you should listen to what I said with one ear open.

My choice to revive my firm base is OpenGl, it’s opensource platform for graphics library.

It’s not quite equal in flexible as DirectX to work with, and this is the reason that I choose it to draw my path down into detail. I started to think that if I can understand low level as much as possible, then I can adapt it and build or extend from it to bigger thing later on. Range from the matrices stuff, work it in detail not from the automatic method to generate one for you (at least it’s close enough for OpenGl.), others stuff like integrated others opensource library into use with your own graphics engine to form the full-house game engine is the way to go for opensource approach.

Recently, I got an idea on integrate scripting component like Lua library into engine, integrate sound system into use (manually bind them yourself), and manually develop the self AI system embed into engine itself too.

I should cut it now and say that my plan in this period of time is to create an opensource game library for 2D (or 3D if the time is not that tight) stuff (of course benefit me for learning and others if they find useful to use). And let’s see how it going in the next 6-12 months plan.

I didn’t mean that OpenGl is superior. What I mean is that, for some reasons you should choose the possible-best one that suit you most, and can drive your passion along with motivation apart from flexibility and pace. Thus you can get what you got in the previous approach and make use of it in the next move, just as I will do mine now.

Sorry if you can’t understand what I mean here with this post.

Now it’s time to get down into it!!!!

*I will keep you update about it along the way.

Before next coding…

Friday, September 18th, 2009

Hi my friends.
Just relief that I can say “hi” to you again. After the long period of studying and doing college’s projects (like a pile!!).

For now, RealKo Engine is stable. The current version is 1.01. Many features are updated and some minor issues are fixed. I have tested the engine with networking test bed, the result is very good. Server is sending the data in the rate as same as the fixed rate of XNA Framework (16 ms each frame). No faster or no slower. Due to the networking environment is purely on LAN. The speed and bandwidth are not gonna be the big issue here. As I have calculated the usage of bandwidth of LAN from the exessive design of data packet sending across between server and client, it will only consume not more than 5 % of overall bandwidth of LAN which is very good. The actual percent is very lower than that, I can’t remember where that paper I put on.

Thus far the 3-4 months in developing RealKo Engine is well passed beyond doubt. It’s finished now as base. From now on I will add more features into the engine including “The Sun”, new type of airplane (helicopter, and airplane that has a turbine, more efficient and improved shadow algorithm, and minor code which can boost the flexibility of usage with engine.

Also I just checked my site back then 2 days ago, and I have found that on Tuesday, 9. There are strange large amount of visitors coming to my site. Then I checked the link. I can see Thai people from Thai Flight Simulator commend my engine with sweet words. I want to thanks them at this point for such a high praise. I also visit their FS and see their screenshots (http://www.thaiflight.com/mach/modules.php?name=Forums&file=viewtopic&t=10434&postdays=0&postorder=asc&start=120). I think that maybe it’s time for me to improve thing a little bit! Some screenshots I saw just trigger me on some features that I have missed (which of course not listed in the initial requirement of design paper. :), so I will put it into the future plan, thanks again.

Okay, last word for today. I personally think that I may put RealKo into open source someday. That could be great idea?

RealKo Engine (raining in action)

Sunday, May 24th, 2009

I have uploaded the video to show one of the weather feature of the engine to youtube.
Sorry for the quality of video, I want it to be as small as possible, and also this is my first time for uploading this stuff.

Please compared this to the following captured screenshot directly from my computer, the quality of video format is well hide my rain !!

Raining in action

Raining in action

It’s more to come.
Anyway thanks for watching.

RealKo Engine diary journal (lightOcclusion concern)

Sunday, May 24th, 2009

Deferred shading rendering system is what the system that I integrated and used as the main building block for my “RealKo Engine”.

Okay, just go straight to what I want to say now.
I have found the problem of lighting when I used deferred shading as the rendering system. I knew that all the geometry information is written to the rendertarget before any lighting calculation can take place. This concern didn’t not come to be realized when that time I am doing this, haha.

For what I want to say is that, when that time comes, the time that you want to lit the object, and select some objects not to be lit as well, how can we do it in the deferred shading, as the lighting calculation is the last pass.

Ohh, as I said above, it just comes to be relized at very late. You also need to store the information in the pre-pass, that tell the deferred shading about what pixel gonna be lit, and not to be lit => I called it “LightOcclusion”.

At very first my GBuffer layout has only 3 render targets (the same approach as Catalin Zima provided in http://www.ziggyware.com/readarticle.php?article_id=155), when I found this problem, that forces me to add in another render target. Also I have designed my each of rendertarget to contain 32 bit (RGBA), when combined all the 4, with the resolution of 1280 * 1024, I come across at exactly 20 MB (in fact should be added with another related issue too, such as Depth Buffer). That’s not quite high so far, because I have seen the one implemented in KillZone, it’s about 36 MB, so I think to myself, okay as long as we are low enough on size, we might get the speed with some close enough quality of graphics (as far as I concern, I think I come to the right track).

So by adding another rendertarget into use, I have increased it more 5 MB. The overhead of buffer need to be transfer and read/write is the big problem in deferred shading, but as long as your graphics card has enough bandwidth, that’s not gonna be a problem, as for me, GTX 275 is the beast!!!

Okay, enough for now, I will updated along when I have done some important component of the engine in the upcoming week.

Last word for today, do not forget about lightOcclusion in deferred shading.  (I can’t think of other solution to not lit some objects in the world by not use lightOcclusion, if you know some alternative just let me know here, it will be appreciated.)