Author Topic: Game Maker 64 (GM64)  (Read 16880 times)

0 Members and 1 Guest are viewing this topic.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #30 on: August 31, 2018, 12:22:30 pm »
Thanks Steve, hope you are getting along OK.

Coding helps take mind off things (unless it doesn't).  :)

Actually, it was a case of "good news-bad news" when I saw the surgeon.  Turns out, he didn't think I needed surgery to remove the gallbladder yet.  (Got to love how one doctor tells you one thing and then another tells you the exact opposite -- that fosters great levels of confidence in their diagnosis!!)

Any day you can avoid surgery is a good day, so there's that...   

Only bad part of the day was when he asked, "So what are you going to do about the aneurism on your aorta?"

WTH??  Absolute first I'd heard ANYONE say ANYTHING about such a thing!!   

Apparently the CT scan of the gallbladder showed an aneurism on the main artery leading from the heart, so now there's got to be follow up appointments for extended CT scans/MRI and discussion with a surgeon about what to do about it...

Which made for a nice roller coaster of a ride Wednesday!  "You're fine.  You don't need surgery for your gallbladder; but, you might die if the artery going from the heart ruptures; so whatcha want to do about that?"

It's definitely nice to get back to coding, since there's nothing else I can do anyway, until the quacks get the ball rolling on the next set of tests and such.  :D
« Last Edit: August 31, 2018, 12:24:19 pm by SMcNeill »
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline Petr

  • Forum Resident
  • Posts: 1720
  • The best code is the DNA of the hops.
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #31 on: September 01, 2018, 05:21:29 am »
Hi Steve,
I wish you everything to go well. This is the same with the doctors here. One doctor denies what another doctor said. The best I've ever experienced was when the doctor asked me what he with me to do. I thought, doctor be kidding me. Unfortunately, most doctors here just want to heal and pull money out of patients, not cure them. Your level of medicine and doctors is far better.

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #32 on: September 01, 2018, 12:19:21 pm »
Well we could go on and on about the medical system. What a person can do is research problem so can ask intelligent questions, provide relevant information and understand a word or two more that the doctor throws at you.

And we can make a game right here, call it RU RX'd Yet?, for medical practice of course!

Let's see how we might tile that map? Need to find the path to escape?
« Last Edit: September 01, 2018, 12:51:12 pm by bplus »

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #33 on: September 01, 2018, 08:36:22 pm »
I'm waiting Pete's opinion. He seems to have a good information about medical matter.

In the while I must say that there is a sentence in medicine if you search more , you more  find. Just to say we have all a Apparently Good Health until we don't do exams... I have never done an ecography of abdomen and I think to have two kidneys but there is a 1% of persons born with one kidney. Who do say me that I am not in that 1% until I'll do the exam?
Good Coding
Programming isn't difficult, only it's  consuming time and coffee

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #34 on: September 02, 2018, 05:11:32 am »
Update:

We now have full tileset support -- both graphical and ASCII.
Fixed the "preview" tiles for when one is selected.
Tweaked the ASCII graphics a little (we had character "bleed" with one bad putimage placement earlier by a pixel.)

*************************
*************************

This has actually been quite a difficult little update, just to get everything to play nice together and display in the proper places, with the main issue being that TYPEs don't allow arrays.

TYPE TileInfo
    TileSet1 AS STRING * 30
    X1 AS _UNSIGNED _BYTE
    Y1 AS _UNSIGNED _BYTE
    TileSet2 AS STRING * 30
    X2 AS _UNSIGNED _BYTE
    Y2 AS _UNSIGNED _BYTE
    TileSet3 AS STRING * 30
    X3 AS _UNSIGNED _BYTE
    Y3 AS _UNSIGNED _BYTE


The map should work for us with 3 different tile sets for each tile (well, up to the 100 max tilesets per map limit -- if you need more than 100 tile sets, then you're doing something wrong, IMHO.  Most maps get by quite well with just one...), as well as being able to layer 3 different things on that tile for background, foreground, effect.  (Think grassy area, with hero standing on it, on fire...)

Since types don't allow arrays, there's been a lot of copy/pasting of code, with minor tweaks, to try and get everything to appear and display properly on the map.  I won't promise that EVERYTHING lines up exactly as it should -- there's always a chance that you'll have a piece set for layer 2 appear on layer 1 (or 3) -- but I promise that I *TRIED* to fox all those instances.  If you do manage to find a case where things get criss-crossed and don't appear to be working as intended, kindly report it and I'll scratch my head and cry, trying to sort out what I missed...

To give an indication of how mind-numbing some of this copy/paste code is, here's one of the nice segments to muddle through:

Code: QB64: [Select]
  1.     IF TileMatch THEN
  2.         SetChosenCaption(2) = LTRIM$(RTRIM$(t$))
  3.         tx = Tile(TilesChosen(1).X, TilesChosen(1).Y).X2: ty = Tile(TilesChosen(1).X, TilesChosen(1).Y).Y2
  4.         FOR i = 2 TO TilesChosen
  5.             IF Tile(TilesChosen(i).X, TilesChosen(i).Y).X2 <> tx THEN TileMatch = 0: EXIT FOR
  6.             IF Tile(TilesChosen(i).X, TilesChosen(i).Y).Y2 <> ty THEN TileMatch = 0: EXIT FOR
  7.         NEXT
  8.         IF TileMatch THEN SetXYCaption(2) = LTRIM$(RTRIM$(STR$(tx) + "," + STR$(ty))) ELSE SetXYCaption(2) = "Vary"
  9.     ELSE

Now, that's for the SECOND tileset...  For the third, you'd need to change X2 to X3, Y2 to Y3, but NOT change the X or Y....  And if course, the index for SetXYCaption has to change from 2 to 3....

/cry!!

So anywho.....

I *think* I've caught all the various cases here and we're  being layered properly, for both the ASCII (built in tile set) tile set, and any user-loaded tile sets.

****************************
****************************

Only real note that I'd like to point out to help people make certain that their loaded tile set works (such as the D32x32.png set I'm including in the archive) -- be certain to set the TX (Tile width, or x-size) and TY (Tile height, or y-size), or else you'll be using (0 height, 0 width) tiles to draw your map....
* GM64.7z (Filesize: 1.38 MB, Downloads: 314)
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #35 on: September 02, 2018, 10:37:18 am »
Hi Steve

sorry for the question...
loading GM64.BAS in the QB64ide I got this error...on the line 444
Quote
temp$ = _TRIM$(temp$)

I think that this is LTRIM$ so I made this difficult correction and I have run your last version of GM64!

This is the result of compiling  see attachment and now i find that buttons New Open Save Exit are busy!

Good interface, I need help to know what I can aspect and test, for now I post a feedback about selection of multiple cells.

Good Coding
Programming isn't difficult, only it's  consuming time and coffee

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #36 on: September 02, 2018, 10:38:05 am »
Sorry
I miss to post image file that now is here
2018_09_02_feedback.jpg
* 2018_09_02_feedback.jpg (Filesize: 279.53 KB, Dimensions: 1366x768, Views: 413)
Programming isn't difficult, only it's  consuming time and coffee

FellippeHeitor

  • Guest
Re: Game Maker 64 (GM64)
« Reply #37 on: September 02, 2018, 10:41:14 am »
Hi Steve

sorry for the question...
loading GM64.BAS in the QB64ide I got this error...on the line 444
Quote
temp$ = _TRIM$(temp$)

I think that this is LTRIM$ so I made this difficult correction and I have run your last version of GM64!

That's actually RTRIM$(LTRIM$()), TempodiBasic. Steve is already using the development build which will become the next version of QB64 and _TRIM$() is a new command to trim blank spaces from left and right sides of a string.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #38 on: September 02, 2018, 11:27:17 am »
Sorry
I miss to post image file that now is here

Did the mouse not highlight and select the full area for you, or did you move it after shift-clicking and making a selection?  When I give it a try, the area to select highlights nicely in red with shift held down, and then selects the highlighted area when I click the left mouse button.

How'd you get it to select the area and skip 2 lines?  A different click/hold procedure than what I'm used to?  I'm trying to reproduce your results, but I'm not having any luck replicating the issue so far.
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #39 on: September 02, 2018, 12:11:07 pm »
As for using the interface, it's all mainly done with mouse selection.

To change ASCII tiles:
1) First, select some tiles to work with.
2) Click the left set of numbers to change the ASCII background.  (Enter a value from 0 to 15 for SCREEN 0 colors)
3) Click the middle set of numbers if you want to put an ASCII character on top of that background.  (First number is from 0 to 255 for ASCII character value, second number should be from 0 to 15 for color value.)
4) Click the right set of numbers if you want to stack another ASCII character on top of the first one, using the same Character/Color input ranges.

Each click should show up both on the map, and in the preview area above where you made your changes.   

To change MOVEMENT allowed:
1) First thing I'd do is change the display to whichever movement mode I want to work with.  1 displays the tile set, 2 displays walking paths, 3 displays swimming paths, 4 displays flying paths.  To edit WALKING areas, press "2" on the keyboard to change view modes for you.
2) Select an area to work with, as before.
3) Click the colored boxes around where it says WALK -- these correspond to the directions which we want to block off, basically producing a wall which the character shouldn't be able to walk through.  Red boxes are blocked in that direction, green says that that direction is fully open, and gray says we have mixed results in the selected area...

Once you're in the proper display mode, it should be simple enough to figure out how to change which directions are allowable for movement with each tile.   

To switch to a different tile set:
1) First, change the TX and TY to the proper size for the tile set which you're using.  (The D32x32.png tile set which I've included uses 32x32 tiles, so set those values to both be 32 if you want to use it.)
2) Highlight a set of tiles where you want to change the tile set.
3) Down where it says "TS1: ASCII", click that.  Enter D32x32.png at the popup.  This lets you specify the tile set you want to use for the background tile.

TS2 is the second tileset (which doesn't have to be the same as your background set at all), and TS3 is the third tile set which you want to use for the selected tiles, so you can layer your map.

4) Click the 3 areas below the preview panes, to set the actual tiles you want to place on the selected areas of your map.  Use X/Y grid positioning for column, row of the icon you want to place.  (For example, (0,2) on D32x32.png looks like a little green pool of acid, and (1, 1) is a wide red X...)

Name it.  Save it...  You've now got all that information stored in one nice *.MAP file, which you can use however you want in your future games.  :)
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #40 on: September 02, 2018, 05:21:03 pm »
Hi Guys

Yes I must say that I have not understood that was necessary to use Improved Unstable version of QB64.
Now I got it and running GM64.BAS _TRIMS$ gives no error! More the selection is OK, selecting a cell the button are active so the wall of the cell!
IMHO the issues about that I have talked in the last post are connected to the QB64Ide x32 version QB64 1.2 revision 20180202/85  from git 1d0f920, in fact GM64.BAS runs good with QB64 1.2   revision 20180228/86 form git 6cb81e1.

So thanks to Fellippe to warning me about the source of my issue.
Thanks to Steve to publish a little help/HowToDo about GM64
Programming isn't difficult, only it's  consuming time and coffee