Monday, May 31, 2010

5/31/2010- Monday

We started making our games for the final project today. Got a lot of work done. The first map is ready, but I still need to get the zombies to move and hit us. The display is still left as well. Will get it done tomorrow. The game is coming out good. You can switch from melee attack to range and back to melee without any bugs. You can kill zombies, and roam around, and that's all I could get done. But the major part is over. It is time for the real zombie fighting with limited supplies.

Things I learned today:
1) How to get data from the keyboard and use it to control the sprites. I mean, how will you control the soldier without the sprites?

Questions I have:
None. I mean, we are on our final project. I am pretty sure of everything I have learned.

Friday, May 28, 2010

5/28/2010- Friday

Today we saw a movie and designed a game. Then, we went out and hung out in the NesCafe and had some maggi and stuff. Was fun. Today was VERY good. I mean, we deserve a break! All the hard-work, programming, typing, face-booking, etc. Takes a lot out of us. We deserve to just hang out and have junk, and talk rubbish. What else can one do?

Three things I learned:
1) Cross-learning with Entrepreneurs is a bad idea. They are not meant for gaming and programming. They're good the way they are.
2) 'Nerd-ism' is the way. I mean, duh! No nerds- no computers- no facebook /twitter /games,etc. So, Nerds are cool!
3) Elevator pitch- similar to what Kiran ma'am taught us at school. You get 15 seconds to propose your stuff, and get him hooked. No time for hi, hello, my name is... whatever.

A few questions I have:
1) Is it necessary to be a nerd if you wanna be Bill Gates or Steve Jobs?
2) Why did they mention in the movie that humans cannot understand the logic a computer follows?
3) Why can't I think of proper and related questions everyday?

Thursday, May 27, 2010

5/27/2010- Thursday

Today, we realized the importance of naming stuff properly. I mean, just imagine debugging a game with loads of errors and the names of the variables don't make any sense. Plus, we got this huge list of methods with equally meaningless names. A terrible nightmare! Anyways, I figured it out and debugged the game. It was that snake game, where we control the snake and eat stuff to grow bigger and bigger in size.

Three things I learned:
1) The reason for naming the variables properly.
2) How to easily identify the bugs and logical errors.
3) How to put in keyboard identifiers.

Three questions I have:
1) Can we get the charts and ratings of different games given under each genre?
2) Why do people like Mario so much?
3) Do people have started shifting to the Mythology side? Or the 'getting awesome power' side?

Wednesday, May 26, 2010

5/26/2010- Wednesday

Today I created the game impossible to win. There is no victory condition- only a lose condition. As you move forward in the game, he he he, the ball will get faster and faster and there will be a point you can't follow the ball. But, the only this game forces you to improve if you want to play for longer.

Three things I learned today:
1) How to advance levels in a game. Nothing much, just the speed of the ball increases to limits where it can pass through objects, destroying them. Except for the indestructible bat, of course. But it will pass through it at levels like 20 or so.

2) How to use the older library of Fang. We were using fang2 till now but now we're back to fang 1's latest version. It is much better, it's functions don't have a bug, so we can use it's bounce function very well. How do you think Break Brick would work without bounce?

3) Old is Gold. Well, for Fang at least, it is definitely true. Fang1's tracker function too is much easier than the Transformer function of fang2.

Questions I have:
None. But a point to make. It's been quite a LONG time since my questions were answered. So, I have so many questions but they are all up there already. No point in writing them all over again. BORING! so, except for the ones already specified, I have no questions.

P.S. : Can we make an un-winnable game for our final project?

Tuesday, May 25, 2010

5/25/2010- Tuesday

Another day full of programming. We are moving on now, and made the ball in our billiards game move according to our wish. But, as I have posted earlier, the function for bouncing the ball wasn't working, so we decided we will move on, as we are already short of time, till Arnav sir finds the older version of fang library with the working function. We also had surprise visitors and we showed them our games and the Scratch animation we have been making on Saturdays. Only one more week to go, and then we will put all our knowledge as programmers in making our games.

Three things I learned today:
1) How to make stuff move where we point. For example, a cue ball. The funny part is that we just keep on adding velocity transformers on it, so it moves in a funny way. A very good game could come out of that now!
2) How to use Tan and Co-Tan in Java. Why does it have to be so complicated? I mean, can't we just change the angle of the ball without using Trignometry? Not a question, because I know the answer. As of now- no.
3) How to put stuff in patterns using arrays and for loops. We actually did more practice of that today.

Some questions I have:
1) Why can't the computer be accurate? I mean, I read it in our book, that the computer messes up sometimes. But the main purpose of the invention of computer was to make a calculator. So why does it falter in it's main purpose?
2) When you move from place to place, you would see that the rules of the same game change. Take UNO for example, some people play it with the rule that when you place a draw 2 or draw 4 card, and the next player, player 2, places one more, the draws are transferred to the next player , player 3. Why does this happen?
3) When transferring a game from it's X-Box or PSP version to Computer, do they recreate the entire code again to suit the computer? I mean, don't they have to write all that stuff again in another language?

Monday, May 24, 2010

5/24/2010- Monday

Today, we started making another game- somewhat like billiards. Pretty complicated, and I am only talking about placing the balls. Just imagine, placing 15 balls on the screen, while placing them in an order that resembles an equilateral triangle. We had two options, either to write their locations in an array, or write down all of it manually for 300 balls (well, 285 more balls won't make such a difference now, would it?). I figured a way using three variables, and then Cole told me to make it in such a way that when I change one value, all the values change. Soon, from a three variable thingy it turned into a complex seven or eight variable thing. Arnav was using the Trignometry stuff (just flew over my head), very confusing with the gradients and circles, woah! Give me a break! Then Cole came and showed his method. He used some stupid formula in the end with us definitely having no clue what in the world did it mean. It didn't matter whether we knew what it meant, because it is not easy to do stuff when programming. So we used Cole's relatively tiny code and it worked. Also, when we change the value we assigned to the diameter of the balls, we could change the scale like easily. I mean, just change one number and the whole thing changes in the exact ratio. Also, we could add more rows to it by just changing a number. The rest just worked on it's own shifting itself or just doing what it does to form the alignment. We didn't complete the game because one of the fang library's functions wasn't working properly. And about the balls crashing and bumping, sorry, but we don't want to spend all the time we have got in searching for and making the balls bounce and then have no time to actually move forward.

Three things I learned:
1) No one can learn the entire list of functions in Java. It is way easier to just simply memorize a Webster's Dictionary.
2) All the subjects are related to programming. We had a macroeconomics class by Arnav today morning. We had some other classes on Game Theory, and other stuff too on some days.
3) Internet is the best tool to aid programming. Without the online API and all the data and formulas, forget programming, and rather sit at home and knit sweaters.

Three question i have:
1) Why does it have to be so hard to apply Physics in a Java game?
2) Who taught the computer what 'plus' or 'minus' meant and how to add or subtract?
3) How much time must it have taken for the programmers to program Counter Strike? (not including the time taken for art)
4) Why does Arnav joke so much? Why doesn't Cole joke as much as Arnav does? Or vice-versa?
5) What are there different games like snooker and billiards if there are only 5 more balls in snooker?
5) Why are we "making" board games?

Friday, May 21, 2010

5/20/2010- Thursday

Today, we continued working on our game- shooting ducks. We got the ducks moving, but how do we make the ball shoot only when we want it to? We figured a way to just move it when we shoot it, real big code for that. Just to make the ball go up and back down when we press left button on the mouse. Easier said than done.

Anyways, things I learned:
1) The smaller way of moving any object.
Arnav sir introduced us to the class 'transformer' which has the method 'VelocityTranformer' which we can use to move objects.

2) The method used to detect mouse clicks.
Same as before, Arnav sir introduced us to the method.

3) The symbols used like &&(and) and ||(or), etc.
We read some chapters in our book and in the introduction of if and else conditions, we were also taken a bit deeper where we can add more specific conditions using '&&' and '||'.

Questions I have:
None for today.

But I still don't remember everything I read in the book. So please don't take any quiz, I can remember some part of it, but my memory is not at all anything like the computers. More like RAM, it is all gone as soon as I am shut down.

5/21/2010- Friday

We finished our shooting game. We were shooting ducks, and I also put a level indicator as the ducks got faster and you got ten seconds to kill all the three ducks. Well, it's more fun when you play it, and even more when you make it and then play it.

Things I learned:
1) How to use 'for' loops.
I could have used that for this blog, so that I could get past for the word limit. I might not be able to write 500 words in 7 minutes. For loops are used to just keep on doing something as many times as you want it to.

2) How to make sprites in bunk
We used some trick I forgot the name of and instead of creating sprites created a group of sprites. Then, we used 'for' loop and kept on increasing the number of sprites according to our will.

3) How to wipe out a game after the timers up.
When the timer counts down, and the count reaches 0, something should happen. I used the 'cleanUp' tag to just clean up all the sprites on the screen. So, you'd better play good if you want to play long.

My questions:
1) What was the name of the method we used using '[]' after OvalSprite in 'private OvalSprite[] dots'?

2) What does '[]' stand for in it?

3) How do we get the game back in the starting point where when you press 'Start' the game starts after the timer's up?

P.S.: Arnav Sir, I don't exactly remember how much I know, but I know that I know those stuff. And in the limited time, I don't get enough time to think over what all I know or have learned. So, some things might not have been displayed at all. But I definitely remember what I have doubt in, and without any doubt, there are questions above on it.

P.S.(2): The P.S. is counted in the word limit.

Wednesday, May 19, 2010

5/19/2010- Wednesday

Today, we continued working on the challenge we got from Arnav sir to make the Ashoka Chakra. Then, we continued working on the ball, which we had created. Our challenge first was to make it move. After some time, Arnav sir told us how to get it to move, but we needed to figure out a way to make it 'bounce' back and forth, or else the ball would just go out of the screen. This activity took quite some time, and then we made our own class. We started by making a class for ducks, so that we don't have to make the same ducks again and again. Tomorrow, we would continue and make a game where we are supposed to shoot the moving ducks.

I learned how to make a class, and add methods to it, so that we could use it for our game. Also, I learned how we can add pictures in a game, and finally how to move objects and manipulate their movements.

Although I learned a lot from today's sessions, I have some questions. Firstly, why can't we keep an integer or double public? Why is it suggested to keep it private? Secondly, how do they create the screen savers where the balls hit each other and go somewhere else and keep on bumping and bouncing what seems randomly? Lastly, how high do we need to jump to evade the extra project?

Tuesday, May 18, 2010

Rules for my card game

Rules for my Card Game.. .

*U need 3 pairs of playing card for this game which means 56*3=156 cards*

1) 2 Players
2)Both the players get 40 cards each.
3)There will be 20 hidden cards.
4)56 cards in the deck.
5)Players have to somehow manage to make trios of the same cards.
6)Each player gets an opportunity to draw cards from the deck correspondingly.
7)Players may draw a card from the deck. Players will have to keep a card in the deck 2 if they draw a card from the deck.
8)To draw a card from the hidden pile players need to discard a trio.
9)This way players have to manage to get rid of all the cards they have.
10)The one who is able to get rid of them earlier wins the game:)

Hope your gonna enjoy it.. :p

5/18/2010- Tuesday

Today we made the Indian flag using Java, with help from Arnav sir till making the circle at the center, and then we were left on our own. A challenge given to us was to convert the center circle into the Ashoka Chakra with 24 spokes and the outline. Then we made a circle on the screen without any help, but with reference from our previous programs. There was a challenge here as well- to make the circle move to the left, then right, then left again and so on. I could get the spokes, but they were a bit too thin and the circle was there but no way to move it.

Today's sessions helped us learn how to find the different tags we use, especially methods and functions. Also, we improved our programming skills and now can write a small program with a sprite(that's what we call a 2D object on the screen). I also increased my vocabulary in Java, with a few more additions to the tags I already knew.

In every session we have here, we learn somethings, but we also have some doubts. Firstly, I would like to ask how are the 3D games created? Is it possible to create 3D objects on a screen using Java or do we need to use a totally different software for 3D games? Secondly, what tags are used for games where the computer has a decision-making role like in a fighting game, where the computer makes decisions to either block or strike or like in Chess and Tic Tac Toe? And lastly, how do they change the difficulty settings as we reach a new level or set the setting to Hard?

Monday, May 17, 2010

5/17/2010- Tic Tac Toe Story

During the evening study, we came up with a story for a Tic Tac Toe game. I thought of it as two groups of Mages or Magicians fighting from two sides. The Mages have the ability to channel energy, which can only be done when the mages are in a straight line, three in a row, forming a chain. The two groups of magicians are quickly taking positions to make the chain first and channel the energy and defeat their enemies, gaining control over the area. This goes on as a fight for supremacy between the two groups, and the group that conquers all the land will be the strongest.

5/17/2010- Monday

Today, we started our journey on learning a new language- Java. We were introduced to the language as any other language, may it be English, Hindi, Spanish or any other. Java serves the same purpose as any other language would, it helps us communicate our directions to the computer. Also, like any other language, Java too has a vocabulary and grammar. If you mess up with the punctuations, or the order of words, the computer won't get our intended message.

From today's session, I learned a bit about the syntax of Java, especially the punctuations. Also, I learned about the different tags that are used to convey different messages, some circumstantial like 'if' and 'else', some based on the properties of the objects, etc. We were using a software called "Eclipse" for programming, so I also learnt how to use this software. I hope to learn a lot more in the next three weeks.

Although I learned a lot, there are a few doubts and confusions in my mind. First and foremost- Why was Java even invented while there are already so many other languages like C and C++? Secondly, what is the difference between the different programming languages, and why was Java chosen for this course? Also, are all the games like for Nintendo V, X-Box, PS, etc. too made on Java, or there are other programming software available for that?