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

0 Members and 1 Guest are viewing this topic.

This topic contains a post which is marked as Best Answer. Press here if you would like to see it.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Game Maker 64 (GM64)
« on: August 25, 2018, 02:27:50 am »
After all this talk about map editing, map making, and such, I've finally decided to toss my hat into the ring and start working on a passable Game Map making program.

Attached is the start to my effort, but it should illustrate the interface and how things are going to work and interact for us, as development continues.  Feel free to take a look at it, and tell me if it seems intuitive enough to work with, and feel free to offer suggestions as to what features you'd like to see it support as development progresses.  ;)

(GM64.BAS is the file you'd want to compile and run, to test everything out.)
« Last Edit: August 27, 2018, 07:22:20 pm by SMcNeill »
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline johnno56

  • Forum Resident
  • Posts: 1270
  • Live long and prosper.
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #1 on: August 25, 2018, 02:51:06 am »
Looks good so far...  What size 'game' screen will you focus on? 640x480, 800x600, variable?

J
Logic is the beginning of wisdom.

Offline Petr

  • Forum Resident
  • Posts: 1720
  • The best code is the DNA of the hops.
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #2 on: August 25, 2018, 07:48:44 am »
Hi Steve,
 It looks good, but I miss one thing in the TYPES.BI file. I would call it a flag. This would determine what the object is in the range of X1, Y1 and X2, Y2. Another thing that is missing is the map shift. But I look in the program and found by line 90 that this is not yet programmed. I'm wondering how you're going to deal with it, maybe you'll find a better solution than me. Instead of a fixed range loop on line 116, I would give the variable FOR X1 = RangeStart to RangeEnd, the same for Y. RangeStart will be at base 0, RangeEnd will be 29 (as it is now) but after pressing the button these values change and thus will redraw the whole map. (I know the block is not for drawn at line 92++, but for the mouse is being watched).

Offline TempodiBasic

  • Forum Resident
  • Posts: 1792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #3 on: August 25, 2018, 11:32:46 am »
Hi Steve

a fine and good idea,
the aspect is professional (colors, window dimension, fonts, buttons)
the few functions coded are working good (set H, set W, set Name of map, Exit button)
.....
waiting developing...
Good Coding
Programming isn't difficult, only it's  consuming time and coffee

Offline TerryRitchie

  • Seasoned Forum Regular
  • Posts: 495
  • Semper Fidelis
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #4 on: August 25, 2018, 04:01:32 pm »
Woohoo! Looking forward to this. Every time Steve has gone gung-ho on a library in the past it has turned out very well.
In order to understand recursion, one must first understand recursion.

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #5 on: August 25, 2018, 08:50:24 pm »
An update for those who're interested in this little project of mine.

Corrected X/Y map size buttons (they were reversed).
Map now tracks and works with coordinates greater than (0-29), (0-29).
Added a set of buttons to set Tile Height and Width (so we can designate the map 32x32, 64x64, or any other size for the tileset that we want to use with it).
UI now displays coordinates for which tile the mouse hovers over.
You can now select a tile.
You can now select multiple tiles, by holding down CONTROL while clicking them.

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

I'm actually quite proud of the tile selection routine here; sorting it out was a little more complex than I first imagined it to be . 

Controls, and all, should (hopefully) be rather intuitive, so feel free to test it out and let me know if anything fails to perform as it should, or if it's not working as you'd imagine it should.

Next update should be:
Shift-Click to select a square region of tiles.  (Click on (0,0), then hold  shift and click on (29,29), and every tile on screen will be selected for working with.)
Ctrl-Shift-Click should select a whole square region, while preserving the existing selection set.

Once tile selection is finished, things should move along smoothly as I can then add buttons after that point to set the graphic to display on that tile, set walk/swim/move tiles, and other such things...

All-in-all, I'd say things are moving along nicely, so far.
« Last Edit: August 27, 2018, 07:22:41 pm by SMcNeill »
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

FellippeHeitor

  • Guest
Re: Game Maker 64 (GM64)
« Reply #6 on: August 25, 2018, 09:00:36 pm »
Looking good, Steve!

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #7 on: August 25, 2018, 10:30:40 pm »
Hi Steve!  I'm trying GM64 out too.  Seems like a solid start.   Runs OK.  Screen size is a little too big for my laptop setting here (I can go only 768 max height), but I can live with it, just the message box cuts off.
 
- Dav
« Last Edit: August 25, 2018, 10:37:25 pm by Dav »

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #8 on: August 25, 2018, 10:39:03 pm »
Hi Steve!  I'm trying GM64 out too.  Seems like a solid start.   Runs OK.  Screen size is a little too big for my laptop setting here (I'm can go only 768 max height), but I can live with it, just the message box cuts off.
 
- Dav

It's going to be resizable when finished, so that shouldn't be an issue for you with the final version.  ;D
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 #9 on: August 26, 2018, 10:38:16 am »
Final tile selection update is in place.  (I hope.)

Adding SHIFT capabilities to the code was much more complex for my poor fuddled brain than I'd imagined it should be, so if you guys can grab a copy and test it out, I'd appreciate it. 

This update should:
Highlight chosen tiles properly on the grid for us.  (Even if the grid scrolls.)
Click will chose a single tile.
CTRL-Click will add a tile without resetting those already chosen.
SHIFT-Click will let you choose a rectangular region of tiles in one swoop.
CTRL-SHIFT-Click will let you add a rectangular region of tiles to those already chosen.

NOTE:  Shift behavior may be a little different than many people are used to, as it's NOT tied to holding the mouse down for it to work.

Click on a tile.
Release the mouse.
Move to another spot on the screen. 
Press Shift... 
Watch how you now highlight from the last spot clicked to the current spot.

Test it out.  See if it all behaves properly.  If there's someway you can break it, get it to spit out duplicate coordinates, or miss coordinates as you click on them, let me know.  To my way of thinking, the tile selection routine is perhaps the most important feature of a map editor like this one, and the more people who test things out while the code is fresh in my mind, the easier it'll be to sort out any possible glitches.  ;)
« Last Edit: August 27, 2018, 07:23:01 pm by SMcNeill »
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #10 on: August 26, 2018, 12:16:00 pm »
Hi Steve,

I get feeling more should be happening than what is. Should I be seeing some tiles to choose from and grid alignment seems off with mouse click, the tile I clicked is highlighted correctly but it's coordinate (0, 2)?

Should I be seeing more? (Haven't studied code at all.)
tile alignment off.PNG
* tile alignment off.PNG (Filesize: 25.24 KB, Dimensions: 1044x733, Views: 382)

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #11 on: August 26, 2018, 12:19:36 pm »
Oh but shift does work:

(That is nice!)
Shift works.PNG
* Shift works.PNG (Filesize: 31.05 KB, Dimensions: 1023x746, Views: 348)

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #12 on: August 26, 2018, 12:26:28 pm »
Oh so the tile map is 0 based and I might have clicked the map shift arrows before clicking tile... OK?

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: Game Maker 64 (GM64)
« Reply #13 on: August 26, 2018, 12:27:08 pm »
Hi Steve,

I get feeling more should be happening than what is. Should I be seeing some tiles to choose from and grid alignment seems off with mouse click, the tile I clicked is highlighted correctly but it's coordinate (0, 2)?

Should I be seeing more? (Haven't studied code at all.)

From the screenshot, it looks as if you clicked to scroll the screen down a few times, so you're looking at the map from (0,2)-(0,31)...   If so, clicking the top left tile would, indeed, be (0,2).  ;)
https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!

Offline bplus

  • Global Moderator
  • Forum Resident
  • Posts: 8053
  • b = b + ...
    • View Profile
Re: Game Maker 64 (GM64)
« Reply #14 on: August 26, 2018, 12:28:25 pm »
Yeah, OK. :)

Append: The suspense for getting some tiles up is killing me! ;)
« Last Edit: August 26, 2018, 12:32:07 pm by bplus »