Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Advanced search

1377730 Posts in 65445 Topics- by 57757 Members - Latest Member: SeinRuhe

June 01, 2020, 05:23:17 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsSPOIKS - microguelike
Pages: 1 2 3 [4]
Author Topic: SPOIKS - microguelike  (Read 13343 times)
Level 0

View Profile WWW
« Reply #60 on: October 24, 2016, 07:41:34 PM »

Behold, my master plan!

...for a minigame. Happy deciphering! (?)
« Last Edit: October 24, 2016, 08:06:37 PM by microrignal » Logged

Aaaaaaaaaaaah Spoiks Devlog!
Level 6

View Profile WWW
« Reply #61 on: November 10, 2016, 04:44:11 AM »

Wait, acorns and trees...

Are you Peter Molyneux?

Level 0

View Profile WWW
« Reply #62 on: January 05, 2017, 06:44:09 PM »

Wait, acorns and trees...

Are you Peter Molyneux?
Ha! As tempting as it is, I'm not coding trees to grow from these acorns in realtime. Sorry Smiley

You might say, though, that not unlike trees, Spoïks is progressing slowly but steadily. That is, overlooking the fact that progress for the past two months (yikes!) hasn't actually been steady at all. Ha ha ha.

But wait!!!!!

I've been prototyping, then investing more time in a tiny spin-off of Spoïks. Amusingly enough, that spin-off is set to be released before the main game.


Basically it's the answer to "What if Spoïks happened on only one quadrant, but tiles were randomized every couple seconds?"

A new set of tiles ('floor') happens every 1.5 second. Pressing anywhere on the screen makes the character move to a random tile. The game ends after 60 floors.

Leveling works just as in Spoïks. Explode enough monsters without dying = your HP is maxed out. It also increments a score multiplier, up to x4. Spoïks ('diamonds') are worth (1 or 5 or 25 according to size) x LEVEL x MULTIPLIER.

When you die, you lose all your stuff - keys, crit, multiplier - and can't move until you recover at least one HP.

Regardless of whether you're dead or not, you recover 1HP for every floor where you don't move.

To avoid situations where you could just click your way mindlessy through monsters, I added these to be wary of:
- Anti-crit traps : You lose your CRIT completely
- Anti-multiplier traps
- Empty locked tiles


An amazing friend had been requesting a "madness" (time-based) mode for Spoïks. I eventually though of something worth trying and ended up making a very basic prototype for her birthday.


That project is also a pretext to code something like Spoïks based on Pixi.js directly rather than Phaser, to see if it would improve performance on mobile. It's hard to tell to which extent it does that, if it does, but I prefer Pixi's nomenclature and structure (in part because it's so similar to ActionScript). Since Pixi is a renderer and not a game framework, there are things I had/will have to code back in like support for animations(done) and audio(to do), but I like that the codebase is shrinked to what the game really needs - not much, in the absence of any kind of physics.


I want Spoïks Madness to be done this month and released soon after that - on web, Android, Windows as a portable .exe and eventually iOS. It needs a decent tutorial and more visual feedback of what does what. I'll start with that, more or less, then upload a testable beta.

I see it as a way to 'test the water', familiarize myself with the process of releasing a mobile game. And I don't want it to drag, as so many other unfinished projects. Once I can mark it as "done", I'll plunge back into Spoïks, the game this devlog is actually about!

- Mobile integration with cocoon.js (at least it works perfectly in the dev app, iOS and Android)
- Title screen
- Gameplay works and it's fun!
- Acceptable graphics
- Local hi-score storage

To be done:
- Level 3 monsters
- Tutorial
- Visual feedback
- Protagonist's animation
- Leaderboard integration (Play store for Android at least)
- Music and sfx
- Logo/credits page
- Bug fixes
+ Release/promotion

Stay tuned, testable beta soon!
« Last Edit: January 06, 2017, 08:00:45 PM by microrignal » Logged

Aaaaaaaaaaaah Spoiks Devlog!
Pixel Noise
Level 10

View Profile WWW
« Reply #63 on: January 06, 2017, 08:05:32 AM »

Haha yeah! That looks super fun. Very cool idea and nice way to get extra mileage out of the game.

Pixel Noise - professional composition/sound design studio.

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
Level 0

View Profile WWW
« Reply #64 on: April 12, 2017, 02:25:24 PM »

Haha yeah! That looks super fun. Very cool idea and nice way to get extra mileage out of the game.
Thanks! That's my hope Smiley And sorry for not reacting earlier :/

Okay, so I managed to let 3 months pass since the last update. But. Still doing this!

I was able to make some progress on the tutorial component of Spoiks Madness. It's basically just a series of pages of text explaining stuff, with moments of gameplay to show the different mechanics inbetween.

Since the game's main target platform is mobile devices, I made it possible to navigate go from one page to another by swiping up and down on the touchscreen. I'm very happy with how smooth the transition motion came out. Here's how I did it:

1 - At the end of a touch...
  • The drag motion velocity is calculated (current position - prev position).
  • The time required for a linear deceleration from current velocity to 0 - in order for the motion to end at the target position - is calculated. If that time is lower than the default duration of the transition, then the duration is reduced to that time. If that time is higher than the default duration of the transition (meaning initial velocity is too slow to reach target in time while slowing down at a constant pace), a flag ("useRestDecrease") is raised.
  • Initial (current) position is stored. And then, the transition's animation is fired.

2 - During the transition's animation... (based on a R ratio increasing linearly from 0 to 1 over time)
  • A simple ease-in-out tween takes R as input and outputs another ratio in the 0-1 range (the "ease ratio"), representing the transition's position relative to the total distance.
  • Another such ratio from 0 to 1 (the "rest ratio") is calculated according to the previously calculated linear deceleration.
  • If useRestDecrease is true, the rest ratio's influence equals 1-R. This is so the drag velocity affects motion even if it's low while, since we don't want motion to drag on for too long, decreasing the influence of the rest ratio, making it 0 when R equals 1. If useRestDecrease is false, the rest ratio's influence simply equals 1.
  • Finally, both ratio are mixed into one using the formula (easeRatio + (restRatio*restInfluence))/(1+restInfluence). And the transition's position is set from that ratio Smiley

Aaaaaaaaaaaah Spoiks Devlog!
Pages: 1 2 3 [4]
Jump to:  

Theme orange-lt created by panic