Journal Day
1
PROGRAMS
facts
1.the kernal manages communication between hardware and software
2. centos is a version of red hat which is a distribution of linux
3. alt+f2 is amazing
4. KDE stands for the Kool desktop environment
5. sea monkey is an all in one internet application suite
6. seamonkey uses mozilla source code
7.KDE is an internatiobnal technology team that creates free software
for desktop
8.centos is 100% binary compatible
9. the kernal is also known as the cpu
10. Python > Java
Wackadot stuff
my suggested order
game screen
cursor
dots
scoring
I ordered my steps in the same way that Dr.Kuhl did but i left out a
lot of steps in process.
This is probably because i knew nothing about programming when iImade
my list. I suspect the reason that I got the
basic order correct is that my programmer gets really angry when I
design things for our games in the wrong order.
step1:
In this setp I just set up the screen for the game the number variable
determines the dimensions for the game screen as well as the background
color
which is entered in an R,G,B format.
step 2:
In this step I added a dot. Before adding the dot I had to add a color
to the game , once again in the R,G,B format
in this case it was 255,0,0 so pure red. Radius determines the
size of the dot, and the x,y cordinates determine its starting location.
Each step requires additions in several places because adding a dot to
the game falls in many areas. you have to concider size,color,
collisions,movement,etc
step 3:
in this step I just made our cursor appear as a dot, which requires
additions in two different areas
one dealing with cursor movement and one dealing with the dot itself. I
started to undertsand at this point how easy it would be to
add several dots
3.1
you just erase drawgrp .add ( cursor ) from the code.
step 4:
In this step i added two more dots which was basically just a repeat of
step 2.
I also added the color blue for the second dot. I learned how to add
more colors by doing this step.
step 5:
Collisions were really tricky for me i hope we go over more. addings
dots and obstacles is one things but events are definatley
more tricky. Collosions allow you to play they game by having dots
respond to other dots
step 6:
swapping colors was kind of confusing as well . You cant just code for
the dot to change color. you also have to redraw
the circle which was tricky to figure out. This setp essentially makes
wakadot wakadot.
step 7:
doing the socre actually helped me figure out how to position things
because this was essentially my fourth time doing it.
The score related events are easier to understand than some of the
others. matching up with the wrong color causes a loss of points and
the correct
color ccause a gain of points.
Journal day 2
today was really intensely difficult.I was lost for like the first
block of class but, after that i started to catch up and actually
learned quite a bit in the process
First I learned the really basic stuff in ch1 which i think everyone
basically already knew. It was interesting however, that computer
science isnt the study of
computers but the study of what can be computed. After ch1 the real
programming started which got difficult relativley quickly. the first
thing we did was basic adding subtracting multiplication and division.
Comments are also really
usefull and one should use them whenever programming anything complex.
You can make a commentby starting the line with #. Ch2 was mostly about
what happens when you
move around the quotation marks. 3+2 , "3+2", and "3"+"2" all have
completley different meanings in python.Then I learned about loops
which was probably the
weirdist concept i learned today. I also really enjoyed learning how to
make programs interactive with x=input("w/e"). Once I had that concept
I was actually able to start
making slightly usefull programs.Then that was expanded when we did ch3
and i learned more of the math stuff and how to import functions. I was
really having fun doing the ch3 excersises like making the program to
dtermine the cost of pizza , coffee , or to determine slope. I actually
thought i was
doing good for like 10 minutes, then i got to number 16 and got
destroyed and based on a general survey of the class Adam is basically
the only one who was actually able to do it on their own. It seems like
i learn programming much better throught excercises and
hands on stuff. I dont keep up as well when its just lecture.
Journal day 3
Extra Fun Review
variables: are replacements for values or chunks of code like v=2.
variables can only contain letters numbers and underscores. A variable
can only start with letters or underscores so 2v is not valid.
Loops are used when you want the computer todo something multiple times
so instead of typing out the same command a bunch of times you just
type a loop.
Numbers are numbers. you use them in calculations. There are three
different kinds.For example 3.0 is a float.3 is an integer and 3L is a
long integer. you should use integers when possible because floats are
often innaccurate.
Casting is when you convert the data type of some value. 3.0/4 would be
presented as a float because 3.0 is a float,even though 4 is an
integer.You can also change data types manually by doing something like
float(value) or float(3)/4. These methods also apply to long integers.
Stuff I learned today
I know we learned loops yesterday , but I learned loops today. I had no
idea how to make a working loop until about 2:45 PM today. It only took
Dr.Kuhl and A-Sauce showing me loops about 8 times before it actually
sunk in.Some how i had never even seen or heard of acc before today. so
that was the major acheivement of my day. We also learned stuff about
lists and more about strings which is all fairly easy and quite
usefull.Lists are amazing. When you make a list out of a sentance its
like a mind-gasm . Your essentially doing math with words.Learning how
to convert a string into a list dramtically increased what i have the
abillity to program. Class ended before I could really figure out the
document importing stuff though, thats still really fuzzy. Is
there a specific way to transform an imported document into a string or
is it already a string once you import it? Is import even the right
word in this situation? Its all very confusing.
Journal day 4
what makes a good game
like i said before a good game is lots and lots and lots and lots of
content. more content is always better. No one as ever said "I really
hate this game because theres to much to do." POKEMON Gold and Silver
are consistently chosen as the best POKEMON games,despite inferior
graphics
and gameplay.Why? because these games have the most catchable POKEMON
and the largest area to explore. Aside from amount of content the game
also absolutley must have an engaging story and addictive gameplay.
RPGs with generic plots are all lumped together as one game and can all
be found in the bargain bin at your local Circuit City, addicting
gameplay is also important but is much more easily accomplished than an
engaging story or a massive amount of content. I also believe that in
this day and age all video games should have some sort of online
capabillity. There really isnt an excuse to not have online play at
this point.Halo 3 and Halo 2 are primarily online games and are also
the two highest grossing media events in history.Also if you fact check
me on that which im sure you will thats based opening night sales
only.Addittionaly MMO's like World of Warcraft and Maple Story enslave
10s of millions of humans world wide so they must be doing something
right. Finally if its a multiplayer game the learning curve needs to be
appropriate games like Super Smash Brothers Brawl and Street Fighter 4
will always epic fail because of the stupid learning curve in those
games.
Understanding games stuff
Those videos were awesome and the games were good. I already basically
new all the concepts presented but i really enjoyed watching and
playing through the videos and the tag game at the end was really
good. The storyline was engaging, the gameplay was addicting, and it
had an appropriate learning curve.
What i learned today
today we learned about functions which essentially make
everything really easy because you can make a varibale equal to a
massive chunk of code . Thats basically all we learned new today
because of our amazing video game discussion
Journal day 5
Today we learned a lot of new material and started work on actual
games. we learned about while loops which are much easier than for
loops and we learned about booleans which are part of a while loop i
guess. booleans use and,or,and not to determine whether the while loop
keeps looping. Booleans make sense so i liked using them and while
loops. I dont know if this was intended but, i also learned about
if,else,and elif. I feel like im finally beggining to program on my own
at least to a small degree and when i do recieve assistance i
understand the changes being made to my code i dont just nod and say uh
huh like i did during the first few days. We also started to learn
about pygame and classes yesterday,which is more game related. I'm
pumped that were finally starting to work with games.
pygame facts
1. pygame takes the pure out of game development
2. pygame is a set of python modules designed for writing games
3. pygame is free
4. new silliness is added to pygame every 3.1415 seconds
5. supports linux,windows,mac OS, etc...
6. you can use pygame without a monitor
7. most bugs are patched within an hour of being reported
Journal day 8
Today I learned about sprites and nested for loops. I know I
should already know how to use a nested for loop but I diddnt until
today. I kind of had a realization at about 9:45 this morning and i
finally understood how to run a loop inside of a loop. Sprites put the
video in video game for our purposes and pygame makes it really easy to
draw or import sprites for game creation. A sprite consists of two main
parts. The first one is an image which is known as a surface. The
second is a location to draw the image which is known as a rect.
Animation of sprites with pygame sound like a lot of labor however,
Because essentially has to be redrawn at every frame of animation. so
you could either have a massive amount of code or maybe simplify
animation into a compact loop or function, or maybe a function with a
loop. pygame organizes sprites in a set of classes known as sprite
groups which are easy to use lists of sprites. Pygames sprite groups
allow you todo two things. The first of which is clear the entire
screen. The second of which is to update the entire screen.
Journal day 9
I diddnt really learn anything today, but i was like pew pew pew
programming my maze. I got a lot of work done today and i programmed
most of it on my own. Im so proud that i successfully turned a list
into a real maze. It may not seem like a real acomplishment for anyone
else, but it was a big deal for me.
so, yea basically all i did today was work on my maze.
Journal day 10
M .I.A. but it was good
Journal day 11
Today we learned about AI from Mac whos like the biggest baller
ever(Second only to Dr.Kuhl). He went over the history and the origins
of artificial intellegence ,which he summarized as three big ideas. The
first big idea dealed with graphs and connections which turned out to
be horribly inneffective. In Mac's terms it would take all the time
thats ever happened and everycomputer to make chess work this way. Side
note: Mac uses a Mac. The next big idea was a biological approach in
which computer scientists atempted to replicate to some degree the
human brain and the neuron. The result was something called a neural
network which was fairly effective at solving problems but was
impossible to understand which made it hard to fix. The major
breakthrough he associated with the neural network was the computerized
reading of zipcodes on letters which is 98% accurate and much faster
than human sorters(is sorters a word or a real profession?)The 3rd big
idea deals with statistics which he described as modern day computer
science. This method is fairly new. According to Mac it has only been
around for about three years. The example he used was like the sonar
robot that was trying to find himself.
Journal day 12
Yesterday we learned about brain machine interfaces , which are really
cool. I dont think the technology should go beyond correcting lost
senses like vision or hearing and replacing lost limbs with prosthetic
extremities. Building a game controller or a "super suit" with this
technology is just a waste of money. I think the technologies
have massive potential in the medical feild. Its unfortunate that
monkeys have to die during the research, but its really something that
needs to happen. The research he presented was really fascinating. I
diddnt realize that the technology was far enough so that a monkey
could actually learn to control a cursor on screen with just his
thoughts. Also i cant believe they have a freezer here labeled " monkey
heads do not touch!". Also i dont understand everyones obession with
downloading knowledge thats so random and isnt even relevant to the
research that the speaker does. Overall i really enjoyed the lecture
,even though ive seen it before i still found it really interesting.
competition/game in a week reflection
its actually really hard for me to relate here because im really not
a very good programmer and I couldnt make a game on my own. The
actual programming I did in this contest was very limited. I was put in
charge of deciding gameplay
,content,title,art,powerups,enemies,story,and dialouge So, im
glad that I was able to contribute in form of ideas and small amouts of
programming and spriting but, it just diddnt feel like my game. Even
though essentially everything that went in the game was my idea (most
of our content was cut including all of story) I just dont feel like
its my game. The best thing i have been able to program on my own is
maze 3.0 and I did recieve some assiatnce on that. I could blame Peter
and say that he wouldnt let anyone else program which is mostly true
but, its also my fault for being bad at programming and not making the
assertion that everyone should program a large portion of the game.
Honestly im really dissapointed in myself and the entire group we
may have had the most playable game but, we really diddnt work together
in terms of programming. Peter won the challenge by himself and we
diddnt argue with him. So the point of this little rant here is the
lesson that I learned is that I cant be afraid of programming
anymore just because im not amazing at it. I learned more of a life
lesson here than a programming lesson. I diddnt really realize this
until I read about hackenslash and his experiences and the
lessons he learned about programming. While reading I was interested
but I started to see that I couldnt relate to any of it thats when I
realized that I had failed. Computer science probably wont have
anything todo with my future career and to be honest im not that
passionate about it but, I picked this class for a reason and im going
to prove myself starting monday. I would like to team up with Alex
becuase he has had this same experience as I have but, he is even more
distraught because he actually wants to be a computer scientist. I
think we would make a good team because we both love video games and we
both want to prove that were not useless and that we can make a great
game without the assistance of adam, peter, or Dr.kuhl. In summation ,
I wish I had more to say about that actual comparison of programming
experiences but, I dont and realizing that I diddnt taught me a lesson
that I needed to learn. I know this is probably like 180 degrees off of
what you wanted in this reflection but its something I really needed to
say or in this case type and this journal entry seemed like an
appropriate outlet.
Journal Day 14
Today Alex and i started making liquid ham which is a tower defense
game i hope. A tower defense game is essentialy an rts style game where
the player controls a character whos only abillity is building towers.
These towers shoot a loads of creeps running through the maze. If
enough creeps finish the maze the player looses.Alex and i arent very
good so we probably wont finish but, today we made a psuedo map, we got
all the sprites picked out and we got a skelly to run perfectly through
the maze which took an extreme amount of code, telling a pixel to stop
and go in a different direction turned out to be a lot harder than it
seems , but its done now. Hopefully we'll get the towers up and running
tommorow. We started making a tower class today so thats our next major
goal in terms of finishing this game.
Journal day 15
today alex and i figured out how to use classes which took a
reaaaaaaaaaaaaaaaaaaaaaaaaaaaaaally long time. Then we added a basic
user interface and added a working tower to the game. the player cannot
build any towers yet and theres only one skelly so thats probably what
were gonna work on tommorow. Today we also realized that we can
implement the maze code in our game which serves as a map maker in our
tower defense game so players can generate their own customized stages.
Journal day 16
today I drew a picture and crashed jacks computer 8 times. oh oops im
not david. Today Alex and I worked on spawning multiple skellys
and we created a skelly ID system. We also improved tower spawning so
that you have to enter one of 4 distinct build modes before you can
create a tower. we also made our background an image which created a
whole new slew of problems which took a really long time to fix. We
basically just used the guess and check method until the skelly stopped
leaving a black trail and acting like strobe light.
Journal day 17
The last journal. I never thought i would make it to thi spoint. No
really I thought my mind would melt before this class was over,
but that means i was learning. I came into this class knowing nothing,
absolutley nothing. I cant even begin to explain the amount of
knowledge i abdorbed in this class. A few days before this camp Alex
tried talking to me about hexidecimal and i drooled. Now i can have an
intellegent conversation about how hexidecimal is the reason glitched
Pokemon like missingno. Up to this point i just took psychology classes
a TIP , which is just breezed through. We diddnt do anything. This is
the only class ive taken here that actually challenged me. This is
gonna be really cheezy but its as if my vision is distorted by many
blinders and Dr.Kuhl just removed the computer science blinder.I really
enjoyed the class. Like the residential life was terrible this year.
The RC's were like SS officers. This class was the only thing that kept
me here. Thank you sooooooooooooooo much Justine and Dr.Kuhl for my
first foray into computer science.
also this class taught me not to take ms paint and microsoft word for
granted.
Journal day 18
Ok I lied. Today is the final journal entry. I really enjoyed the
class, especially the final project. Like i mentioned earlier i wouldve
been miserable if not for this class. My only complaint about class is
that sometimes it got really boring when we were just reading out of
the book for like 3 hours. Overall though this was the class i
enjoyed most out of my four years at TIP. The final project was my
favorite part of the class. Alex and i diddnt do great but i felt like
d-d-d-scroblo tower defense was my game , unlike space raptors in
space. having my own made me feel really good about myself and my
programming abillity. Im actually really surprised that everyone in the
class did something completley different for their final project. I
played everyones game a little bit yesterday and it was really cool to
see what personal flavor everyone added to their programs.
Whereas in the group project all the games kindof just meleded
together because we had to have a common theme and there was 4 people
in a group. So thats really why i liked the final project the best.
Also sitting next to Alex and David during week three added to the fun
=)