A Solution for Difficulty Curves and Power Creep

Most games portray you as a hero of some sort. A common trope is for the hero to be either inexperienced at the beginning of the game, or lack his equipment. This gives a reason for why the hero does not just plow right up to the main baddie and kill him at the beginning. In any case, a lot of games suffer from a strangely shaped difficulty curve. The game starts out fairly easy as the player learns the ropes, then the enemies get harder. Finally, you max out your stats and the game begins to get easier again.

Granted, the best games suffer from this less, but a lot of games have trouble with this type of power creep. Spore is a prime example of a ridiculously easy endgame (the space stage was essentially a sandbox). Some developers solve this by making enemies more powerful as the player progresses. This can work in games where, for instance, the enemy starts to realize just how much of a threat you are. In open-world games like Skyrim, though, this makes little sense.

Yahtzee, of Zero Punctuation, mentioned in one of his Extra Punctuation an inkling of an idea for a game that is designed with this problem in mind. I have taken the liberty of gripping the nebulous concept by the horns and fleshing it out.

The game is based around the power suit you wear. It is a magnificent piece of High Technology. Unfortunately, this means that nobody is quite sure how it works. The machining of the piece is much too fine to replicate, in any case, which means any replacement parts have to come from other pieces of High Technology, which are few and far between.

At the start of the game you escape from the main fortress of the Bad Guys with some sort of Valuable Item (perhaps information). You raid the armory and steal the suit before plunging yourself deep into the wilderness around the citadel. You spend the game running from a cadre of pursuers, trying to make your way to the border. At every encounter with an enemy, it is up to you to protect your suit as much. Each blow is physically simulated and, depending on where you place armor, where the hit was, how hard it was, etc. a component on your suit has the potential of breaking. Parts also wear down over time.

The most critical part of the game is deciding how to keep your suit in working order. Some systems are critical, like the pneumatics that let you move (damage to arm parts may impair aiming speed, damage to legs may reduce speed or jump height, etc), and some are dispensable, like weapons. If a critical system receives a hit and becomes in critical danger of breaking down, you have to stop and either fix it with any spare parts you find, or scrap a non-critical system on your suit to get the essential parts.

This meta-game with the suit solves the problem of power creep. You are at maximum power at the beginning, but enemies are also at the greatest density. Slogging through the wilderness and fighting enemies wears your suit down, so by the end you are barely limping along. As time goes on, you have to choose which weapon or system to scrap for parts. This means that you get a sample of all abilities at the beginning, and can keep the ones that best suit your play style. One of Bioshock’s biggest problems was that there was no incentive to try new plasmids. I’m sure the majority of players just improved the starting set, because buying new powers was too much of a liability.

I like the idea of having the game being mostly free-world. You can choose the best path through the different types of terrain to avoid encounters. Cold environments, wet environments, and sandy environments all have different types of wear and tear on the suit. Roads are easy to traverse (meaning less food consumption and lower likelihood of suit failure) but are more likely to find troops on them. Towns and other population centers are more likely to hold supplies (food and maintenance items are critical for survival) and spare parts, but the citizens will raise the alarm if they see you, and there are likely to be troops in towns.

The catch is that any alarms you raise will alert the search parties to your general presence and means a higher chance of encountering troops. Same goes for any military engagements in which an enemy scout or survivor escapes. The game is part stealth (avoiding conflict), part tactics(managing the suit, choosing your world route), part combat (winning conflicts you get into). At the end, instead of a boss fight, you have a final battle at the border of the kingdom as the search parties converge on your position and a friendly militia comes down from the other side of the border to help you across.

Advertisements

Unity and tjSTAR

Here is a soundtrack for this post:

Everybody should use Spotify. It’s like magic, but real.

So I wanted to talk about Unity. For those who don’t know, Unity is a game engine. But it’s way for than that. The best way to describe is an IDE for game development, similar to UDK. Every part of the development cycle (aside from asset creation) can be done within the program, from placing assets to creating game object behavior to playtesting. The engine also has built in support for pretty much anything you would want to do. Behavior is described through scripts, which can be written in JavaScript, C#, or Boo (which seems to be a Python/C# hybrid). Assets can be imported from almost any file format, without external conversion. For instance, any 3D file format that can convert to FBX works, and image formats from PSD to PICT. Unity constantly checks for asset changes and updates them in realtime.

A good analogy involves programming languages. UDK is like Java, while Unity is Python; Source is C++. You don’t really understand how much annoying background work you are doing with Source until you start using Unity. However, unlike Python, Unity has an enormous learning curve. This comes from its being extremely powerful. I’ve only just started working with it (a few days) and I can see that there is a huge amount of potential. I also still have no idea how to most of anything.

The event that sparked interest in Unity was tjSTAR, an annual symposium held by my highschool. In addition to Design Challenge events and student presentations, there are also panels and professional talks. I attended 5 talks, all of which were fairly interesting.

Game Design and Development as an Academic Path and an Industry
This presentation is an in-depth look into majoring in game design in college, what universities offer the best programs, and how to get in; accompanied by an overview of the game industry and the careers it offers.

Mr. Danny Kim
Student
University of Southern California School of Cinematic Arts, Interactive Media Division

This was the presentation that got me interested in Unity. Of course, I had seen it before, such as at SAAST(the computer graphics course, specifically) when we looked at projects the undergraduate students had been doing, they used Unity for the most part. Danny Kim (a TJ alumni himself) also talked about how TJ is a great source of talent, both due to the large number of talented programmers, but also the great writers and artists. Any interested reader should check out his blog, See Play Live.

Big Data: What Is It and How to Cope With It
With the digital world enveloping our lives through mobile devices, digital home appliances, digital sensors and controllers, and video, data growth is expected to be massive in the coming years pushing into peta and zetabytes. Of this data, only 5%-20% will be structured. Find out how is the technology world is preparing to cope with this onslaught.

Ms. Rumy Sen
President & CEO
Entigence Corporation

This talk was about processing large amounts of data, especially sampled from online sources and social media. The objective is to analyze the whole of customer feedback across the Internet rather than from small testing sessions performed by marketing and consultant companies. However, this requires entirely new structures for storing and processing the data into a usable form. She talked about Hadoop and other forms of managing unstructured data that differed from conventional database methods, as well as processing methods such as massively parallel processor arrays.

Computer Vision: Challenges and Applications
Computer vision is the art of teaching computers to see and to understand what is in images and videos. The presentation will discuss some of the key challenges, and show practical applications.
Dr. Peter Venetianer
Director, Commercial Science Development
ObjectVideo

Computer vision is obviously interesting. The big brother of computer graphics (the two are inverse problems), it has stumped researchers for decades. The first professor to attempt the problem was sure that a summer with a lab of grad students would solve it fine. Now, 50 years later, we are starting to make some headway. Dr. Venetianer discussed some of the methods for separating critical objects from a noisy environment. Spotting movement from a fixed viewpoint is fairly easy. If you have three consecutive frames, spotting moving objects is simple using the three-frame method (it involves comparing differences). However, identifying the objects is much harder. If you know what to look for, the problem simplifies somewhat, but there are still numerous exceptions. A car is usually wider than it is tall, except when it is coming towards or moving away from the camera. A person is usually taller than they are wide, but a group of people is more likely to match the profile of a car.

Spacecraft Guidance, Navigation and Control
Guidance, navigation, and control (GN&C) is a specialty area in Aerospace Engineering that involves determination of how a vehicle gets to its target, knows where it is, and maintains its position or trajectory. These concepts and related technologies will be highlighted for spacecraft application. Some of the projects involving GN&C at Emergent Space Technologies will be summarized.

For more information, visit http://emergentspace.com/.
Dr. Sun Hur-Diaz
Vice President
Emergent Space Technologies, Inc.

Until you think about it, determining where you are in space might seem trivial. But because hardware never reacts perfectly, a spacecraft needs to constantly be checking its position and orientation. But you need a variety of instruments, such as sextants and telescopes, to determine orientation. To find your location in orbit you need at least four GPS satellites. Finding which orbit you want to go into requires some physics simulations, as well as constant corrections to maintain it. In fact, finding an orbit to optimize fuel usage and time for a set of destinations is a huge field.

Millimeter Scale Robotics Research and Development at the MITRE Corporation
As we continue to look for ways to keep soldiers and first responders out of harm’s way, the capabilities of robotic systems improve and demand for them increases. While large robots have been used extensively, the development of smaller robots opens up a range of additional potential applications, such as accessing confined areas for search and rescue or surveillance purposes. To address this emerging need, MITRE’s Nanosystems Group has been developing rugged, low-cost robots, designed to be carried in a pocket. They can be operated from a mobile phone and reconfigured in the field to quickly adapt to specific missions.
Ms. Jessica Rajkowski
Systems Engineer, Sr
The MITRE Corporation

I don’t know if I mentioned this before, but I am working at MITRE this summer, albeit in a different division. The talk was still fascinating. Some of it was about developing micro-scale “robots” using interesting properties of polymers and metals. The speaker also discussed MITRE’s development of a hand-sized field robot designed to be low-cost, low-maintenance, durable, and easy to control. Obviously this would normally violate the rule of “cost, speed, quality; pick two”. To some degree it was speed that was sacrificed. It took years to develop the robot, but at its current stage it is pretty amazing. Another subject of the talk was the speaker’s project to set up a consistent test for testing whether a producer’s robot was up to MITRE standards.

I’ve also continued to use Google AppEngine and I’m working on a forum, seen here.

Udacity

I was going to write this post a lot earlier, but I’ve had a lot on my plate recently; AP tests are coming up, track is coming to a close which means a slurry of meets, and I’ve been doing a Udacity course. Udacity is a site that offers free online courses in a video-lecture/machine-graded-homework format that allows thousands of people to participate in each course as it’s happening.

logo-udacity-1600-900px_article_landscape_gt_1200_grid

It was created by the professors who taught the Stanford AI online course, which pioneered the format. It was a huge success, so they decided to create a separate organization which offered a variety of these free classes. They also bring in different people to teach the different courses.

For example, the web programming course that I’m taking is talk by one of the cofounders of Reddit, Steve Huffman. The course is quite interesting. Of courses, I taught myself HTML and PHP, but there are holes in my knowledge, both basic and advanced. The course filled some of those in, but it also teaches an area I’ve never worked in before.

The course is mostly about building an app using Google App Engine. For those who don’t know, App Engine runs a Python environment. You upload code and other files which, given a request, generate a response. You can map out various directories to either query code or directly draw HTML or other documents. Within the code, you have to write one or more handler classes which extend the App Engine API. They have functions for GET and POST requests, which then build a response. Google App Engine also has other functionality, such as data storage.

Anyways, posting will get back up to speed after the AP World History test, which marks the end of a lot of my business. Next post will be more TF2, so stay tuned.

%d bloggers like this: