Devlog Jackson - radiatoryang/fall2018_gamedev1_morning GitHub Wiki
Week 1
The roles that I felt I would fit into the best based off of my interests and knowledge would be Combat Designer, however I believe that I would most enjoy Character Design if my artistic skills were at a high enough level. After doing some animation last semester in intro to game dev, I found that animation is my least favorite part of all of game design, as I spent hours and hours trying to fix animation bugs when I should have been working on something else. I think audio engineer peaked my interest as well because I always thought most game designers would go to a third party for the sounds of the game. The Core Engine programmer was also something I didn't know existed, but my guess is this is mainly for triple A games. The Door Problem was interesting, and i can see why it would take such a large amount of people and work to get a mechanic working. I myself ran into that idea in my past game after setting out to accomplish a task for my game thinking it would be quick and easy only to find out there are way more steps than I thought. I realize now that this applies to nearly every aspect of game design, and that the idea of making top level games on my own isn't out of the question, but surely will be easier with a team.
Week 2
Why do we rely on triangles instead of quads (squares) in 3D graphics? What’s the difference between Painter’s Algorithm vs Z-Buffer? Look at a physical surface near you. What is it? If it were in a video game, what is its surface normal in Vector3? Why? Pick a part of the video where you thought either "wow that makes so much sense" or "wtf is that, why would you do that?"
We Rely on triangles because they are simpler, "3 points define a plane". This allows us to use three coordinates to define a plane which we see on the screen (Xyz in unity). Painter's Algorithm uses an algorithm to order the polygons in order to fill them up using anti aliasing, while Z-Buffer uses a pre set matrix of values set in memory. Z-Buffer tests each pixel and tests for overlaps, and Z-Buffer is faster due to it skipping overlapping pixels that won't even show. Im looking at my keyboard, its surface normal would be (0f, 1f, 0f) because the light from my desk is shining directly down on it. I didn't understand how Z-Buffer reflected on the polygon values using infinity. She was like "20 wins easily" and I just didn't understand what that even meant.
Week 3
I think it may be that the computers could possibly have not been able to handle renders of detailed models back then compared to now so we do not have to render as often. The Rotate, Scale, and Move tools are all in Maya as well as 3DS 4. 3DS was released in 1994 and 2 games that were released that year were The Elder Scrolls: Arena and Donkey Kong Country. I am very thankful I do not have to deal with that much meticulous stuff, and can use the technology of 2018.
Week 4
which of Michael Brough's steps seem most important to you? why? I think step 8, which essentially is vigorous play testing, is the most important. I believe play testing is the most important part of a game jam and game development as it is the determining factor on how to make the game fun.
so... what is your midterm game concept? (2-3 sentences maximum) It is a 2.5D platform kind of game where you play as me, working as a Post mate delivering food. You must pick up the food from the restaurants and bring them to the correct people in order to earn money. I will make it timed or score based so that its difficult but not too difficult.
what will happen in it? how big will your game world be? can you build all that? The player will move side to side getting food orders and looking for the correct person to deliver to. The game world will no be that big, I will model a 3D world but the camera angle will be to the side so i can choose exactly what the player will see. I hope I can build all that.
what will be hard to make? foresee any difficulties? what do you need to learn to do? The person to deliver to mechanic, I want each food item to have a specific person to deliver to, which might be difficult to code.
Week 5
I think the thing that I felt the most was the "I have no idea what I'm doing part". Not in that I actually don't have any idea what I'm doing, but there are some moments where I'm so lost and need to reset and google something quickly or ask a professor. This past week I coded the basic player movement and task systems into the game. You can now pick up food from a store and deliver it to a door to earn points, and there is an ongoing timer counting down to the end of the game where you will be displayed how many points you got.
Week 7
Platform studies is the studies of what the code's hardware and what the platform physically is while Code Studies is using more logic and is based on the coder. The 1 in RND(1) produces the same result every time using the current seed. In the past 10Print was used to make a maze, but i feel it could be used for level generation in general or for other uses.
Week 8
I like the Perl port because I think it looks the best. I appreciate the methods of others such as PATH because I think its cool, but all the rest don't look as good. An esolang is a type of programming language more used for comedic or testing uses. It can be used in hacking, testing security, modifications, or fun. They are mostly experimental and not actually practical. Some languages that stood out are LOLCODE and JSFUck as they seem to have no structure or language actually to it but they are actually working coding language and JSFuck can actually execute as Javascript
Week 9
Example #2 is a look and feel prototype. Its in order to get a feel for the game early on and be able to make decisions visually or aesthetically for the game. Example 10 also looks like a look and feel prototype, but it was used to test how people would hold and use a laptop. Students used this to gather information and even considered "designing the computer to feel more like a soft shoulder bag". I feel like our final project is also look and feel as well as we are taking a game that already exists and recreating it purely based on our perception of the game and what we see in it. We can't see the variables or code, we have to depend solely on look and feel.
Week 10
My group is working on a SuperHot clone for our final project. We chose the simplest level we could(Two AI Standing at the end of a hallway) in order to try to get the closest copy. I am feeling particularly stressed as I've had to miss class do to a family emergency back home, but I have made huge progress in the player movement and event system. I feel that the movement is now very close to the original game, and I am working on creating a basically functional level so we can begin adding assets on.
Week 11
Currently in my project I just finished the basic skeleton for the event system in the game. After a few merge conflicts I have to fix I will begin helping Ryan with the A.I. or begin working further on the event system. One thing I feel I am doing well is keeping my code as concise as I can and not spaghetti. One thing I could definitely improve is my commenting. I tried hard to comment on my code, but i need to be better
Week 13
I was extremely worried in the beginning of the project what would happen to me and I went into this project pretty paranoid and anxious because I felt i was so far behind because I missed the first baseline creation of the game. Now I feel I understand all the code and can make significant additions which I have been with the npc shooting. I feel like we are in a good place, and are making good progress.
Week 14
I just finally finished the "SUPER..... HOT" text that appears at the end of the level when you kill the last enemy. At first I thought it would be easy and I would just do it in update but that's where I ran into a bunch of problems I didn't know how to fix such as how to delay it so the words change, or how to make it not effected by the time slowing down mechanic we have in our game. Ultimately, after week 13's coroutine lesson i was able to use a coroutine to more easily figure it out! It works now, just needs to be sized and timed correctly.