Sunday, August 18, 2013

On Creating a "Game"

I have to write a "game".  A computer game to be exact.  A squishable computer game to be super exact.  One that gives the ethos of Mario to my new product, the Shnth.  You see, Mario was the game that came with the console, nintendo.  MikeyWalker, as you shall see this game is called, is the game that comes with the console, the shnth.  Now I will begin by disclaiming that this article will be derivation heavy.  In fact, every word or symbol is to be examined historically, strictly.  First, the back story is "Mario", from "Mars, the god of war"; that is appropriate because usually, up until the computer game "myst", games are all about warfare.  Mario headbutts and stomps, but it is basically war against koopas.  Also part of the back story is "nintendo", meaning, "the way of waiting patiently for heaven".  A company established way back in 1889, when it did not have computers, but instead painted cards, hanafuda, for playing games.  The cards were pretty and flowery, but the game was in fact based on probability and other things useful things for Mario.  Also, the idea of painted cards was reincarnated in Macintosh's hypercard stack idea, and in general the idea of buffering graphics. 
But mostly i am sitting on the porch, still, asking the question, "what is a game?".  It has a player, who usually would sit in the middle, who punches monsters, no?  What is a monster?

Monstro Monstrare Monstravi Monstratus

Monster, of course, comes from latin.  It simply means: to show.  Or, the idea that a monster is a physical manifestation, "a showing" of an abstract fear.  Probably the first incarnation of "monster" was in Pinocchio, whose final challenge was Monstro the whale.  Monstro actually was not a villian in that he did not eat those who were helpless; he needed to eat food to survive. At Shbobo, our goal is not to show you fear, but to show you synthesis and perhaps some quantum mechanics.  So, this term, "monster", can in fact be repurposed here.  It will mean, some sort of operator that MikeyWalker can punch to resonate a synthetic tone. 
Punching, unfortunately, cannot be eliminated.  it is the ultimate squishable violent action.  Unlike a gun, which is triggered by binary action, punching can be hard, soft, jiggly, etc.  The energy of punching is transferred through MikeyWalker's toonhands into the "monster", whom we shall describe more of.

Chubes 

Mikey's enemies are chubes.  That means that they are composed of hard edges, vertices, in a quadrangular arrangement.  Quadrangles: square, rectangle, parallelogram, trapezoid, rhombus, and of course, the kite.  These can all be seen as rovibrational squishes of the square or rectangle.  Rovibrational implies that the worldview seen by Mikey can be rotated, but that the monsters walk on cartesian paths.  Mikey is a nomad, and an atom.  His enemies dwell on the striations of his world.  It is a series of library rooms, each containing generated chubes.  Chubes are square, whilst Mikey is organoform:


The goal is to punch the chubes in rhythm with their natural resonance, derived from their shape, width and thickness.  Then they fall over and moulder there, becoming an edible shroom of recycled data for Mikey to grow with.  You see, the analogy is that of humans always striving to be more than their machine, a la the Matrix.  But here, we not only conquer the machine, we can eat it after our allies the fungus reprocess it.  Vis a vis fungi that can eat oil, PCBs. 

"On any particular axis..."

So goes a line from Feymann's introduction to physics, about quantum spin.  You see, spin is integral no matter what axis you measure it on, as proven in the SternGorlach experiment.  That was to be the key to how Mikey works without openGL.  As of august, 2013, I was to write this game exclusively in Juce, with monsters as a simple square component that resonates in width and height.  But due to overtaxing of CPU, application of AffineTransform is out of the question, also in light of the fact that CPU is generating synthesizer sounds from each monster: showing us the sound of the enemy.  So, no monsters are tilted.  But this contrasts with the firstperson idea of Mikey, who waddles through the world rovibrationally, inducing that the world must rotate around him.  Two solutions: use openGL and do a smart mesh of vertices for the worlds of chubes encountered; or keep chubes always in the normal axis and read them as a quantum experimenter does: as a probability wave in the axis in question.  Would bring up some strange physics, but that is our goal at Shbobo, no?  Basically would have the broken nineties computer game feel of things stuck to the x and y axis, with no GPU unit installed. 

Conclusion

Either use SDL, a lightweight C framework, and openGL 2d meshes for a classical MikeyWalker program, or Juce and no GL for a radical, but broken seeming quantum MikeyWalker.  He must also be able to upload his theme to the shnth: transcribe Mario's theme with its intense quintuplet syncopation and mutate based on the organoform:martian:rectilinear motif.
All worlds must be scriptable: they have a moon.  Is Lua a good language?  It seems so, if I were to do what I was told, that Lua is good.  It is compact, and I listen to other's opinions.  I guess Ruby would be too big, because rooms of chubes don't really need radical OOP.  Lua means moon.   We'll leave it at that for the moment, and come back to this as development progresses.  I guess I'll leave with a few keywords of files on my desktop: SoManyJaggedShards, an "abstract game" by Neil Moody, that uses openGL and SDL with many rotations and object oriented "monsters"; lua; Juce; SDL; chubes use the wave equation or harmonic oscillator; worlds use the hanafuda concept mixed with the idea of "moons". 

No comments:

Post a Comment