It is official. I have successfully achieved what I would consider my first real computer game. Using the SGDA at UTD as a springboard, I got a team together and we made a wonderful real-time strategy computer game about making computer games in 48 hours. It's a glorious piece of thrown together basic mechanics, and even though the game is a little slow to get going, it can actually be quite enjoyable and challenging to play.
Here's a link to the page where the SGDA 2014 Game Jam games can be found:
http://itch.io/jam/sgda-game-jam
Our game is called Crunch Time. You can find all 8 team member's names in the credits of the main menu.
Not to be mistaken for the card game or for Game Dev Tycoon. Yes we all knew about the game, and no we didn't really know enough about it to steal anything from it. We just started shouting ideas at each other until we agreed on a few and then tried our best to program and draw them out. We spent an actual 24 hours working on it, from 7pm to 2am the first night, from 12noon to 2am the second day, and from about 11:30am to 6:30pm the final day. Subtract food breaks and delirium and you get about 24... So truthfully you can sleep a lot regardless the deadline. I would argue that sleep is why we were able to keep going at such a furious pace.
The best part was seeing one of our programmers win the game. We didn't think it was possible because we didn't really program in a solid winning criteria. Basically, the game stopped counting time after about $8 billion in earnings.
Sunday, November 2, 2014
Monday, October 20, 2014
Defining Random
Randomness and Game Design by Keith Burgun
Using that article as a springboard for this one, I've known since the 7th grade that random events are mathematically impossible. There's always parts to the equation. The more random something might seem, the more complex the equation might be. Of course all of this is relative and difficult to define. Some people believe in fate, some in willpower and determination.
I define random as an event that has the appearance of unpredictable. This is why Math.Random number functions work so well in programming - they're specifically designed to produce an unpredictable result. When we see the event enough times or we look into how the event breaks down, we find the pattern and therefor destroy its randomness.
When someone swings an axe at a tree numerous times, each swing is directed towards the same area and comes from the same direction. Likewise, when an arrow is shot at a target it follows the same rules as the axe. The equation for the result might include things like wind speed, air temperature, altitude, the person's strength, what materials the object is made of, how many times it has been used, if the person has done the action one time or one hundred times, is the person angry or calm or focused or distracted, etc. For our two examples: the axe hits with differing force at various angles and displaces a seemingly random amount of wood each time; the bow flexes a predictable amount, and the arrow's accuracy depends on the steadiness of the archer - the arrow may still land in seemingly random spots relative to the target's center. Even if we built machines to do these actions for us specifically to remove some of the unpredictability, there would still be some randomness left regardless. In math, the amount of randomness would be the standard deviation. Since the deviation is smaller with the machine, the random element can essentially be refined out to such a small amount that we would no longer detect it.
Using that article as a springboard for this one, I've known since the 7th grade that random events are mathematically impossible. There's always parts to the equation. The more random something might seem, the more complex the equation might be. Of course all of this is relative and difficult to define. Some people believe in fate, some in willpower and determination.
I define random as an event that has the appearance of unpredictable. This is why Math.Random number functions work so well in programming - they're specifically designed to produce an unpredictable result. When we see the event enough times or we look into how the event breaks down, we find the pattern and therefor destroy its randomness.
When someone swings an axe at a tree numerous times, each swing is directed towards the same area and comes from the same direction. Likewise, when an arrow is shot at a target it follows the same rules as the axe. The equation for the result might include things like wind speed, air temperature, altitude, the person's strength, what materials the object is made of, how many times it has been used, if the person has done the action one time or one hundred times, is the person angry or calm or focused or distracted, etc. For our two examples: the axe hits with differing force at various angles and displaces a seemingly random amount of wood each time; the bow flexes a predictable amount, and the arrow's accuracy depends on the steadiness of the archer - the arrow may still land in seemingly random spots relative to the target's center. Even if we built machines to do these actions for us specifically to remove some of the unpredictability, there would still be some randomness left regardless. In math, the amount of randomness would be the standard deviation. Since the deviation is smaller with the machine, the random element can essentially be refined out to such a small amount that we would no longer detect it.
Monday, August 18, 2014
LAN Gaming
I want to document an evolving phenomenon. Local area network (LAN) gaming isn't a new concept. Since the introduction of computers, we have been linking them together to play games or run simulations. Currently, LAN gaming only happens under specific conditions: at dedicated events, such as conventions (QuakeCon), church functions, or club activities, or as established companies (ShadowLAN). The primary difficulty being to transport and organize many desktop PCs in a small physical space. Given laptops and wireless networking, that challenge has been made easier, but LAN gaming is still a relatively rare occurrence.
The majority of multiplayer gaming happens over a wide area network (WAN). This poses the comparatively and similarly difficult challenge of virtually connecting people's computers through a service provider. That process can involve port forwarding and other dangerous firewall holes, and expensive and problematic servers (rubberbanding). So in essence, we sacrifice security and synchronization for convenience. While that's expected to some degree, I still find it interesting that even with laptops and more manageable and lightweight gear (and more powerful computers across the board), we still have trouble managing to organize LAN events on a more frequent basis.
Part of the issue is that the more potent gaming rigs are most commonly desktop computers, or ATX Mid towers. While they offer the most space to customize and upgrade, they are also the most bulky design to transport. Combined with the various peripherals (monitor, keyboard, mouse, speakers, etc.), getting multiple people enthusiastic enough to move their equipment to a temporary space becomes more unlikely.
The primary solutions would be to improve the internet or to change the topology (individual fiber optic service, neighborhood intranet LAN, dedicated school networks). Alternative solutions include customizable lightweight technology that can handle extreme computing needs. Keyboards are large enough to enclose much of the circuitry needed on the motherboard, so perhaps using the physical space underneath the keyboard as a PC would be an innovative way to reduce the overall size of a desktop computer. A fairly old concept used the base of a monitor as the housing for a PC. Perhaps we could revisit that concept with the ability to customize in mind.
It would be a very difficult task to change my mind about the idea of LAN gaming, but I'll only be able to continue being its proponent we keep progressing forward.
The majority of multiplayer gaming happens over a wide area network (WAN). This poses the comparatively and similarly difficult challenge of virtually connecting people's computers through a service provider. That process can involve port forwarding and other dangerous firewall holes, and expensive and problematic servers (rubberbanding). So in essence, we sacrifice security and synchronization for convenience. While that's expected to some degree, I still find it interesting that even with laptops and more manageable and lightweight gear (and more powerful computers across the board), we still have trouble managing to organize LAN events on a more frequent basis.
Part of the issue is that the more potent gaming rigs are most commonly desktop computers, or ATX Mid towers. While they offer the most space to customize and upgrade, they are also the most bulky design to transport. Combined with the various peripherals (monitor, keyboard, mouse, speakers, etc.), getting multiple people enthusiastic enough to move their equipment to a temporary space becomes more unlikely.
The primary solutions would be to improve the internet or to change the topology (individual fiber optic service, neighborhood intranet LAN, dedicated school networks). Alternative solutions include customizable lightweight technology that can handle extreme computing needs. Keyboards are large enough to enclose much of the circuitry needed on the motherboard, so perhaps using the physical space underneath the keyboard as a PC would be an innovative way to reduce the overall size of a desktop computer. A fairly old concept used the base of a monitor as the housing for a PC. Perhaps we could revisit that concept with the ability to customize in mind.
It would be a very difficult task to change my mind about the idea of LAN gaming, but I'll only be able to continue being its proponent we keep progressing forward.
Subscribe to:
Posts (Atom)