Now Saving: Spoiled

Through a string of unlikely timed events, I ended up getting a chance to preview a story I like and give feedback on it.

But it accidentally pressed some of my FFuel buttons and then I ended up drawing smutty pictures of a character from that preview. Which I technically can share- it wouldn’t be immediately obvious what I had scene- but probably shouldn’t, because I’d be doing it due to foreknowledge. So uh. Stuff.

Meant to do coding stuff today, but writing up the feedback took a good 3 hours going paragraph by paragraph through a TtS file that would have been only apprx 40m long listened straight through. And then drawing the saucy pictures was another 2 hours of doodling on paper because apparently I forgot how to draw fillies.  And I spent some time chatting on IRC while eating and watching Youtube… And now it’s bed time. And by ‘bed” I mean “I’m going to play Brave Frontier until I run out of energy”.

I felt kinda awkward doing the feedback thing at first. I know I’m not the best representative of the target audience the story was aimed at. My tastes are quirky and fringe for their niche and I value a good laugh far more than a well rendered plot. But after I made absolutely sure the writer was aware of my skewed tastes, I had fun. Kept most of my comments between a pair of text files. Might share them in the future. And that future would be at least a week out from the story being made public.

OF COURSE. Now this means I am ‘spoiled’ and I can’t play the speculation game anymore until it’s done, because I have the foreknowledge. And I don’t want to ruin things for others.

Also went to class and ate and stuff. Had Spicy Italian Subway sub on jack bread for dinner. Was tasty.

Now Saving: Meh.

Did little yesterday. Same today. 1) Class. 2) Played hours of Brave Frontier (Screencap below). 3) Added cyan indicator to SSE project. Added AoE manager for Resonators. Added pair of Monobehaviors to handle objects that entire that AoE. They currently only half-work. That’s after 4 hours of weak attentionspan. Disappointing, but progress. Interest rising in writing fiction.

The trick is watching what I eat. It’ll make/break a day.

Brave Frontier Arena Clutch Victory

Now Saving: Equestrianauts

Thanks for the input, Tumblr. :3 I’ll continue on as usual, then!

The Equestrianauts episode of Bob’s Burgers was fairly nice. Felt pretty homely and believable. And heck, between that episode and a previous one where an older guy confesses his particular kink to his wife, this show seems to have a lot of my quirks pegged.

Though it does have a good bit of that awkwardness in there, but hey. It’s a thing. Tina was good fun though.

Now Saving: Repost to Tumblr?

Tumblr followers: I can disable the posting of these WordPress blogs to Tumblr. Do you want me to disable them or continue as usual?

Today I: Worked on a video explaining how I usually go about an average college day. (If you wanted to watch it for whatever reason, it is here. ) My first time using my Plantronics Gamecom headset mic for recording audio, and it’s both a big step up from any mic I’ve used before, and a bit of a worrying shift for me in terms of sensitivity. Heck, the thing even picks up my mouseclicks and breathing fairly well. Weirds me out.

The imagery for the video is slapped-together snapshot photos from when I’m out and about and brief videos when I remembered “Oh right I have a video assignment in like a week, I should record what I’m doing”. I ordered the videos in Pitivi video editor… then realized I didn’t have transition effects that I wanted without installing another package. So then I renamed all the photos and videos based on my outline in Pitivi, and then copied it to my Windows partition, rebooted, and recreated the timeline with Windows Movie Maker. Then I recorded the audio with Audacity stepping through how I usually get through a day with the goal of walking through it in such a fashion to at least roughly match my image outline. I did a little bit of editing to remove some easy background noise and a number of ‘um’s (I still missed plenty, apparently). CaptainHoers gave me some tips on how to knock down volume or clip out microphone bumps so that it’s less jarring, so I tried it a few times.  Put that edited audio with the video and used audiosettings to give ‘music’ full emphasis and none of the in-video audio. Rendered that to mp4 and did a handful of conversions before posting it to to the assignment dropbox and Youtube.

Didn’t get Carb Sick today. But I still had the grits. Maybe this time it was the size of the portion that helped? I made a point of leaving the cafeteria immediately after I finished my first plate.

No drawing was done. No coding was done. Spent a little more time flailing around at the IRC chat than I intended to. Probably gonna go ahead and post Blow Ups over to dA after I finish writing this post. Maybe to fimfic as well. Not sure yet.

Sleepy.

Now Saving: Awesomenauts Patch 2.3

I didn't draw this.
I didn’t draw this.

Awesomenauts Patch 2.3 came out with the new character Penny. So I’ve been playing that for the past three or four hours.

 

Other: Made progress in robotics attempting to create a robot that can solve a maze and replay the solution. turns out we were working on the assumption that memory was persistant after reboot, but after running the debug tool a few times we found that we couldn’t retain the information on the path traveled after turning it off and on, so now we have a pushbutton to kick the robot into replay mode without powering down.

Memory limitations are the roughest bit of the bot though. We seem to be hitting the limit on our array of bytes at about 22 entries. We’re using bytes instead of  of words because we can check distance traveled for a good 5-10 seconds before we hit an overflow, which is much less than the approx 40 seconds we’re getting from a word without cutting the array length to 11. Which is important, since the array length corresponds to the number of turns we can make until the robot ‘gives up’.

Also, I finally managed to complete SimSE with a passing score of 92, and submitted the newest worksheet to the team member who’s handling that. Friday’s work should be split between SSE project Resonance, and G2 proje- oh wait no I take that back. I have a micro-project in Digital Multimedia that needs to get done first.

Oh. And revised my resume. Again. Got a third confirmation that yes, I should in-fact be revising my resume, and the advice  getting is more for the sake of readibility, not to make THE PERFECT OMFG RESUME INSTAJOB. Still not liking the feel or thought of this whole jobhunting thing, but it’s a thing that’s going to happen. I’ll worry about it when I get there.

And I had Wirepony do editing for Blow Ups, which I linked yesterday, and then I wrote an additional few paragraphs near the ending. That’ll be going up on Stable 45 soonish (Tomorrow, maybe?)

 

HEARTBLEED EXPLOIT IS A THING THAT HAPPENED. Check to see if sites you use have been affected, if they have been, check if they’ve updated. If they have updated to a version not affected by the exploit, change your password.

That is. You probably should if you value the account. I realize that’s not always an easy thing to commit to.

Now Saving: Someone Is Going to Rob You

Worked on: Went to Games II class. We discussed pathfinding and compared Breadth First, Best First, Dijkastra, and A* as well as a brief stepthrough the general idea of those algorithms, followed by an interactive pathfinder demo software.

Started writing Stable 45: Blow Ups.

IdeaSomeone is Going to Rob You. Briefly considered kind of a turn-based game in which time ticks by in fractions of seconds and there’s a 45 second time limit in which a character will (probably) attempt to rob the player’s character. The goal is to A: Survive the encounter and optionally B: Get away with all belongings and health intact.

The idea being that the player can create a character to a degree- Pick their proficiency at speech,  self defense, physical fitness, visual perception, sound perception,  depth of social connections. Maybe also have ‘backgrounds’ that affect those stats or give more specific benefits.  (I dunno. Like uh. Took a self defense course. Or having have committed theft/robbery at a previous time themselves. Being a scholar. Having a paid escort. ). This probably would also affect what kind of equipment the player’s character has available, like whether or not they have a cellphone, if they have their money in a wallet, is the money cash or cards, do they have keys, do they have pepper spray,  is all they’re carrying a camera and photo album? Do they even have money?

The robber in the scenario is generated randomly with its own stats and background and skills.

Gameplay would take place in a scenario in which there are multiple people. doing their own thing, and the player has no way of knowing which is the robber unless the robber acts against the player’s character. If the robber acts hostile towards the player, the player is free to respond in several ways, though there would be some dice rolls based on stats to gauge  response time and panic level before offering the player their options. It’d be turn based to allow a bit of back and forth between the player’s character and the robber and actions like trying to pursue via speech would take longer than an action like punching or shouting for help.

With the scenario of multiple people, it’s possible someone else might be robbed, or that the decided ‘robber’ might be detected in advance or simply decide that whatever they wanted isn’t worth the consequences. With the stats, it’s possible that the robber might attempt to threaten the player’s character with a knife only to be promptly disarmed, beaten silly, and have authorities called in for assistance. With the backgrounds it might be possible for a robbery attempt to start, only to end awkwardly when the robber realizes the person they tried to rob was an old childhood friend from school.

Either way, after 45 seconds in-world time passes (which doesn’t correspond to RL time), the player’s involvement in the scenario ends. Maybe since the player is viewing/playing through an electronic device, their ‘connection’ fades away? Or maybe authorities show up?  Maybe the robber panics and attacks self.

Weird idea, but it seemed like it’d work OK for a mobile game or something.

Now Saving: Anticlimax

Worked on putting this short sketch story thingy from earlier onto Stable 45:  http://retl.github.io/stable45/pipbuck.htm

Played: More Brave Frontier. Also, PnP day was today. In which we met Eris and then a bunch of NPCs disappeared.

I once suggested that one would most want to save after completing unpleasant or unfun tasks such that they wouldn’t have to redo them if the worst happened. Though sometimes it would be nice to be able to go back and fix the days that were not-so-nice with the foreknowledge of what happened in them previously. Though then I realized that that might be how I make it to the days I do write about. How would I know? If everything I had done in one pass had ceased to have ever happened, then there’s nothing of it to recall in the present. I couldn’t have sensed it with my body to interpret the signals to have memories of it with any particular body or anything.
They’re just a string of possible events that have not occurred in the realm in which I exist.

 

Is that what dreams are? Recall of existences that once were but no longer are? It would give dreams like the one I last wrote of a different degree of importance, I suppose.

 

A lot of anticipation and disappointments right at the start of the day. Waiting in a line 20 minutes to find out at the end that the guy in the fancy outfit cooking the unusual meal is not serving to students. To expect the bus at 12 and see it at almost 12:10. Still waiting to see what comes of the Super Smash Bros. Nintendo Direct, but my expectations have been knocked down a peg.

Admittedly, though, I woke up feeling immediately like giving up on the day and going back to sleep. Played videogames (Brave Frontier) on my phone for about two hours until that feeling went away. Still been feeling a little drained and meh, but I’ll live. I guess.

 

 

Now Saving: The Seas Have FEAR

phonedin

 

 

I really don’t have enough time or care to do something bunny related more involved than this right now.

Bad Dream:

I mentioned how sometimes my subconscious starts beating myself up for liking certain things in fantasy that are illegal and unrealistic in the real world right? Ended up waking up this morning from a dream where I was pulled into some kind of interrogation or something over something never-specified-in-the-dream that I had done, and then was given a fatal injection after they had concluded guilt. But for some reason it didn’t kill me instantly, and I was flailing and thrashing and fighting in pain over it.

Woke up relatively painlessly from the dream, but a little startled and fearful. Because again, there’s not exactly any real way to know if trying to get help for thoughtcrimes and worrisome metal processes and whatnot isn’t just gonna get flipped around and used as a weapon. Had an hour or two where I realized that while on some level I have accepted that I will die and that I am OK with that fact, I always assumed that my death would be instantaneous or peaceful and painful. And that as much as I always insist that ‘it’s better to try to survive, because with survival comes the potential for change (hopefully for the better)’ it directly contrasts with my mental assumption of a peaceful death and my belief that ‘the dead don’t feel’. (Though while I believe the dead don’t feel, I sometimes question that given some ghost stories I’ve heard.)

My point being. I’ve still got some issues. I’ve still got some guilt for having those issues. And I still don’t think there’s any way I’ll ever be getting rid of the baggage. The hard part is knowing that I’m wrong and that may very well one day end me. Or I could try to get help now and face the immediate risk of being ended.  I think I’ll go with the longterm survival plan thankyou.

My eyes are tired, so I’m gonna go to sleep soon

Copypasta:

Normally I don’t share assignments I’ve completed with the internet so that there can be no claims of academic dishonesty, but I think this time in particular, there’s enough specifics that it would be difficult for anyone to steal this work, and easy for me to prove it is me should it ever be contested:

The following is what one of my weekly reports  for Games Programming II looks like (with some lost formatting):

CPSC 4112 – Game Programming II – Spring 2014 – Weekly Report

Week from 31 Mar. 2014 to 6 Apr. 2014

Name: Carlis Moore

Game Studio: Blue Husky Studios

Game Title: The Seas Have Eyes

What I worked on this past week:  Added an enemy that damages the player when the player looks at it.

What issues were the most salient:

There is no cone primitive in Unity. So when I went to try to make the trigger for detecting if the player needed to be hurt, I couldn’t just have a child cone. I had to create and import a cone to use as a child mesh collider from Blender, and I had to manually reshape and reposition it multiple times to try to match with the projection of the flashlight. It’s still not perfect, but it’s progress.

What I plan to work on this week:  Make the other two enemy types work. Add the weapons and other powerups.

 

Special Topic for this week:

Referring to our discussion on Wednesday, do Exercises 2 and 5 in Chapter 9 of the textbook (pg. 211) and submit your answers.

Exercise 9.2

Pause Ahead <http://askiisoft.com/games/pause-ahead/> seems to take heavily after Super Meat Boy and Eversion. It’s a bit ambiguous, as the 2D platformer is something of a genre that was pushed to popularity due to successful 80s and 90s titles like Donkey Kong, Mario Bros., and Super Mario Bros and there have been several games explore variations within the genre since.

Similar to Super Mario Bros 3, the character navigates their way around lethal obstacles by running and jumping. The player may pause the game at any time. There’s a timer that counts down to zero and will remove a life if the player doesn’t reach an exit in time. There are large angry-looking rock creatures that stay stationary until the player gets close and then slams down.

Unlike Mario, Eversion, or Braid, Pauein cannot defeat enemies by jumping on them. The number of seemingly-living creatures is limited and moving obstacles are placed with such care that it takes a lot of forethought and precision to overcome them. The slightest touch of any obstacle means an instant explosion of Pauein and restart of the level. And just like Super Meat Boy, clearing a level shows a replay where all of the previous lives simultaneously run through the course as the player had before.

Unlike Super Meat Boy, Pauein cannot jump, and they have no damsel to save. The player’s only other ability is to pause the game, which freezes all obstacles in place and locks Pauein into moving with the same velocity they had at the instant the game paused. While paused, Pauien is impervious to damage and the timer will not count down. Using this mechanic is a requirement, as by level 5 there is a level with a jump that is impossible to cross without using the pause to fly the distance. (Failing repeatedly on this stage will point out the mechanic up to 10 times before giving an achievement for ignoring the primary mechanic of the game.)

The above mechanic was present from the start of the game’s design, as can be gleaned from the Molyjam prototype <http://archive.molyjam.com/display.php?GameID=141> where the prompt was ‘”What if the pause button was a weapon? Until developers think outside the box we’re going downhill.”‘ Were that mechanic removed (and the game playable without the mechanic up until the above mentioned fifth level) it would be like a simpler, easier Super Meat Boy with different theme.

 

Exercise 9.5

In Metroid for the NES, player’s relationship to the enemies is not balanced towards fairness, but balanced in favor of the player. Typical enemies are weak and dispatched with very few attacks, while boss monsters tend to have a variety of abilities and powers that the player cannot ever obtain. Regardless of the enemy type, however, almost all of them are designed with such patterns that they can be beaten by a player after their methods are learned. There are many power ups that allow the player to become stronger and stronger until they deal far more damage than any lower tier enemy can deal with, and the player has the ability to regain health from pickups while enemies cannot. Metroid wants the player to win, but they have to spend a lot of time carefully exploring if they want the powerups to excel. While some powerups are mandatory for progression (Like the Screw Attack) it is possible to clear the game without getting them all, as a number of them are for convenience and completion’s sake and are well hidden bonuses.

Metroid feels fair for the most part during play, as the game doesn’t hurt the player in ways they can’t identify what’s damaging them, and the game doesn’t trap the player into scenarios that they cannot win or that the outcome depends more on luck than the player’s ability to respond to a given scenario.

 

Log Entries:

  • 2 April 2014

    • 3 PM – 5:30 PM: Flailing about trying to create at least a placeholder enemy. Did eventually implement a basic form of damage and stuff though.

    • Defects:

      • Had a lot of smaller issues dealing with referencing the correct objects from the collider and dealing the damage at a regular rate. The first were easy to deal with. The latter, I use a cooldown timer to handle.

  • 5 April 2014

    • 1:30 PM – 5:50 PM:

      • Tweaked player movement so that there are three different movement control schemes the player can use. Currently there’s no way to toggle this in-game without using the Unity inspector. Tweaked the enemies and players so that they can check if they see each other via a Raycast.

      • Enemy can now smooth-follow the player once it starts looking at it. Once the player leaves enemy range, it stops tracking the player.

      • Defects:

        • Had a TON of trouble for about a half hour trying to figure out why my raycasts weren’t finding anything. Turns out I was passing a ‘0’ at the end when I should not have, making the object check only for things on a layer that I wasn’t using.

  • 6 April 2014

    • 1:30 PM – 5:50 PM

      • Added the three different enemy types as placeholders. Slabs do not move from their position, but can look at the player. Boogers will chase the player when very close by, and deal the most damage per unit time. Stalks will follow the player for a much wider range and deal the most damage per attack, but have a smaller attack rate.

      • Made the screen flash red when the player is taking damage so that it’s more clear to the player when they’re being hurt. If the player’s HP drops to 0 or less the timescale is set to 0, effectively giving a Game Over state. It’d be nice to also display a Game Over screen and have a high scores list and menu cycle here.

        • Defect: I had a silly amount of trouble with this one. Originally I tried setting values in GUI.color and GUI.backgroundcolor on a GUI.label and eventually GUI.box to cover the screen. But setting those values did not affect the theme that the box or label was using. I looked up information online on how to work around it, and the best solution I found was to create a 1×1 pixel texture, set the pixel color dynamically, set that texture to repeat over the length of a surface, and then use Gui.DrawTexture to put that texture onto the screen. While it arguably takes fewer lines of code than doing the same in HTML5 with Canvas, I do miss having tools to directly draw figures and shapes to the screen filled with a color rather than having to create a texture with said color and then filling with that texture.  I imagine this practice has something to do with the rendering pipeline, but didn’t look much deeper into it.

      • Updated the Readme with the controls, added a button to toggle between the three different movement-styles,  and tried to add code to hurt the player on collision with the enemies…

        • Defect: My collision detection wasn’t working at all. No matter what tweaks I tried, the enemies were not acknowledging that the player had ever entered their collider

          • Possible Solution A: I could have the player check for collision with the enemy and then let the enemy know that the player has collided, and then do damage that way. But that’s something of an OOP violation, as the player class shouldn’t know the enemies are hostile. The enemies know that they are hostile.

          • Possible Solution B: Iterate through all contact points on a collision for ALL that correspond to the player or the player’s child. Messy, slow, and a little bit of a pain to code, but this might be the one that ends up being used.

          • Temporary Workaround Solution: Simply check if the player is within a secondary much-smaller damage radius, and then assume that it is in contact and deal damage. That’s what I did in the last hour of working on the project today, but it’s not very convincing and doesn’t scale well at all with enemy size, but trying it did make me realize a small coding error.

      • The enemies now FLEE the player! Also, I moved a lot of the utility methods I found myself using in multiple games into a separate class, that I’ll now be importing most of my existing Unity projects. I might keep a separate repository just for managing changes to it, too. Not sure on that, yet.

        • Defects:

          • Moving my usual methods into its own library was a little tricky, as I had to re-write almost all of the methods so that instead of assuming they were being called in an object that was a GameObject or owned a gameObject, they were all static methods that would be called and given a ‘performer’ gameObject as a reference with which to do all other behaviors.

          • I wasn’t sure if the enemies were supposed to be stationary or moving. Slabs, for example, were marked as stationary in the HLD, but only deal damage if the player is looking directly at them AND in physical contact with them. Which is odd. because if the player sees a Slab ahead of time, why would they ever touch one? I contacted Leggiero for more info on this one. They told me to look at the HLD again. Then I noticed Stalks and Boogers had a vague description of speed, but no explanation of in what fashion, direction, or quantified speed they moved.

          • Once I got them moving, I found they didn’t move in the way I expected. Yes, they did wait until they got in proper range before attempting to move, but once they moved, they often flew very far away from the player, with or without a rigid body. They’re supposed to be chasing the player, not fleeing it!

Now Saving: Weekend Computer Lab

Drew: Combined stuff I do all the time with stuff I haven’t tried.

littlebunnyandstuff

Learned: Computer lab is open on weekends 8AM-10PM. Must have ID and must go through correct doors to avoid lockout. ID scans on white plastic with red light, not black with blue light.

Worked On: The Seas Have Eyes. 3 hours logged. Three player control modes supported. Placeholder enemy will only damage when facing player (detected via raycast) doesn’t turn to look at player unless player is looking at it (detected by imported cone mesh collider). Need to merge branches to master, add weapons and score. Other two enemy types. Game Over Screen. High Scores Table.

Played: 3 matches of Awesomenauts. Playing on revised league 8/7 has made it clear I’m not that great.

Tried to play more Sprit Stones but corrupt game data necessitated a reinstall, and because I didn’t link with facebook, I lost all of my save data with the reinstall. Tried out some new games instead.

Cut the Rope Full Free – Don’t bother, the ads are incredibly obnoxious. Also, it’s almost all physics-puzzles. Not my kind of game.

Angry Birds Friends: Pretty, cheerful, but ALSO physics puzzles. And thus I don’t enjoy it.