First level stuff! (Final catching up on blog posts)

I think? this is the final blog post I have not written, so here was my thought process in making my first original DOOM level!

I really wanted to toy with the idea of something cinematic and pretty linear for the player, but not something gameplay heavy. While critiquing my level someone compared it to Brendon Chung’s Thirty Flights of Loving (I had experienced the game in TCS 110), it was definitely something that contributed to my thought process in designing this level. I think more of a direct inspiration for me was Terry Gilliams 1985 film “Brazil”, where a bureaucratic worker dreams of being somewhere else (among many other things). The narrative of the film breaks several times and cuts to different surreal dream sequences involving the main character. This was exactly what I wanted my level to feel like.  I had also wanted the spaces that the players traveled to in the level to be abstract, as if the player were examining their own mind.

I started with the idea of the player trying to reach the end of the room and have them completely dissociate (the room with the sky box on the floor), and have different rooms of varying stages of abstraction on the way there. I think this project would have fared a bit better if I had been using GZ Doom rather than chocolate Doom as a way of playing the game. Initially I had the first computer room much larger, so that the player could not see the end. Chocolate Doom could not handle it so I just shrank the room but I think an ‘endless’ path of computers would have really helped this level.

I think that’s my last blog post — it was great seeing everyone’s levels and I hope to see you guys in the VR class next quarter!!

Halloween Stuff! (Catching up on blogs #2)

(Please bear with me as I post about my missing blog posts from weeks ~4 and 5)

This .wad has been in the box for project five but I didn’t demonstrate it in class! It was around Halloween time and I had been trying to construct a level that both fits with the ‘Halloween’ theme while subverting what ‘doom’ was. Because of that, I tried to go for a cute Halloween aesthetic:

Image result for cute halloween aestheticImage result for cute halloween aesthetic

(stuff like that). I had a LOT of difficulty with this project (hence it being a week late when I submitted it) because I wanted to try and make a non-uniform height building that you started outside of.

There are some screenshots! I ended up (kind of) getting the outside building to work.. but I feel like the tone was partially off due to the level still being combat-based with imps everywhere. I tried to set up the final part as a face off with zombies in a graveyard (bottom picture).

I think more than anything though this week was really beneficial for learning texture work in photoshop. I had previous experience editing photos but next to nothing in terms of making up things from scratch. I am not much of a 2D artist either so learning the tools (even if to make such simple textures) was very important and something I am definitely going to utilize in the future.

Arduino stuff! (catching up on blog posts #1)

Here’s me trying to catch up on everything from this quarter and doing old blog posts:

Arduino work was super fun and super inspirational for my final project! I mentioned in class I wanted my final project to incorporate a microphone in which the deer in my game would scatter if the input is too loud. Turns out this was (relatively) simple from both the hardware and software perspective!

Here was my process:

sensors_2013_01_12_IMG_1157-1024.jpgsensors_2013_01_12_IMG_1162-1024.jpg

There was the part I needed and its accompanying circuit, and here was the code that I found online that goes with it:

  1. while (millis() startMillis < sampleWindow)
  2. {
  3. sample = analogRead(0);
  4. if (sample < 1024) // toss out spurious readings
  5. {
  6. if (sample > signalMax)
  7. {
  8. signalMax = sample; // save just the max levels
  9. }
  10. else if (sample < signalMin)
  11. {
  12. signalMin = sample; // save just the min levels
  13. }
  14. }
  15. }

Basically, in a given sample time frame, it finds the maximum and minimum of a given input single and later converts that into volts and prints it on the screen. The hardest part about incorporating this into my final project will be finding a button to map it to (I may have to use the I-PAC in this case, as I currently am using the left, middle, and right click options on a mouse).

As for the scripting on the DOOM part of it, there is a command I used called Thing_Hate that is exactly what I needed. It was a little annoying getting there though because in order to implement it one has to run a doom script, and in order to do that one has to have the right map format, which caused me to look for the right converter and right format to have a map in. For now I just have the deer sprites hate an arbitrary thing in my map when the user presses the “use” button, but hopefully I can map the microphone input to a button and then have that activate the script!

working with hardware! (final project progress)

I spent time this weekend trying to work on my final project’s hardware. My plan is to wire a cassette player to work as the game controller. More specifically, I decided that pressing the “play” button would function as the “shoot” button in the level, with the rewind and fast forward buttons being mapped to looking left or right. Currently, the play button works but I have to change stuff up a bit to work on the other two! Here’s my process:

I think after taking a part the player my main issue was planning how to get a switch or button to fit in the hardware. The buttons the way they were on the player weren’t actually connected to the circuit board, they mechanically move the gears. Because of that I needed to find a way to attach something to one of the moving parts when the button was pressed to press one of the mouse components. That was fairly do-able for the play button, there was a metal piece that came down upon pressing it where I was able to add a small piece of solder wire to:

after putting in the solder wire I just hot glued one of the mouse buttons to the button of the case, just about where the wire ends up if you press down the play button. It’s REALLY crude, but it works!! check it out:

This is where things stopped sailing so smoothly….

There isnt really a position where the rewind/fastforward buttons have enough space to allow me to put in a piece of wire and press a button.. I then moved to trying to just connect two pieces of wire but my tools were limited for such a small space and I haven’t had much luck yet. Also, I ended up destroying the solder pad of two of the mouse buttons passed the point of fixing them. I’ve looked up that an arduino can actually simulate a mouse press, so that’s my next step. Ultimately, I would like the arduino to be connected to the three buttons, the microphone, and (maybe) the motor of the player (i thought it’d be cool if you could feel the player running as you held it even if it wasn’t functional). (I am also not sure how/if the arduino can have all of those working at once). We’ll see tomorrow how my work turns out!

l i m i n a l s p a c e

I really wanted my project this week to be more gentle than my previous projects have been – and more gentle than doom itself is (it does not take much though). I knew from early on I wanted to eliminate any sort of combat in the level, and was trying to think of different interactions that could be positive instead. I was also reeeallly hung up on using deer for some reason (I didn’t quite intend on the relationship between deer being the most hunted animals vs the setting of target, but I did really want an animal that was often vulnerable and gentle around humans).

As for the setting – I wanted it to be grounded in reality but also explore an open space. I liked the idea of deer guiding the player around different abstract spaces, but I wanted the initial one to be something both familiar but subtly surreal. The idea of target came to mind .. sometime really early in the morning too. I thought of how being inside a target can seem like a liminal space due to its overwhelming brightness, signature colors and layout, and massive assortment of products. The interior of the target can be anywhere or take place in any time of day. I also thought this would be a perfect opportunity to make the level’s textures and physical layout true to target stores. The stores usually deal in the same floor texture as well as clear flat lines in its layout, something that wouldn’t be too hard in doom. I went through a lot of pictures to get the different floor textures right:

Related imageImage result for target store floor

Image result for target store floor close up

Initially, I wanted to add a lot more textures/sprites to populate the shelves of the store, but I liked the feedback everyone gave on how it was nice to be a slightly more abstract representation of the store that still allowed the player to know where they were. I had a lot of fun making this level and hope to expand it!

(trying to) be fast

I think this week’s assignment has been my favorite of the three so far, it really tapped into my competitive side. With the “simple” goal of running a single level in an allotted time, there was always a ton of room for improvement with every run of the level I made, really pushing me to keep going.

Here’s the run of the level that I used for reference. I may have been a bit unlucky with getting attached to this level given how difficult it is (and how it is hard to skip most of it), but still, playing the level over and over really piqued my interest as well as made me realize why people speedrun.

The problem with me and speedrunning though is that it might be a little too addicting. Like getting good at fighting games or first person shooters, learning the engine of the game from the users perspective really helps a player improve. I’ve already spent a good amount of time in high school on the former and unless I really really like a game I probably can’t imagine getting much into speedrunning myself (and I would first need to 100% a game before I’d want to speedrun, I think). As I mentioned in class, I really appreciate the community effort to explore the nooks and crannies of game engines through ‘breaking’ games, especially when the engines are easily exploitable, allowing players to go out of bounds/etc. Overall though, I think I would rather watch speedrunning communities develop from a distance rather than engage with them myself (although this experience was wonderful, frustrating, and addicting).

Playing “God” – In DOOM and Other Video Games

So I was super interested in our conversation last week about the role of the user and the ability to use either cheat codes or command line arguments while playing the game to give the user god-like capabilities within the game’s universe. Mainly, we talked about the question “why would the developer include this?” . I’m going to try to answer this in my post today! (with some commentary from different presentations of DOOM touring Tuesday)

– “Why would the developer include cheat codes/command line arguments?”

For this one, I think we can largely take into account the aesthetic and tone of DOOM and its intended audience. As we talked about in Ben’s presentation about the aesthetics, the game was made for shock value and controversy (with some irony too which might be lost on its target audience).

Image result for original DOOM gore

so… yeah. With the heavy metal/satanic/gory atmosphere we have going here, the developers seem to be playing right into what their target audience would get addicted to. Another way the developers seem to play right into their target audience is with… well… the killing. The constant need to survive and kill your way through levels almost might play out like the teenage boy power fantasy, which i’m sure we’ll get into later in the class when we talk about the game and masculinity. But yeah this is where the cheat codes really amplify what the developers are trying to sell to their target audience: being a god, with complete control over the game. Even when killing your enemies, the game can make it a power fantasy OF a power fantasy by allowing you to type in some letters and instantly not be affected by enemies/have all the weapons you need. The obnoxiousness of the masculinity here is bumped up to 11, allowing players to feel like they could do whatever they wanted. But! In order for this “meta” power fantasy to work, the developers couldn’t just feed the information to its users, they had to find it out for themselves, and really feel like they unlocked some power or potential, which is (one of the reasons) why they made the cheat codes exist in this “word of mouth” culture. I think this can largely be said for other popular games with cheat codes “built in” – first person shooters and sandbox games like GTA.

 

“Basic” Doom

Upon starting up Doom from Steam (which worked with ease, surprisingly) and wanted to try an authentic, difficult, “Basic” Doom experience. So, I tried the first mission ( not exactly the shareware version) on the “hurt me plenty” difficulty. It took my about two and a half hours to get through it, with about an hour and a half just on these two levels – levels five and six. With level five in particular, I had the level mapped down to every enemy i should be hitting at precisely the right time. I had died pretty quickly the first time playing the level, and hadn’t saved my game the entirety of my time playing. This made my shotgun ammo (which the level supplied plenty of) a valuable resource for me. After a few tries of just holding down control with the shotgun equipped, I learned to take a deep breath and try to eliminate the enemies one by one by specifically targeting them. What made the level particularly interesting was the chamber in which two hidden doors opened on both sides of the room, with a ton of enemies in them:


 

Yeah.. this one really got to me. Of all the levels in the first mission, I think this one helped me develop my skill in the game, since I would have to run around in panic mode trying to get the health packs on either side. A couple times I would get past this only to die within the next minute on the next part of the level, which was great. I think whatever skill I gained during that level really helped me with the next several (or I got less anxious and more confident?) because I managed to gather a lot more weapons and health and not die again until the last level of the game. A couple of closing comments about my first time playing Doom: The game doesn’t hold your hand, or even try to. Which was good and bad. I didn’t realize there was a map button until the second to last level, and it took me quite awhile to realize I could shoot the canisters of waste to blow up enemies (and another bit of time before I realized enemies could do the same to me). This lack of handholding really amplified the exploration aspect for me, when I realized the game wasn’t trying to lead me I guess I became more curious about what I could and couldn’t do. Secondly, I thought it was interesting about how the game almost expects you to die several times while playing a level. Maybe it was just me playing the fifth level a billion times, but the moment of finding out where the wall was that all the enemies were hiding behind as well as how to trigger it was very rewarding, and it was something I definitely did not notice on my first playthrough. Super excited for the class!
P.S. – I grabbed that image on a Youtube playthrough of the original shareware version, and totally didn’t even think of there being a hidden wall behind a hidden wall that could lead to the outside of the level .. I guess there’s a lot more to find in this game.