sebmal:

rologeass:

Yoko Taro’s Game Design Draft - “GUN SOCCER”

GUN SOCCER is one of Yoko Taro’s draft on game designing. He released it to demonstrate how to make a game design line-out and presentation slides. Even though it looks like a joke, this game draft is also a part of Yoko Taro’s Drakengard and NieR world.

The event took place on 2024, filling the gap between Drakengard and NieR’s Old World Information. After the White Chlorination Syndrome spreads on 2004, a series of disease has been discovered endangering human. Creatures called Legion started to appear and try to wipe out the humanity. The battle of Legion and Human occurred for years. And on 2023, the world falls into a financial crisis because of the war and Project Gestalt.

By  2024, conflicts between ethnic and countries start to took place. The United Nations, which look at the situation seriously, proposed a method to resolves conflicts. GUN SOCCER is a survival sport competition combining the concept of Soccer and Gun Shooter (FPS). The proposal carried on by UN, and many countries started to participate. 

Who will survive on this deadly game? What is the UN’s real intention of creating this game? Will this game eventually helps UN on saving the humanity?

Check out more info of the game on the provided Game Design Presentation Slides.

Presented By Yoko Taro on his 2013 workshop

Translated by me

i love yoko taro so much

(via lonelyfrontier)

new-aesthetic:
“ Many pet rabbits will die in Second Life on Saturday | Rock, Paper, Shotgun
“ Virtual rabbits across Second Life [official site] will fall asleep on Saturday then never wake up, now that the their digital food supply has been shut...

new-aesthetic:

Many pet rabbits will die in Second Life on Saturday | Rock, Paper, Shotgun

Virtual rabbits across Second Life [official site] will fall asleep on Saturday then never wake up, now that the their digital food supply has been shut down by a legal battle. The player-made and player-sold Ozimals brand of digirabbits are virtual pets that players breed and care for in the sandbox MMO, and even need to feed by buying DRM-protected virtual food. But they rely on servers. Waypoint reported earlier today that the seller of Ozimals and the Pufflings virtuabirds has received a legal threat he says he cannot afford to fight, so they’ve shut down. By Saturday, rabbits will run out of food and enter hibernation.

The rabbits aren’t dead, they’re sleeping. They simply can never wake up.

(Source: rockpapershotgun.com)

Building A Better Animation System In GameMaker

ratcasket:

When developing Kerfuffle I needed an animation system that would allow me to hold any individual frame of animation for as long as I wanted in game, without having to manually add or remove frames to the sprite. I also needed to be able to trigger certain actions based on the current animation frame. Using this setup I was able to create hitboxes, play sounds, or change states, all while having full control over everything being drawn on the screen. 

Variables

These are the important variables associated with the animation system. Refer back to this if you get confused.

frameSpeed
The speed in FPS that the game counts through the frames to be displayed. Default is 1.

frameCounter
Increases every frame by the frameSpeed.

currentFrame
The frame of the sprite currently being drawn on the screen.

frameData
Current list of frame data the game is reading from, based on the animation that needs to play. Idle, run, attack, etc.

frameDuration
Total number of in game frames to display the current sprite frame.

maxFrames
The total number of frames in any given sprite.

animSprite
The actual name of the sprite resource in GameMaker. sprMomo_Idle, for example.



Helper Scripts

A couple of useful scripts that save us some typing later.

frame_reset();
Resets frameCounter and currentFrame to 0.

frameCounter = 0;
currentFrame = 0;


animation_set();
This script accepts two arguments. First, the frameData (which is the relevant list of frame data) and second is the animSprite (the sprite resource you want to draw).

//animation_set ( argument0, argument1 );

frameData = argument0;
animSprite = argument1;



Frame Data

Each animation requires a list of frame data. This is a list that contains the amount of in game frames that each frame of animation will be played. Each list of data uses the following naming convention. frameDataIdle, frameDataRun, frameDataDash, and so on. Also, if anyone knows how to use a table in tumblr… please tell me how.

Frame data for Momo’s idle animation

image

Be aware that all lists, and values, start with 0. So even though this animation has 12 frames, the highest number in the list is 11. This includes frames you want to display! If you want it to show up for 5 frames in game, the value in the list should be 4.

**GameMaker Specific Note**
Make sure you manually delete a list when you are no longer using it! Otherwise you can run into memory leaks!



Frame Counter

Now that we have a list of frame data, we need to actually animate based on that data. The first thing we need to do is figure out what the maxFrames are.

maxFrames = sprite_get_number( animSprite ) - 1;

Then, if your currentFrame happens to be greater than or equal to max frames, AND frameCounter is greater than or equal to the maximum number of frames the sprite frame should appear on screen, reset to the first frame.

if ( currentFrame >= maxFrames - 1 && frameCounter == frameDuration )
{
     frame_reset();
}


Now the frameCounter can do its job. It counts up to the number of frames the current frame of the sprite should be displayed, then once it reaches that maximum, ticks the currentFrame up to the next frame of of the sprite, and resets back to 0 to start counting again.

frameCounter += frameSpeed;

frameDuration = ds_list_find_value ( frameData, currentFrame );

if ( frameCounter == frameDuration )
{
     currentFrame ++;
     frameCounter = 0;
}


Side Note:
Using maxFrames is also a good way to end animations, and change to a new animation or state! I use maxFrames to switch from an attack state back to the normal state after the entire attack animation has played all the way through.

**GameMaker Specific Note**
Sprite_get_number is a built in GameMaker function that returns the number of frames in a sprite. This function returns the exact number of frames, and does not count up from 0! So if you have a sprite with 5 frames, this will return 5! This is why when checking against maxFrames, we do so while subtracting 1 from its value.



Switching Sprites

Everything in Kerfuffle runs on a fairly simple state machine. Depending on the state the character is in, the animation changes.

//store the current animation sprite so we can check it later
currentAnim = animSprite;

switch ( state ) {
     case normal:
          //if the player is pushing left, or right, change to run sprite
          if ( left || right )
          {
               animation_set ( frameDataRun, runSprite );
               //if the player isn’t pushing any buttons, change to idle sprite
          } else {
               animation_set ( frameDataIdle, idleSprite );
          }
     break;

     case dash:
          //if the player is in the dash state, change to the dash sprite
          animation_set ( frameDataDash, dashSprite );
     break;
}

//check the current animation against the last animation.
//If these animations are NOT the same, reset frameCounter and currentFrame to 0.

if(lastAnim != currentAnim)
{
     frame_reset();
     lastAnim = currentAnim;
}


**GameMaker Specific Note**
Use macros or enums instead of strings where possible. I used to use strings for player states (ie: “normal” instead of just normal) and it’s not the best idea. Strings are slower to process, and if you make a typo, GameMaker will not alert you! Your code will just fail and it is much easier to overlook!

For more info on Macros check out this write up by YellowAfterLife.
https://yal.cc/gamemaker-on-global-variables/



Putting It To Use

Now that all of this has been setup, we just need to put it to use. Since we are bypassing GameMakers built in functions like image_speed and sprite_index, we need to draw the sprites ourselves. This is really easy though! We just need to use draw_sprite_ext! 

//draw event

draw_sprite_ext ( animSprite, currentFrame, x, y, 1, 1, 0, c_white, 1 );


For more info on exactly what draw_sprite_ext does check out the GameMaker documentation. There are a lot of great things you can do with this! In my opinion its one of the most important parts of GameMaker that you should learn! 
https://docs.yoyogames.com/source/dadiospice/002_reference/drawing/drawing%20sprites%20and%20backgrounds/draw_sprite_ext.html



Final Thoughts

So thats it! Pretty easy right? If you have any questions, or comments on how to improve this, please let me know. I will respond as soon as I am able. If there are any other write-ups like this that you’d like to see, let me know what they are! 

Follow me on Twitter!
Check out my games on Itch.io!

Later, Nerds

(via ratcasket-deactivated20181204)

An in-minecraft interview with the creator of this astounding remake. “Mr. Squishy” reverse engineered and fully implemented the entire pokemon red in minecraft using only vanilla command blocks. Not an emulation using the original data but a fully programmed mimic of the game!

procedural-generation:

Continuous World Generation in ‘No Man’s Sky’

GDC publically releases the videos of some sessions every year and this year one of those is Innes McKendrick’s talk about the generation pipeline in No Man’s Sky.

There’s a lot of interesting bits in the talk, so I’ll just highlight a few things that appeal to me personally.

First off, the emphasis on augmenting artists rather than replacing them. The engine is agnostic about where the content comes from, making no distinction between generative content and hand-authored content. As Innes says, the goal was to enable “our artists to produce more, rather than replacing them with an algorithm that doesn’t quite do the same job.”

This is an important point, and something I’ve tried to emphasize here: sometimes a generative approach isn’t the best approach; choose the method that fits. And giving artists more tools is a perfectly valid approach to using generative methods.

Another point is the use of evaluation tools to test the generator and its output, so that they could track changes from build to build. This is exactly the kind of data that is useful to automate, and it makes the jobs of the artists and the programmers easier.

The talk also has a ton of technical details that are useful to consider if you’re wanting to work on your own continuous world generation. Not to mention voxels, interesting non-planar spaces, and building a world at scale.

http://gdcvault.com/play/1024265/Continuous-World-Generation-in-No

mew mew cube leg

myfriendpokey:

image

i remember once going to a concert and standing behind two music students, enthusing to each other about the concept of some kind of empty, sealed-off music chamber, of “just leading someone in and having them sit there and listen for, like, eight hours” - and it’s something that stuck in my head, as the figure of a certain kind of avantgarde ideal as well as, inevitably, of videogames. since in many ways this is almost the paradigmatic “experimental” project; the effort to break away from an overdetermined everyday and re-activate senses and perception in the process, the dismissal of easy and inherited forms, the suspicion of ease in general in a society priviliging immediate gratification and recieved ideas, the almost ostentatious unfeasible quality indirectly suggesting other worlds where such a ritual could take place (for example where more people could afford to spend eight hours reclining in a cube). and even the immediate critique, the blaseness around the distinction between those who lead and those who are led, could charitably be linked to a persistent if frequently dubious strand in modernism concerned with supposedly spurious universalisms when applied to human variation (see for example dh lawrence) if not just written off as undergrad glibness. so this terrifying sound cube has quite the intellectual heritage which includes some good ideas, useful ideas, we might not want to discard right away. but in addition to an unfortunate echo of certain interrogation techniques we also have a different immediate tradition at hand to compare it with, that of videogames and their seperate traditions of immersion, infinite experience, sitting down for long periods. and these two views of the cube overlap strangely - one a consciously fringe experimental approach, one the recieved wisdom of a multibillion dollar drably conservative culture industry - and even more startlingly, the two traditions frequently seem hardly even aware of one another, as if each moves in the other’s shadow, or both involved in seperate movements of dialectical expression and antipathies that just happen to find a similar form for different reasons.

i’m less interested in constructing a unified theory of sound cubes or of coming down as pro-cube or anti-cube, listening to music for eight hours is good work if you can get it, certainly more productive than being in an office. what interests me more is the position of “experimental videogames”, or at least some of the traditions and rhetoric around them, in the intersection of these two competing tendencies at once, and the uneasy dynamics that frequently result - using one against the other, the notions of bold changes of format as a way of breaking out of ossified commercial convention, the existence of 2000-hour warcraft digressions as an uneasy complication and critique of the usefulness of “demanding forms”. of course there are also a million breaks between the two traditions and the broad similarities may be less telling than the wider series of micro-breaks and changes of assumption within the ways those similarities are applied. but again that series of alterations can be viewed in the light of some other and more fundamental difference, for example the presence or absence of huge piles of money and the determining influence this can have - on what gets made, for whom, in what circumstances, what claims can it stake, what claims it can exert upon its audience. and this makes it more difficult to talk about whatever distinctions are there as a question of mere form, against the cube or friends with the cube, or even as some indifferent object “cube” blanketing multiple ideologies which try to enact it in different ways and with different priorities and limitations - as this in turn disguises not only the existence of multiple overlaps and soft boundaries between the approaches but also the ways in which the overarching structure, our cube again, can act as a means of reconciling and absorbing various contradictions within ostensibly neutral “aesthetic” ground.

what do we take from the terrifying sound cube. my first instinct is to say that as a specific example, and in the specific context of writing about videogames, it suggests the strange role that the experiential has come to occupy as something both daringly experimental (new experiences, new forms of thought, a refocus on “the body” etc) and stodgily conservative (100+ hours of content to lurch through, anti-theory, all the old narratives of feeling revived ). and that “experimental videogames” effectively being shot by both sides in the uncertain space between the two aspects should have an interest in complicating this idea of experience as uncritically positive - that they have the chance of dredging up and exploring various uncertanties and tensions embedded in the concept which could be useful at a time when experience has become the  watchword of tech capital. death to sound cube!! while in general… i don’t know. the way forms can change meaning without changing their shape, like the Thing.

(via myriaprobs)


Indy Theme by Safe As Milk