Match 3 Source Alpha
Miscellaneous Forums/General Discussion/Match 3 Source Alpha
Here's a new alpha if anyone could test it for bugs. Please post anything you find. I'm hoping someone here can break it. :p
www.zamagames.com/downloads/M3_Source_Alpha.zip
Well, I really thought that it's the source :D
Anyway, I played with it for a while. It's working well, I haven't noticed any issues. I don't know much about match-3's, but shouldn't double match-3 (two colours) be counted as 6 not double 3?
best
Roman
Sure, it can be set up to score it anyhow you want to. I've also put in *NOTE*s where you would put in your code for sounds, custom tile popping animations, etc. Tile fall speed is easily changed so it can have the play dynamics of your choice. I never realized how slow Bejeweled (2) play was until I compared it to the speed setting of this.
The only things left to do now are squash a few known bugs (being able to slide a tile that is about to fall and putting the whole thing outta whack). Also, to redo the falling tile code to compensate for diagonal overspeed etc. It should still be done by the 8th. Worst case scenario is slipping the release a day or two.
Hi Chroma,
Looking good so far.
I have a quick question for you. Consider the following grid psotion:
BYG
YRY
PYG
RYB
If you move the Yellow tile in the middle of the first line into the middle position of the second line, should all 6 yellow tiles disappear at the same time? At the moment only the yellow tiles vertically disappear i.e. the two horizontal yellow tiles remain.
The same thing happens in the following situation
YBR
BYY
YBG
YPR
If you swap the top left yellow with the blue below it, only the three vertical yellows are removed.
Cheers.
Daz.
Noticed a bug. I moved a jewel to create the following scenario.
RRR
R
R
But it only removed the vertical 3 jewels whereas it should of removed all 5 :)
Yep, that's bad. Thanks guys I'm on it.
I would include this type of checking to:-
RRR
R
R
RRR
R
R
Dabz
hehe, not so easy is it ;-)
Dabz, is that a typo? Your vertical R's aren't in a line.
I actually had the intersecting matches check working fine, but the new array implementation broke a few things. That's what I'm fixing. I could have been done by now but that "oh, I could add this feature or speed this up" mentallity crept in. :( I think it will be worth it though.
@Grey: It's definitely not easy, and is very tedious. I now have a hole in the wall by my computer where I've been banging my head.
I found it to be more tedious than difficult. Mine works if you get two matches in an "L" formation, but it doesn't work right when I get four or five in a row.
I could fix it, but like you said, its tedious and I just can't be bothered. I'd need to start hitting people/things if I suffer much more of it.
Chroma is this soomething your going to sell?
Wouldn't using a recursive check on adjacent tiles solve all, rather than using a heuristic method of checking (assuming that's what your using)?
Man I wrote the niftiest little checker that worked all possibilities including diagonal (see Wizard of Oz), and took into account bonus items and locked pieces, and was well optimised and supported making moves when other gems are falling. It wasn't easy and it was a pain at plenty of points (but I never hit my PC or anyone). But it's not for sale...
But it's not for sale...
Aww c'mon... I'll swap it for my super-duper mathematics library! Here's an exclusive sample:
; is 50 more than 100?
If 50 > 100
Print "It is!"
Else
Print "It isn't."
Endif
bloody hell that's great! Can I license it for the framework? Sorry, we've hijacked.
Oops, yes sorry Chroma - didn't mean to hijack. All the best with your Match 3 engine.
Can I buy it now?
I know it's not ready ( or is it? ) but I'd like to study the source.
I had an attempt myself at making a Match 3 engine but fell flat on my fat ass.
I'd like to see in this dofferent shaped gameplay areas like in most, if not all, match 3's. I'm not too fussed about diagonal match detection or super multiple combo's, they'd be nice, but not that important to me.
I can send a $9.99 paypal payment immediately if it will get me access to the source staright away.
:)
Doesn't it support non square play areas yet? My initial games supported that but didn't support one play area over another (with a gap in the middle) as the gems would need to drop in from the top of the bottom section to refill the bottom section. But I added that support in Oz as it allowed much more interesting level layouts.
O.O - LOOK IN TO MY EYES, GREY. YOU WILL GIVETH ME YOUR MATCH 3 CODE.
Seriously, do you have any Match 3 code for sale, Grey?
I don't mind spending a bit more.
:)
Chroma as I said in an email I would be interested in buying this. I think you have enough interest to justify selling it :P
I think you have enough interest to justify selling it :P
Wait, I thought he was planning to sell it hence this thread.
Is he having second thoughts?
Amon: It nearly worked but it wouldn't be fair me hijacking this thread as it's Chroma's. Just get his, or wait a bit until he's beefed it up a bit.
Ruddy formatting!
I meant, diagonal... That will mean, the engine could support columns style games too.
No point in just making it horizontal/vertical, the more you can do with an engine, the more people will get out of it! ;)
Dabz
GA, what's with the 'My Code is better than yours' posts? Put your buggle away. Logically, as you've made 3-4 match 3 games this is going to be the case.
I'm with GFK, writing a match 3 engine isn't much of a challenge IMO and would bore me to tears. Each to their own though and best of luck with it Chroma.
Chroma - Unless I missed something, you are still allowing illegal swaps (not sending the tiles back to where they started). From experience, I can tell you there is more to that part than you probably think. You might want to work on that before you worry about multiple-match checking and so on, as sending tiles back can have a huge effect on everything, especially if other tiles moved in the interim.
The Match-3 my partner and I wrote was built on my gameboard engine and had a great flag system for tracking everything. You might consider something similar for yours if you are currently using tons of variables to track states. Our code supports all the standard Match-3 stuff plus bonus/special tiles, boards of any shape, disconnected boards (tiles fall across empty space to other parts of the board or are forced to follow set paths, depending on board design) and several other features, including a couple I've never seen elsewhere. You'll need a lot of flexibility in your engine to make it competitive with the current Match-3 games.
Good luck, I'm still interested in the final product.
SpaceAce
Stevie G: I've been trying to hint at all the different features that Chroma might need to support (as SpaceAce has also done) before he claims the engine to be ready for sale. Chroma has not exactly been an advocate of match-3s before and many people (like yourself) believe them to be simple which is not the case for a commercial level engine in my opinion. I'll stop posting now.
Ah .. ok - fair point. I'll stop posting myself now ;)
No worries guys.
I'm concentrating on the basic mechanics right now. I'm creating a stable core first. What that means to me is all the features of Bejeweled 2, plus diagonal tile falling and boards of any shape, and of course tile swapping, and illegal move recognition, and of course keeping it fast. Everything is done in basic form except for the illegal move recognition and tile swap back.
I admit I haven't been the match 3 advocate but, THIS part of match 3 is what I find fun...actually writing the engine. Who woulda thunk it.
You missed the deadline ;-)
Just don't make it too complex. Finish stable v1.0 and then add new features, otherwise you'll never finish it.
best
Roman
What anawiki said. :)
Very true. Still going good though. :)
Any News?
I was going to ask the same question, so while I'm here: any news? :D
Well, I got promoted at work to Master Sergeant (E-7). That's some good news. :)
I'm still tweaking this code to keep tiles from partially falling through each other. It won't happen 90% of the time and I doubt Grey even has that checking in, but I wanna make sure there's no stupid problems like this.
Master Sergeabt sounds cool, even if you don't know what the heck is it :D
Congratulations.
Roman
of course I have that checking :-) my tiles used gravity and collision detection.
Congratz on your promotion Chroma, a little extra doughs always welcome. I'm working on a gravity oriented game, albeit in 'c' as opposed to BMax - mores the pity. Still my entities are reliably dropping down the terminal window -joy.
Thanks guys. And thanks for the tip GA.
You know ... these forums were a lot more interesting when people were trying to conquer shadow maps, A.I., and physics...
Oh as soon as I get some time (been hella busy at work lately) and I finish this match 3 stuff, I'm back on the flight sim thing. ;)
Bored after 1 week? Very understandable - that's match 3's for you ;)
;)
Resurecting an old thread :) Any news?
Heya Roman, I'll post the source at lunchtime. It's got several bugs here and there but it's nothing you can't sort out I'm sure.