Match3 Game - Dragon's Cavern Puzzle Quest

Started by Matty, September 08, 2020, 21:38:20

Previous topic - Next topic

Steve Elliott

Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Matty

@Adam - the only reason audio fails on your device has nothing to do with my code, and more to do with my choice of audio file attached:

And the flame animation ought to show its not running at 1fps.

And input - you were simply touching the wrong place.

My local safari users have no problems.

Re loading bar - some portals demand it.

Framework stays- it works a treat.

Derron


Steve Elliott

Matty, the language you're using should by definition run on Windows, MacOS and Linux, it doesn't (properly)...Even if that is an over simplication, you have once again shown no interest in producing a work around for anyone that wants to run your software.  It works ok for me, so tough!

If you only want to run your games on your own computer then that's fine.  But you also want to sell and enter game competitions too, and that kind of arrogance/laziness is not ok, it just won't cut the mustard.
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Qube

I didn't mind the clicking between the two tiles once I figured out that that was how it works. If you want to stick with that system then the player is really going to need visual aids / feedback like highlighting the line and showing which two tiles will swap.

As others have said, this method is not the norm and the click > great in swiping swipe in a direction is pretty much universal and expected.

( not sure what I was writing with "great in swiping" ) :))
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

MikeHart

As someone who has worked with a portal before i can tell you that they have very specific rules on how a game has to be coded and what technology it has to use. From sound formats over what system of font display, quality of assets, game sizes, localization, game play etc etc. For an eyample my game was rejected because they required thw usage of webfonts instead of bitmap fonts.
You have to develop for their needs, not for yourself.
But the HTML5 market dried off anyway. So i see no point in following it for the few bucks you can make from a non exclusive license.

iWasAdam

ok. I'm not going to comment on what you said - I think you know what I (and many others) think there.

But here are some things to think hard about:
1. windows/macos and linux are the primary desktop markets and the primary platforms tackled here.
2. getting a desktop app to work across these platforms consistently is not a simple task, but can be done especially when you start using things like agk, godot, etc as they take care of all the nasties for you.

3. web apps/games are much more difficult to get working on different browsers. and that is before factoring in different os. so you task here is far greater and has a far greater risk of failure.
4. web games are pretty much DOA. The only thing you are getting here is data metrics. And unfortunately 'Garbage in, Garbage out' also factors here...

5. android and ios and to some extent steam all need very specific coding to work, and market

Now I am not saying I am a good programmer, or my advice is good or correct advice. But I do have certain skills that people come to me for (i don't tout for business). And I have a constant feed of people downloading my software, commenting, use groups, etc:
|f I am contacted by even one user with an issue. I will check that issue out, seek other information, be courteous and respond. I have halted dev on project to track an issue, rewound code, and dumped and rewritten code if it needs it. Sometimes bugs, etc can either be lived with or can be pushed into later releases. But I take on board everything that is said. even if I feel it is wrong - it is an indication that I am wrong!

I'm going to recommend a book for you to get:
User Interface Design for Programmers - Joel Spolsky. he's an amazing guid on how to write and not write good software, game, anything...
In the book you find the following:
QuoteA User interface is well designed when the program behaves exactly how the user thought it would

So clicking on a red button in a top corner would generally close a window/app - if it did something else (even if deliberately programmed that way) the end user would think something was wrong with the program.

So if it has an icon (lets say one for sound) and clicking it did nothing. the user thinks there is something wrong.
If everything you use uses tough and drag to do something and it doesn't do that (for whatever reason). then the user thinks there is a bug, etc

It is NOT the users fault when they cant use your program. it IS YOUR fault for not following standards / accepted behaviour. That is regardless of how many times you have 'do it this way cause I like it'. IT IS WRONG and it's YOUR FAULT!

The key thing here is to observe, listen and learn.

If one person points something out - check it and see if they are right. it might be something that has slipped through or an indication that much more testing/dev needs to be done.

If more than one person points something out (even if other are not having the issue). Then there IS a problem somewhere that needs investigating - you might need to buy more equipment to be able to properly test things.

Whatever the issue, If something is unusable for any reason, you should address it!



Derron

Reminds me of the oddness I feel when I see "cloud + arrow down/up". It always cries "download to cloud" (eg into your google storage) ... I accept hard drives and floppy discs as "download" icon :D


bye
Ron

iWasAdam

I couldn't resist this one with all the talk about floppy icons:


I'm replicating a UI from 1986(ish) which had a button bar (before this sort of thing existed). Above are two versions of the button which went to the file/directory page.
No 3 is the original with DIR
No 2 is my new version. Which won't annoy old users and make new users feel more at home. I could have used a folder - but the floppy disk just looked much better and more in keeping :)

Matty

Good Day folks.

I decided to learn a new programming language (C#) and started doing so yesterday about 3pm..

I have put together 'Dragons Cavern Puzzle Quest' into C# language (utilising SDL2) (written 2,600 lines of code since 3pm yesterday).

You can download a zip file from here and try it on your PC (extract and run the executable fantasymatch.exe - it is the same as the web version).

I have implemented some of the alterations suggested by people including rewriting the code entirely (of course - since it's a Desktop Application in a completely different language not a Web Browser page)

Adam - the sound should work on your PC now, and I'd say the little icon does what it says....

Anyway - don't be too harsh - your previous comments were all based on a program that had at that stage had only 2 days work on it.

https://www.mattiesgames.com/match3/fantasymatch_pc.zip



Thanks.

from Matt

iWasAdam

I'll download and let you now - lol

OK. First I must say that you have taken a bold and brave step moving from web to desktop. You have a load of skills that seem to be serving you well with C# considering you've only had a few days with it - kudos to you  ;)


Steve Elliott

Quote
OK. First I must say that you have taken a bold and brave step moving from web to desktop.

Cool, to be honest I hate web based games, they don't offer a proper immersive experience, the experience is always awkward and technical issues arise.   8)
Win11 64Gb 12th Gen Intel i9 12900K 3.2Ghz Nvidia RTX 3070Ti 8Gb
Win11 16Gb 12th Gen Intel i5 12450H 2Ghz Nvidia RTX 2050 8Gb
Win11  Pro 8Gb Celeron Intel UHD Graphics 600
Win10/Linux Mint 16Gb 4th Gen Intel i5 4570 3.2GHz, Nvidia GeForce GTX 1050 2Gb
macOS 32Gb Apple M2Max
pi5 8Gb
Spectrum Next 2Mb

Derron

Seems you use net core 2+ (hostfxr.dll required) ... hmm mhmm

If you enjoy writing "C#" ... you might consider diving into "Godot". A lot of tutorials and stuff - and as it uses "runtimes" you can export to a lot of platforms. Also I am sure that the "visual programming style" (setting up like "objects" consisting of sprites, particles, ... eg a "flame torch") is something you could enjoy. You can do "normal coding" but certain stuff is set up visually - "wysiwyg".

Writing everything "from ground of" might look satisfying - but be honest: sooner or later you will experience issues. You then have to fight the issues (most of the time basic stuff like reading file formats, stuttering audio ... odd crashes...) instead of developing the game.
And as you now already started to dive into something new -- why not at the same time try to use one of the "todays" approaches to game dev (godot, unity, ue)


Tutorial about match3 (one of the possible approaches of course) in godot:
[youtube width=600]https://www.youtube.com/watch?v=YhykrMFHOV4&list=PL4vbr3u7UKWqwQlvwvgNcgDL1p_3hcNn2[/youtube]
and a suiting source code: https://github.com/blikoor/godot-match-3

bye
Ron

Xerra

I think this is a great approach, Matty. I'm no fan of web based games either. Too many web browsers and I just don't enjoy playing games that way. I think this is definitely the way forward for you and I'm betting you won't look back. Also, as Ron says, using a background framework to do the grunt work for you, may also save you even more time. Although, judging by the fact you've written that much code in one day, I'd say you could probably knock out the bible in a week if you were asked to write it  ;D
M2 Pro Mac mini - 16GB 512 SSD
ACER Nitro 5 15.6" Gaming Laptop - Intel® Core™ i7, RTX 3050, 1 TB SSD
Vic 20 - 3.5k 1mhz 6502

Latest game - https://xerra.itch.io/Gridrunner
Blog: http://xerra.co.uk
Itch.IO: https://xerra.itch.io/

Matty

Thanks folks....

this is the version that should run without you needing to install .NET

https://www.mattiesgames.com/match3/fantasymatch_pc2.zip

It is double the size of the original due to the .dlls that are included - haven't learned enough yet to know how to reduce this however...but I will eventually.