Xefni Abstract Platformer- MVI (devlog)

Show us your works in progress and request feedback

Post » Sun Mar 05, 2017 10:20 pm

Inspired by a couple GDC talks this week. Doing a 'sprint' to release a game 'vignette'. In the spirit of doing a Minimum Viable Interaction' (based on the idea of a Minimum Viable Product (MVI)), I am mocking up an interaction based on this, scaling back and removing art just to get the mechanic down and see if it's interesting. The main interaction is jumping and flipping block states (ala Qbert.)

Playable: Revision 009 [Stones rotate again, after solving normal map rotation issue]

Image

Previous
Revision 007 [Change to rounded stones and petals, petals fade on touch]
Revision 006 [Add cherry tree branches, change start platform to a tree branch]
Revision 005: http://www.mopsothoth.com/xefnirel/005/ [update to 'art' add cherry blossoms falling via particle effects]
Revision 004: http://www.mopsothoth.com/xefnirel/004/ [block degrade and dust particle effect]
Revision 002: http://www.mopsothoth.com/xefni002/ [added level editor]
Revision 001: http://www.mopsothoth.com/xefni001/ [added 11 levels]

I stripped down my existing platformer code to the bare minimum, removed the animations and placed a bunch of blocks. I added one more event to give the player a goal when a block is touched, it changes color (via changing animation to a block of a different color.) I left in the mechanics of double jump and wall jump. If the player falls, the 'level' restarts. It was fun to play with for a little bit and nice to have a goal (changing all the blocks to be the same color.) The blocks are animated with random sine behavior for V and H, they are randomly spawned within a constrained range. Next, let's add some more levels with different behavior (reminds of different levels of Jumpman Jr. - which all had a fun title.) The large translucent rectangles at the bottom are for touch controls (platform controls on touch are generally pretty bad, hopefully keeping these very simple will make them usable.)

Inspirations:
GDC Talk 2017
Hitchhikers Guide to Rapid Prototyping! (Mark Barrett)
Todd Hamish: Geometric Viruses
https://www.youtube.com/watch?v=2onDkGsDvqI
Jason Rohrer: Game Worlds
https://mitpress.mit.edu/books/game-worlds-jason-rohrer
Experimental Gameplay Workshops at GDC
http://www.experimental-gameplay.org/
Last edited by Mikal on Wed Apr 12, 2017 5:41 am, edited 10 times in total.
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Sun Mar 05, 2017 10:22 pm

Added level editor/tester, does not save yet. Can see interesting levels generated by this.


Image
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Sun Mar 05, 2017 11:57 pm

Level Design

Done through parameters which generate the initial blocks and some behavior:

Level attributes

* 00 Level Number
* 01 Name of Level
* 02 Number of blocks
* 03 Blocks Size
* 04 SineHMag
* 05 SineHMagRandom
* 06 SineVMag
* 07 SineVMagRandom
* 08 Animation start
* 09 Animation end
* 10 H random top
* 11 H random bottom
* 12 V random top
* 13 V random bottom
* 14 Vector Enable
* 15 Vector Animation Cure
* 16 Vector Animation Infect

Example level file, JSON object loaded through AJAX objects and events from local storage (may change to cached cloud storage model later)
Code: Select all
{
"c2array":true,
"size":[11,17,1],
"data":[[
[0],
["Explore"],
[20],
[1],
[10],
[5],
[10],
[5],
["A0"],
["A1"],
[1024],
[0],
[600],
[625],
[0],
["A0"],
["A1"]
],[
[1],
["Shrinkage"],
[25],
[1],
[10],
[5],
[10],
[5],
["A0"],
["A2"],
[1024],
[0],
[600],
[720],
[0],
["A0"],
["A1"]
],[
[2],
["A Little Faster"],
[25],
[1],
[100],
[50],
[100],
[50],
["A0"],
["A1"],
[1024],
[0],
[600],
[720],
[0],
["A0"],
["A1"]
],[
[3],
["A Little Faster Shrinkage"],
[25],
[1],
[100],
[50],
[100],
[50],
["A0"],
["A2"],
[1024],
[0],
[600],
[720],
[0],
["A0"],
["A1"]
],[
[4],
["PeeWee"],
[25],
[0.3],
[100],
[50],
[100],
[50],
["A0"],
["A1"],
[1024],
[0],
[600],
[720],
[0],
["A0"],
["A1"]
],[
[5],
["Deep"],
[35],
[1],
[100],
[50],
[100],
[50],
["A0"],
["A1"],
[1024],
[0],
[400],
[768],
[0],
["A0"],
["A1"]
],[
[6],
["Mongo"],
[12],
[2],
[100],
[50],
[100],
[50],
["A0"],
["A1"],
[1024],
[0],
[400],
[768],
[0],
["A0"],
["A1"]
],[
[7],
["Above"],
[25],
[1],
[100],
[50],
[50],
[25],
["A0"],
["A1"],
[1024],
[0],
[400],
[600],
[0],
["A0"],
["A1"]
],[
[8],
["Tower"],
[25],
[1],
[100],
[50],
[50],
[25],
["A0"],
["A1"],
[524],
[500],
[200],
[760],
[0],
["A0"],
["A1"]
],[
[8],
["Vector"],
[25],
[0.5],
[100],
[50],
[50],
[25],
["A0"],
["A1"],
[0],
[1024],
[200],
[760],
[1],
["A0"],
["A1"]
],[
[8],
["Triplets"],
[3],
[1],
[500],
[200],
[0],
[0],
["A0"],
["A1"],
[0],
[1024],
[740],
[760],
[0],
["A0"],
["A1"]
]]
}
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Mon Mar 06, 2017 2:02 am

Some feedback I got that was lost, when the thread got erased.

From @Pandadoor:

- Watch for playable by color blind [Agree need to make accessible.]
- Anti-virus [Agree, original name was infex, but was cute and reversed that, because I like the theme being curing]
- Change from red to green [Yes in the spirit of curing]
- Jump sfx occurs, even if jumping is not possible [Yes, should change the sound to an aborted jump]
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Tue Mar 07, 2017 11:11 pm

Changes:
  • Level does not reset everytime you die, you have 6 chances before reset level. I will probably make the lives per level a level parameter (so it can change).
  • When you die, you change, become smaller, jump strength goes down but you become faster, you degrade and upgrade
  • When you return to starting position, you float up from the bottom and you can still change blocks that you pass through.
  • If you die 6 times, level restarts

So getting amusingly philosophical for this very simple game, I was thinking about Wabi-Sabi and some of the tenets of Buddhism around impermanence and continuity.
  • I like that your player can also change/degrade over time (impermanence), in fact, I want to make the background fade as the blocks and the player trace over it, creating a unique background for your game over time.
  • Some continuity - you can revive in the same level with your work intact, or you can full resurrect, but there is no end, you stop playing when you want (which might be really fast if you don't like the game, so need to make levels interesting and rev up the programmer art engine.)
  • When you die and come back you can have an unintended benefit - blocks you pass through can still turn.

Haha, too much thought going into this simple game vignette, but I am enjoying it. Iterate!

Image
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Sun Mar 12, 2017 7:55 am

I saw the nice tutorial on particles and tossed that in to start adding some atmosphere, I also want to start changing the colors to be softer in a Monument Valley like pastel palette. I also have added to level the option to shrink the blocks by a certain amount. Currently, this is applied on all levels but will change it to be varied. With the shrink of blocks, the blocks become interesting and imperfect/impermanent. Wabi-Sabi style!

Image
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Wed Mar 29, 2017 2:07 am

Release 005 - Some Art

Image

  • Add some 'art', I want elements of Zen garden. So granite stone, bamboo, cherry blossom petals falling and the player is a Jizo statue
  • I like the cherry blossoms falling (generated via particles with a warp).
  • The stone looks ok, but to be honest, when shrunk down starts to look like 'toast'.
  • The change to bamboo is too abrupt, perhaps change to something different.
  • Gameplay is too fast and hectic for Zen garden, perhaps slow it down some.
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Thu Mar 30, 2017 1:13 am

Added cherry tree branches at the top, to complete where blossoms are coming from. Added some 'warp' effects to the branch sprites to make them appear to sway in the wind along with the falling cherry blossoms. In the playable, there is a slider to adjust the petal particle output.

Image
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Fri Mar 31, 2017 3:37 am

Time to get rid of the horrible toast and bamboo. Change to rounded stones of varying size, add a little sine rotation, make the transform into a petal and make the petals fade away after landing on them (they wear away... so wabi-sabi, man.

Now the game is looking a little mesmerizing to me, something to just watch unfold as you jump around.

Image
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Post » Sat Apr 01, 2017 5:04 am

I ran across this great tutorial and couldn't help but try it out: Dynamic Lighting.

First results (definitely need tweaking, stones looks like they are covered with moss (which is not horrible, but not intended.)). The 'light source' is in the lantern.
Image

I bought a copy of DLight Sprite (recommended in the tutorial) and it worked really well, since it was one-click to normal maps and I did not have to draw shadow maps.

I used the recommended shader (Normal Map Extended, which worked well.

There is a lot to tweak in the effect and I think I will need to do it live, so I can play with it quickly (via sliders in game).

The lamp just has a glow with a sine for changing the angle and the origin point move to the top of the sprite and a particle attached insider it.

The tree branches are not lit. so they seem really bright, so thinking about what to do there.

The normal maps are baked in terms of orientation, so when I had the stones rotate the lighting was very incorrect as the normal maps rotated. I could leave them non-rotating or could look at the effect / shader and see if there is way to change it based on the rotation / orientation of the normal map vs the 'light'. That would be the better 'universal' fix, a big hack which may show roughly correct results would be to also rotate the location of the light as the stones / normal maps spin, but would have to be done separately for each stone, which is a pain (right now, the stone and player normal maps are all in one family with a common normal map extended effect and a common light position.)

The effect has two more lights to play with, so I may add a little blue will-o-wisp (like something from Totoro, like soot sprites floating around) and also a stone lantern near the ground with a red colored fire.
B
31
S
10
G
3
Posts: 59
Reputation: 3,556

Next

Return to Works in Progress/Feedback Requests

Who is online

Users browsing this forum: No registered users and 3 guests