Archive for the ‘Journal’ Category

Junk Master: The Journey To Junk Lord

Tuesday, March 16th, 2010

It’s finished !!

(”we” here as a team of Jubjub)

Our game for the Imagine Cup 2010: Game Design Competition is updated into the imagine cup site. Along the process of developing and implementing this game, lots of brand new ideas are coming into our head in which we cannot put all of them into the final release !!

We have created our own game engine, called “Wekarusung”, working with “MochAI“, the ai wrapper framework to power this game, and the result is really nice !!

But the version which we have sent comprised of the challenging mode, lots of thinking included the way to memorize and correctly classify garbage, critical thinking, strategic planning usage of weapon, funny experience and time management.
As we all have played testing the game, we strongly believe that players will get a great experience and at the same time they can put what they learned from the game into real use  making our world better to live!

See the screenshot below to get more idea about our game.

Hope to see you in the next round!!!!

Overview on how to play this game

Overview on how to play this game

Ants, cockroaches, and birds to bother you

Ants, cockroaches, and birds to bother you

(to be updated more)
* updated in-game screenshot
* I also posted this similar content to GameDev.net (http://www.gamedev.net/community/forums/topic.asp?topic_id=565311)

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

Come back to live!

Thursday, January 14th, 2010

Hey, after haven’t seen my face here for a while.
I am sorry to tell you that I am in the mode of relaxation, and you know what, it’s too relaxing.

Now, I just realized in a few days ago that I have to make change to something.

So now I currently reading about AI stuff preparing to integrate into the game or apps in the future.

Too much books available in front of my head. I split my time reading them partially each day of each book.

Apart of them, I just read a chapter of Jack Canfield “Start from where you are to where you want to be”. It’s really amazing to know such an inconvenient truth about real life, you won’t be success if you haven’t make a change or do something.

It’s just a chapter. But it goes with me a whole day now, I will go back to read a next chapter ha ha.

Anyway just want to let you guys know that I am still alive and not in lazy mode now. You will see some content asap (let me read them first).

Thanks for coming by

Cryptographical Analysis Tool

Tuesday, November 24th, 2009

Hello  everyone.
Recently I have “Computer Communication and Security homework” to do. They consist of many problem involving encryption/decryption algorithm. One problem let you try to decipher all the text, it’s an english prose.

vcwpc kwblm smljy glbgu gbtwj jyats
lwsgm lwjjy vcrfc rikwl qjwte fscpw
lbgqm jwscb ktpbc pqats vfwsm dvwpw
lbsfc ktrfu wtlsc brpgk cmdqj wtefs
cpgle vfmjc ncmnj cq

After seeing this kind of problem, I thought to myself, I gonna break its code in no time. Ha ha ha, you know that up until now, I even don’t break it yet.

What I start to take the approach here is as follow.
1. Character/Word analysis
2. Algorithm analysis

Up until now, working on 2 days ago, I am at the first stage.
By trying to catch the pattern of the words that most frequently appear in the english literature such as ‘the’. And similar word that you should be fimilar with. Not quite close to target now, but along the process I have created a tool to analyze the encrypted text. Note that all of programs below will operate on only plaintext.
They are
- charCount, the program to report the frequency of english plaintext character, it can report in absolute value, relative value, or percentage
- patternCountN, the program to report about the pattern found in the encrypted text, the occurrence for each pattern must be at least 2 or above in order to treat that one as significant. Also we can specify the number of maximum number of individual pattern to find in such encrypted text too.
- simpleSwap, the program to swap the character as user defined via config file.
- caesar-d, the program to decrypt the caesar algorithm, it accepts ‘key’ as parameter in order to decrypt differently with each specify key (usually from 0-25)
- testCaesar, the wrapper program to execute caesar-d program to generate report for all 25 keys possible to decrypt.

All of those programs are created with DevC++ 4.9.9.2, under gcc compiler. I use combination of C/C++ to create.
They are tested primarily on Windows 7. But it requires much less modification of codewhen porting into Ubuntu.

When working with C/C++ language I feel the power of them, and the low level in which you must do almost all the task by yourself. So you should know just everything. In fact it can’t be true. But at least it can help us out to build the firm ground right?

I included all the sourcecode which you can look at, modify, and learn by yourself later without any license!

Each program also accepts some parameters too. Just look at the comment above in the sourcecode.
I point out to you below anyway.
- charCount
   charCount [-r, -p] <input file>
   -r, will generate the result in relative frequency
   -p, will generate the result in percentage
   <input file>, is the input text file

- patternCountN
   patternCountN <input file> <output file> <N>
   <input file>, is the input text file to find patterns
   <output file>, is the output file for report to be generated
   <N>, integer number defined the maximum number of character for individual word to be find in pattern

- simpleSwap
   simpleSwap <config file> <input file>
   <config file>, is the user’s config file defined for characters to be swapped
   <input file>, is the input text file

- caesar-d
   caesar-d <input file> <k>
   <input file>, is the input text file
   <k>, is the key used in the caesar decryption algorithm (possible is in range of 0-25)

- testCaesar
  
no parameter for this program.

Okay, I think you might want to have a hand on those tools already.
Please enjoy, and let me know if you like or dislike!!

Download Section
- charCount, sample of output file (copy from stdout)
- patternCountNsample of report file
- simpleSwap, sample of config file
- caesar-d, testCeasar
- sample of encrypted text file (cut out space)

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.