Creativity Exercise.

Week 8 was all about creativity, what it is and how to be better at it. One of the suggested exercises was a short story of 500 words that uses the numbers 1 to 12. I decided to go with that one. I hope you like the story, but its not pretty. It could do with development and editing but it was just an exercise. I completed it within an hour and a half. Any thoughts, let me know.

Futuristic Soldier from here

12 to 1.

Move, you must move.

It was almost inaudible over the com devices military static…

“Here!”.

Push off the right foot, explode back, pull triggers. Complete. Good, that’s good. Red mist, sparks, perforated equipment and fifteen stone of ‘man down’ in front of me. 11 to go.

Move.

On your knees, check the machine pistols. Right, good, left, nearly out. Gunfire, loud and intrusive, about ten feet away. Swearing and the sound of armour hitting cover. Opportunity. Slide to the corner, that’s it.

Rounds leaping from the left hands’ asset, shattering his knees from behind. Three more to the head as he crumples in on himself, rolling back looking up at me with a tattered face. Grab the weapon. Grab the grenade. 10 to go.

What now? Don’t think.

Moving right, vaulting the concrete, landing softly. Three up ahead, back to back, teamed up. Against the rules. Setting off Crawler Grenade. “What the f…”. Too late. Shock-wave deployed, hydro-static shock rupturing everything biological, soon to be dribbling from the openings in their kit. Back the way you came. Kill, move, kill, move, just like they taught you. 7 to go.

At the door now. I could pop this in like foil. You’re thinking again.

Limpet fitted, armed, three seconds… two… one…

Moved into the room too early, Limpet blast softened by Tac Armour. Foolish move. Flashes from the dark, rounds inbound. Fuck.

Missed. Returning fire. Staccato illumination, blood mist, panic, intense noise but over quickly. The big one is down. 6 to go.

Sun-Stick deployed. Big one still moving, moaning like a deer from back home. Leave him, good distraction.

You need to get out.

Another door, open. Weapon up and ready to destroy. Moving to the frame. Footsteps. Slide back now, gently. He’s coming in to investigate the big one’s death rattle, score some kit no doubt.

Sling the weapon, use the Razor, it’s worth more points after all. Flexing the right hand, I can never get this work… Ah, there it is.

Three of the four blades disappear in the slit between the collar and the head dress. Silly design really, leaving the neck exposed like that. Odd though, the feeling of the skin conceding after the initial resistance. I’ve pushed too hard, I can feel the muscles of his neck on my fingertips. Torrential blood upon extraction, not efficient. 5 to go.

Pain. The ribs. From the doorway I popped earlier. Too busy fucking thinking. Any second now.

Sorry Mum, I’m sorry

The head shatters, Cranial Homing round I think, pink paste and fractured technology everywhere. 4 to go

Get up.

Stooped and wincing but I can fight. Aim at the door. Steady. Yep, reckless idiot, gone right to ‘Stumpy’ to get his kit. Automatic discharge from the Sabre and your full of Ignition rounds. The two to your face will kill you, I’ll wait a sec’ before popping the Alternate-Fire.

Nothing. Fine. Drop a Proximity-Ping then. 3 to go.

Moving from the room, heel, toe and in half crouch. There, waiting on another target. Do I have a…? Yes, I do. Creeper initiated. Up the wall, across the ceiling and… yes, onto his shoulder. I said that slit is a poor design.

Shrieks of excruciating pain, clawing at the neck and terror that there is nothing to be done. Quite now, its shredded the trachea. He should stop moving soon. 2 to Go.

Well, 1 really.

Perfect. Proximity ping. Hitting Alternate-Fire on the Sabre should set off the Ignition rounds from earlier and yes, I can hear the howls of the last combatant fighting for a reprieve from the chemical torture.

No more to go.

A calm voice over the global comms. “Well done Lilly. You’re in.”

Creativity, catching up on week 8

Image here

The purpose of this weeks content is to introduce me to various ways that the creative process can be structured and discussed with regard to its role in elevating an app above its competition. The creative process is something secondary to me at this point in time as its no secret that I am trying hard to develop the technical end of my ability so as to be able to build games that are detailed and rely on complex systems. I think that some learning in the area of creativity and in particular its purposeful and somewhat structured execution would benefit me. Its also clear that recognising the value of gaming structures and the ‘hooks’ would make their implementation into other types of app’s easier. I enjoyed the material from this week and have been introduced to a vocabulary with which to talk about these structures and their effects.

Pay more attention

There is a strong emphasis on making sure that the proposed app is commercially viable and therefore able to monetise effectively. I think that I have been a little dismissive of this part of the development process. I am recognising that commercial viability is of fundamental concern, should the developer of that app or game wish to make their living producing such things. Because of that realisation, I think that I will need to revisit some of the other material from the course that deals with Creative App Commerce and Audience Research. I have been very, very keen to just get going and produce ‘something’ and then think about how I am going to get that ‘something’ to market. I know now that is more than likely not the smartest way to go about development, particularly in the long term.

How to get recognised?

It’s a very crowded marketplace. The presentation talks about an apps need to be distinctive and appealing and that developers should be aiming at this goal right from the start. This is made somewhat easier if the project is already aimed at a well defined target market. The conversation about the USP (Unique Selling Point) was touched upon again and I think that I would benefit from having a read around as to what this really means. I understand the phrase, I just wonder how many successful app’s are really unique and if they are, how much of their content or deliverable experience is truly groundbreaking? Then there is the issue of ‘staying relevant over time’. This is quite a challenge considering how quickly tastes and technologies move on.

Redundancy and Pattern Recognition

Humans and animals alike make assumptions based on information from previous experience, even when that information if not complete. We fill in the missing pieces and assume that we know how some experience will play out. This is understandable though, considering that there is limited time and the ancient part of us is still wired up to avoid threat and death. There is another way to look at this structure and its effect too. How much information is enough? Does the brain need to know the genetic make up of the dog that’s snarling at it? Or, is it enough to know that ‘snarling dog’ equates to ‘bitten arm’ in this particular brains experience? But, its true that there is inspiration lurking in looking more closely at those auto-piloted systems and trying to disengage them sometimes.

Over time, people get more reluctant to experience new things as they get older. With regard to creativity, it can be a problem as it leads to stunted innovation and our ability to solve problems is diminished. But there are things that we can do to circumvent that problem.

Disruptive thinking and practice is a good way to do this. The practice of disruption can be applied purposefully by experimenting with known and well understood concepts, assumptions, mechanics and so on. I understand this to be a ‘break it on purpose’ sort of process in which the creative can try out some ‘what if’ scenarios. This is not new and not confined to apps and games either. Just look at Royce Gracie winning the first Ultimate Fighting Championship and how he used the grappling and submission based martial art of Brazilian Jiu Jitsu to ‘disrupt’ the idea that striking was the most important fighting skill.

Its clear that there has been much of this with phones and social media being the one that leaps to mind. But, while those things have come about because of fresh technology, existing tools can be re-purposed in a similar way and is likely easier to execute in most circumstances; the toys are already there.

This effect of ‘filling in’ can also be positive, in that creatives can build on the work of others by including material that acts as a trigger in the observer. The video talks about ‘genre’ in this light and I found this quite enlightening. The alternative task for the developer, or any creative field, would be creating everything from scratch every time. I think that I am getting a better sense of what the scope of a USP can be. It is indeed legitimate to collect established themes and well understood ideas and mechanics, but arrange them just a little differently. This makes me think of the guitar and the radically different music that can be presented to the listener. The difference in how a listener is likely to experience the music of Steve Vai, a virtuoso rock guitarist, and Tony Rice, a well know Blue Grass musician, is pronounced even though both musicians are using much the same instrument.

De-Familiarisation is something that Steve Vai practised while becoming a ground breaking guitarist. He talks about strange practices in the lessons ‘Little Black Dots‘. I think that de-familiarisation is another way to say ‘novel’. Its well understood that the human mind wants just enough novelty to make life interesting but not so much as to make things seem unpredictable and dangerous. Having novelty confined to a game satisfies both needs well I think.

Hooks

I really enjoyed the section of the presentation that talked about hooks and how they are employed in different ways to affect players and app users. The idea of ‘stickiness’ is also great and really fun way to talk about being able to build habits in the player that keep them coming back to the product. This is another area where I feel that having a new vocabulary will benefit the design work that I carryout in the future. I can see the potential reward of thinking about this early in the development of a new product and experimenting with different hooks to see which are the most appropriate and effective in creating a sticky gaming product. This section has been the most interesting part of the weeks material for me and will form the basis of a SMART goal. Instead of talking about what I found out from the presentation, I will conduct a little research for myself and perhaps a light examination into which hooks I am using successfully and unsuccessfully in Serial Link, the only live project I have at this time.

Specific

Look at 3 to 5 sources online regarding hooks in games and identify the strongest ones for the types of projects that I produce.

Measurable

This will be complete when I have update the journal with the information I find on the most appropriate gaming hooks.

Achievable

I am already making games and have utilised some hooks without knowing that there is an established structure to them.

Relevant

As an aspiring game developer, I need to understand how to use these tools so that I might make better games.

Time bound

I would like to have this work complete within one week and should spend no longer than 3 hours on it.

Serial Link Commit 16: 24th March 2019

I am really getting a lot from using version control. Being able to look back over the commits and see what was updated and what was changed is very informative. I know that in the software world this is standard but there is always a first time for experiencing even things that turn out to be ordinary.

Commit

  • Imported the UE4 room from the content examples project as it will look nice for videos showing features
  • Fixed an access none error that was happening when a soldier who is not part of a squad is killed and tries to reach for a squad mate to shout ‘man down’.
  • Fixed access non error when the killed soldier tries to check that the fire team is dead but he does not belong one.
  • Moved the squad and fire teams into the new space and all the decals and features seem to work except for the squad clean up
  • Squad leader was being spawned outside the room and was not dead when the player was entered the clean up volume
  • Added is valid check to the ‘Dex lost’ call to the Dialogue Manager, as it runs on a re-trigger-able timer and the owner can be killed before the timer cycle runs its course.
  • Added is valid check to the ‘found soldier body’ call to the Dialogue Manager as there is a delay to that call in which the caller can be destroyed.
  • Added is valid check to the weapon base class for when the reticle is trying to cool down but the owner may have already been destroyed.
  • Added an ‘Enable blood’ bool on the bleeding component that can be set in the details panel of any actor that uses it.
  • Took out the behaviour in the Soldier that was polling the Music Manager so that it would change stat at the right time, this needs to be changed to Event Dispatchers instead.
  • Began setting up the Gore Profiles in the Bleeding Component but its not finished yet.

Serial Link Commit 15: 18th March 2019

Just a quick note to say that I went through the content examples project on the Unreal Marketplace and found out how to add physical hit responses to the Soldier characters. It would be better shown in a video but I dont have the time to sort that out at the moment!

Commit

  • Added a very rough version of physical hit reactions. I think it needs more work but its a good start.
  • Spotted a problem with the logic that makes that soldiers hang in the air. when they are thrown using the fling ability, and the collide with anything that causes the hit event to fire, they are executing the ragdoll in air feature. I need to come up with a way to validate the thing that its striking.

Learning C++

This is the fine course that I have been following. More on that here

This is a very sensible post containing very sensible information about a very sensible topic. But, and this the fun bit, that sensible skill of coding in a language like C++ can be high-jacked and used to create monstrous abominations of grown up games! A bit like the one I have been banging on about on the journal for a while now…

The problem that I face at the moment is that I’m not a real live boy. I am the Pinocchio of game development, wooden, due to the fact that the only tool I know how to use in any depth is Unreal’s Blueprint visual scripting system. A fantastic and very elegant, powerful way to make complex stuff, but, ultimately too specific to the Unreal engine and therefor by definition, not transferable. There is also the other problem of Epic’s code hobbit running off down the narrow, dank and dim dungeon corridor clutching a whole host of advanced engine features in its grubby, slimy little digits. His little raspy voice can be heard echoing back toward this wooden boy and it says ‘You’ll never get these extra features, like the adventurers before you, you will perish as the hand of the Compiler!’. First off, who is this Compiler and second, I’m ready! You hear me you little slippery hermit? I’m ready!

On a more serious note, one of my SMART goals is to learn C++ and so I thought I would talk a little about how I am going about that and how I am finding it.

The Course and the teacher

This is Frank. He’s a real good teacher.

The course is laid out in a real ‘lets start at the beginning’ format. Perfect for someone like me that knows a bit, but could really do with starting again and filling in all those little things that I kinda know, but don’t really. That turned out to be a LOT of things. The course covers:

  • Introduction
  • Installation and Setup
  • Curriculum Overview
  • Getting Started
  • Structure of a C++ Program
  • Variables and Constants
  • Arrays and Vectors
  • Statements and Operators
  • Controlling Program Flow
  • Characters and Strings
  • Functions
  • Pointer and References
  • OOP – Classes and Objects
  • Operator Overloading
  • Inheritance
  • Polymorphism
  • Smart Pointers
  • Exception Handling
  • I/O and Streams
  • The Standard Template Library (STL)
  • Bonus Material and Source Code

You can see from the list above that it is structured well and covers all of the topics that I would need to learn about in order to take my learning further and make a career writing this stuff. I can also say that Frank is a very good presenter, calm, knows the material well (I know thats expected but not all Udemy courses can boast this), and above all, he is available to the students. I have reached out a couple of times now and got the help that I needed.

So where am I?

I have been following the course for a while now and I can write basic programs and use functions, classes and statics. I have been using the STL a little, and I understand vectors and the benefit of using them over arrays. I am comfortable writing slightly larger programs, that I already know are actually very small programs! I can make little games and have completed many of the challenges that the course has set. I also have a good understanding of classes and the various constructors including the copy and move variety. I do need to refresh myself of some things as I go along but for the main() (little joke there…) I am doing fine and progressing well.

What I struggle with

I have found pointers a little difficult to use. Use, not understand. I think that once you understand the whole memory allocation thing in enough detail to at least know that memory is divided into addressable cells and that you can access and otherwise use that address just like the information that is stored at a location, then you get it. But, sometimes, its just a bit painful to try to visualise exactly what you want to do with the bloody thing and getting the syntax to match that.

Are you done yet?

Short answer? Ha! Like I ever give those! No, I’m not finished. I have got to the section about operator overloading and I am really enjoying learned about that as it feels kind of ‘advanced’ and for me, it is. I like to feel that I always just a little outside my comfort zone and that I am learning something that is just a touch out of reach. Then, suddenly, it clicks and I have grabbed it! Time for something new… I think that I will have this course completed in the next 3 or 4 weeks considering the other commitments that I have at the moment.

And after this?

Well, ‘after this’ is not really the way I would say it because the answer to that is C++ in Unreal but I am already looking at that now. So I think that what will happen is that I finish this course so that I learn enough just about C++ and then the time that is allocated to that (about 7 hours per week) will then be rolled up in the time that I spend currently on the Unreal flavour of C++ (also about 7 hours a week) bringing the total to 15 hours per week. Love a good ‘off by one’ error. Little array joke there to end on.

if(PostFinished)

break;