Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - [Coding competition 2019] Gotris by Kusfo, ManuTrigger, Davidian

Reply to topic

Rate this entry!

1 - Terrible 0% 0%
2 0% 0%
3 0% 0%
4 0% 0%
5 8% 8%
6 25% 25%
7 33% 33%
8 33% 33%
9 - Excellent 0% 0%
This poll has expired.
Author Message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
[Coding competition 2019] Gotris by Kusfo, ManuTrigger, Davidian
Post Posted: Thu Mar 28, 2019 8:19 am
Quote
Gotris is the impossible mix of the ancient game of GO and the mighty Tetris. Surround pieces from one colour with the ones of the other colour in order to clear them and earn points!

Gotris is based in a prototype game that I made with PyGame back in 2006-2007. I never polished it, but I had the concept in the back of my mind. As I spent a couple of weeks on medical leave at the beginning of March, I decided to try to port the idea to the SMS. It has been programmed on a hurry, recycling some code from other projects, and it can be improved a lot, but it's playable. It has used devkitSMS by Sverx.

Graphics have been done by ManuTrigger, and music has to be provided by Davidian. First version has placeholder music from another project.

Things to improve:
Better Playability (not really challenging now)
Some bugs on certain circumstances
Put final music
Different ingame backgrounds


http://www.smspower.org/Homebrew/Gotris-SMS

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Thu Mar 28, 2019 12:06 pm
It seems to hang when removing stones some of the time, I had to reset every game I played when this happened. It also seems a bit inconsistent at detecting surrounded stones, particularly for groups larger than 2.

The auto-repeat on rotation seems to kick in too easily, I'd often rotate twice with one button press - I think it'd be better to either remove the repeat or add a longer initial delay before it happens.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Mar 28, 2019 1:34 pm
I have detected both bugs you're mentioning, plus another one when the screen is almost full. I'm working on finding the cause using the Emulicious debugger.

And I'll take note of the autorepeat rotation!
  View user's profile Send private message
  • Joined: 01 Feb 2014
  • Posts: 849
Reply with quote
Post Posted: Sat Mar 30, 2019 12:28 pm
Very intersting and novel concept. I don't think I've grasped it fully yet. Need to play more. Game looks and sounds great, btw.
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Sat Mar 30, 2019 5:06 pm
Thanks for your kind words Kagesan!

I just uploaded a new version 0.6 that fixes couple of bugs (actually one little bug was causing 3 o 4 different errors), adds pause and improves control.
  View user's profile Send private message
  • Joined: 12 Oct 2015
  • Posts: 183
  • Location: Ireland
Reply with quote
Post Posted: Sat Mar 30, 2019 7:36 pm
kusfo wrote
I just uploaded a new version 0.6.

Hi - nice idea to mix the 2x game concepts so this isn't *another* tetris clone. Great art esp. the title screen - really like the parallax scrolling. Thanks for including the source code - that's always helpful to get an insight how the game was built!

If you were looking to add any features then I think an option to quit out while the game is playing could be good.

I agree with the comments above that the rotation was a bit fast for me also; I will get a later build and play again. I just need to learn how to play Go so I actually know what I supposed to be doing :)
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Sun Mar 31, 2019 1:00 pm
Hi SteveProXNA!
Thanks for your thoughts! I suppose you'll find rotation controls better in the new version, but let me know if you feel they're still unresponsive!

About the quit option, I suppose that you mean having a quit option when pausing?

PD: Btw, No real knowledge of GO is necessary. Pieces disappear when they are surrounded by pieces of the contrary color (for example, you can make dissapear a groupof six white pieces if the group is surrounded by black pieces in al four side.
  View user's profile Send private message
  • Joined: 12 Oct 2015
  • Posts: 183
  • Location: Ireland
Reply with quote
Post Posted: Sun Mar 31, 2019 6:03 pm
kusfo wrote
I suppose you'll find rotation controls better in the new version, but let me know if you feel they're still unresponsive!

Hi kusfo - yes the rotation controls are much better in the new version...

kusfo wrote
About the quit option, I suppose that you mean having a quit option when pausing?

That could work or otherwise you could hook up a quit option to fire2 during game play because fire1 and fire2 currently do the same action... just a thought... not a criticism or anything...
  View user's profile Send private message Visit poster's website
  • Joined: 21 Oct 2015
  • Posts: 303
Reply with quote
Post Posted: Sun Mar 31, 2019 10:13 pm
Uploaded a video and one thing Kusfo, at the end of the video, no more pieces falling down, is it a bug?

  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Apr 01, 2019 9:09 am
SteveProXNA wrote

That could work or otherwise you could hook up a quit option to fire2 during game play because fire1 and fire2 currently do the same action... just a thought... not a criticism or anything...

Well, button 1 and 2 do different actions. one rotates clockwise and the other one counterclockwise :-P. But maybe it would be more useful to have the option, and keep only one rotation sense.

law81 wrote

Uploaded a video and one thing Kusfo, at the end of the video, no more pieces falling down, is it a bug?


Hi law81! Yes, there's some kind of bug sometimes when pieces are falling (you can see one floating in the video). I've to take a look at it.

Btw, I've final music in the game, I'll upload the new version soon (I'm trying to fix the bug).
  View user's profile Send private message
  • Joined: 12 Oct 2015
  • Posts: 183
  • Location: Ireland
Reply with quote
Post Posted: Mon Apr 01, 2019 7:49 pm
kusfo wrote
Well, button 1 and 2 do different actions. one rotates clockwise and the other one counterclockwise :-P. But maybe it would be more useful to have the option, and keep only one rotation sense.

Ha! OK - user error but it does feel fine to use button 1 for one rotation direction only... correct me if I'm wrong but I thought the original tetris did do this...
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Mon Apr 01, 2019 8:58 pm
No, bidirectional rotation is super important in Tetris. I'd only like a quit option in a pause menu - although I never managed to get it to play long enough to need to quit...
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Tue Apr 02, 2019 7:34 am
I'll try to implement the pause options before end of the contest.

Btw, New version!!! Now with final O.S.T by Davidian and some minor tweaks around!

I've still to catch the bug that law81 was speaking about.
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Sun Apr 07, 2019 3:02 pm
New version! Bug solved and some playability tweaks done!
  View user's profile Send private message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8644
  • Location: Paris, France
Reply with quote
Post Posted: Sun Apr 07, 2019 3:08 pm
I am glad this is getting updated, I am a sucker for this type of game.

Right now it is seems like the Left<>Right controls reacts too slowly, that would be my main feedback.
  View user's profile Send private message Visit poster's website
  • Joined: 12 Oct 2015
  • Posts: 183
  • Location: Ireland
Reply with quote
Post Posted: Sun Apr 07, 2019 8:36 pm
Bock wrote
Right now it is seems like the Left<>Right controls reacts too slowly, that would be my main feedback.

Agreed - I just played v0.8 and then played v0.6 again and I prefer the Left<>Right controls in v0.6. However, I much prefer the music in v0.8 and there is some nice polish plus the new sound effects while you play are cool
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Apr 08, 2019 8:01 am
I've been tinkering with fall, movement and rotation speeds (they increase as you earn points), and maybe I've gone too far for the begining, hahaha. I'll try to fix it back!
  View user's profile Send private message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8644
  • Location: Paris, France
Reply with quote
Post Posted: Mon Apr 08, 2019 9:52 am
IHMO rotation and movement should always be super reactive and not related to the falling speed.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Apr 08, 2019 10:09 am
In previous versions, those speeds were not changing, but once the pieces start to fall really fast, you need a big horizontal speed in order to be able to place the pieces in the right place. And this big horizontal speed is annoying at the beginning when the fall speed is really slow.

I'll try to find a more comfortable speed progression, and see what do you think about :-)
  View user's profile Send private message
  • Site Admin
  • Joined: 08 Jul 2001
  • Posts: 8644
  • Location: Paris, France
Reply with quote
Post Posted: Mon Apr 08, 2019 11:17 am
kusfo wrote
In previous versions, those speeds were not changing, but once the pieces start to fall really fast, you need a big horizontal speed in order to be able to place the pieces in the right place. And this big horizontal speed is annoying at the beginning when the fall speed is really slow.


The problem is not even only the repeat speed but the fact that it react really slowly to a press.

The aim should be:

(1) A first L/R press should make the block move immediately (current or next frame). Right now the movement is largely delayed.

(2) Holding on L/R should start repeat the moving the block after an initial delay. As per rule (1) the block moves immeditely in the initial press, then you start counting and start repeating the movement after a certain time. Just like keyboard interaction in any OS, you have a initial repeat-delay (time between first movement and second movement, e.g. maybe ~0.25 seconds) and then a repeat-rate (time between one movement and the next, once the repeat-delay is passed, maybe 2-3 frames).

(3) You may decide to reduce the repeat-delay as the game become faster. Reducing the repeat-rate as the game become faster will be a little more confusing for the player. The repeat-delay cannot be too small to prevent accidental multiple-move.

(4) Pressing L/R _before_ the new piece appear (from the point the _previous_ piece lands) should start accumulating into a timer which will be used to subtract from the repeat-delay. In other words, you can skip the repeat-delay by holding L/R earlier, and then your movement speed is bounded by the repeat-rate only. If L/R is released before the new piece appear the repeat-delay is restored.

(5) N individual L/R presses in a given direction should always lead to N movements of the block. Right now many are missed. Individual presses should override any timer.


With repeat-rate between 3 frames and (4) to cancel repeat-delay + initial move as the piece appear, it woudl takes only 15 frames (0.25 seconds) to reach any side of the board from the center +/- correction.


(If you check advanced Tetris wikis maybe you'll find more precise ideas to handle a better version of (4). Modern Tetris have lots of subtleties in place to make placement easy at very fast piece, I think the held time prior to new piece appearing has a stronger effect on aiming. But I don't think Gotris would be played at such high speed requiring this)
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Apr 08, 2019 11:35 am
Wow! thanks for such a detailed mechanic explanation! I think that by comparison my mechanics were really naïve...
I'll try to have that implemented before the end of voting :-p
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Tue Sep 29, 2020 4:23 pm
Some year and something later, I share a still WIP version of the game (that I already shared on the Discord channel). I still have some standing errors, and a couple of pieces of music are placeholders, but I think it'll interesting just to know what people think of the current status of the game.
gotris.zip (64.94 KB)

  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Sep 06, 2021 12:57 pm
An after some more time, final version of the game has been released! Enjoy it!
  View user's profile Send private message
Revo
  • Guest
Reply with quote
Post Posted: Mon Sep 06, 2021 1:09 pm
Nice, it is v1.2p ? The download link here is not working correctly: https://www.smspower.org/Homebrew/Gotris-SMS
 
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Mon Sep 06, 2021 2:27 pm
Ups, can you try it now?
  View user's profile Send private message
Revo
  • Guest
Reply with quote
Post Posted: Tue Sep 07, 2021 5:46 am
Perfect!

First, wow, my first gameplay is 20 minutes, it felt like 5 minutes. I really like it. But there is 2 problems I don't like at all. Palette transition is really bad. Left blank column should be activate.

 
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Tue Sep 07, 2021 6:18 am
Great play Revo!

About the palette, do you mean the fade in/out or the different palettes in the background?
About the left column, I was only enabling it when scrolling, but I suppose it'll also help with some of the artifacts in the left.
  View user's profile Send private message
Revo
  • Guest
Reply with quote
Post Posted: Tue Sep 07, 2021 9:23 am
Fade in/out ;)

Yeah during a play lot of crazy stuff is happening in the left column.
 
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Tue Sep 07, 2021 9:44 am
Fade In/Out is done in the same way as Sonic does on Megadrive (fading each channel separately). This allows me to do a smoother fade, as otherwise it's only a 4 step (at most) fade,

The left column thing seems related to sprites, it's not visible on my CRT or in some emulators, but I think I'll follow your advice.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14688
  • Location: London
Reply with quote
Post Posted: Tue Sep 07, 2021 4:10 pm
It's more common to fade in the order R, G, B to get a better perceived colour shift - this is what Phantasy Star does. I suspect you may have a bug in there as the colours seem to change a bit more wildly.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Tue Sep 07, 2021 4:39 pm
kusfo wrote
About the left column, I was only enabling it when scrolling, but I suppose it'll also help with some of the artifacts in the left.


when horizontal scroll is 0 (o any multiple of 8 for that matter) you shouldn't get any artifact at all on the left border anyway...

edit: I just noticed you had set the horizontal scroll to $FF instead of 0 - an easy fix :)
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Wed Sep 08, 2021 6:20 am
sverx wrote


when horizontal scroll is 0 (o any multiple of 8 for that matter) you shouldn't get any artifact at all on the left border anyway...


I found a bug (I was substracting 1 to scroll_x position when it was already zero). It's fixed!

I'll try to refine the fade, just in case I've any error
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Wed Sep 08, 2021 6:39 am
I was doing the fade in the GRB order (why? I cannot remember). I changed it to RGB, but I don't see a wide improvement....
  View user's profile Send private message
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Wed Sep 07, 2022 4:07 pm
Updated to version 1.3p with a several bug fixes, some new graphics and sounds.
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!