OHRRPGCE feature requests/suggestions

Make games! Discuss those games here.

Moderators: Bob the Hamster, marionline, SDHawk

User avatar
Hollyhart1
Red Slime
Posts: 36
Joined: Sat Apr 04, 2020 6:35 pm
Location: The endless void

Re: OHRRPGCE feature requests/suggestions

Post by Hollyhart1 »

I've noticed that people talk about the built in battle engine not having scripting, but no one talks about the built in shops. I was wondering if it could be possible, nay probable, to add script commands to the shops, or at the very least be able to edit the in-game menus for shops. Maybe make your own shop based menus without having to do too much scripting. I tried to make my own shops with menus but ran into a heap of issues. For one, for the player to be able to sell off items, I'd have to make a slice menu that represents the sell menu and having to add in a lot of scripting for this. For another thing I needed A LOT of menus for things, for example, the weapon shop needed a menu for each weapon, each Hero to equip it to, and so on and so forth. On top of that, no offence, but not all the shops look the best.

All in all, I'm just saying it'd be easier to be able to script/edit the in-engine shops.
User avatar
FnrrfYgmSchnish
Metal Slime
Posts: 741
Joined: Thu Jun 18, 2009 4:37 am
Location: Middle of Nowhere

Re: OHRRPGCE feature requests/suggestions

Post by FnrrfYgmSchnish »

I dunno about full blown shop-scripting, but being able to set up shops to handle selling items to them in a certain way by default (rather than needing to set up a separate individual Shop Thing listing for every. single. item. that you want to work differently) would be really useful in some situations.

Like say, if you want one shop to only buy items they already have in stock (plus maybe a few specific others that fit the theme of the shop or something) but refuse to buy anything else... rather than needing to set up "refuse to buy" Shop Things for every weapon/armor/etc. in your game you can just have one "Other/Default" entry with the "refuse to buy" sell type that covers anything you didn't give its own entry to.

Or if you wanted a "pawn shop" kind of setup where you can sell them anything for quick cash but then come back and buy it back later if needed, you could set the "Other/Default" to "add inventory" and whichever buy/sell price rates you want, rather than having to add a blank listing of every single sellable item in your game to the shop listing manually.

Maybe even the ability to add several different "defaults" for groupings of items (which you can check/uncheck from a list like bitsets), rather than just a single "Other/Default" entry plus the defined shop items -- weapon/armor shop will buy all weapons/armor for half price, and will buy certain scrap materials (like metal ores or pieces of dead robots) for more than what other shops will give you, but refuses to buy anything else.
FYS:AHS -- Working on Yagziknian NPC walkabout sprites
User avatar
Feenicks
Metal Slime
Posts: 696
Joined: Tue Aug 10, 2010 9:23 pm
Location: ON THE AIR IN THE AIR
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by Feenicks »

TMC, what do I need to bribe you with to merge that one branch that adds that non-320x200 battle backdrop-enabling bitset?
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

Oh, so I do read this thread!
Sorry, been intending to reply to the posts that don't have a reply, and actually implement some of the easier suggestions.

Larger battles is actually the thing I intended to do next after what I'm currently working on.
User avatar
pjbebi
Slime Knight
Posts: 112
Joined: Mon Jul 31, 2017 7:22 am
Location: Florida
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by pjbebi »

Is there a way to read what color is at a specific pixel? I'd like to do something with offscreen slices, generating maps from smaller images. So ideally, I'd like to read color at screen x or color at screen y, returning a value. Would that be super difficult?
User avatar
The Wobbler
A Scrambled Egg
Posts: 2817
Joined: Mon Oct 15, 2007 8:36 pm
Location: Underwater
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by The Wobbler »

From the latest Nightly:
"reset enemy data", "reset enemy stat", "reset enemy name" [Ralph]
Really happy to see this implemented! I'm going to use it to modify/reset enemy drop rates and it will be nice to use for dynamic difficulty levels too.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

Oh, great, I don't remember you ever asking for that. I added it for Ravancloak and Feenicks.

BTW, "read/write enemy data" can access a lot more data for which there are no constants defined, but including also some data I'm not comfortable with people reading/writing directly (meaning we won't support). So let us know if you want to read/write anything else.
pjbebi wrote: Wed Apr 13, 2022 4:02 pmIs there a way to read what color is at a specific pixel? I'd like to do something with offscreen slices, generating maps from smaller images. So ideally, I'd like to read color at screen x or color at screen y, returning a value. Would that be super difficult?
It sounds like you don't want to read from the screen, but want to read a pixel of a sprite? For some reason I've been putting off read/write pixel commands until we had proper arrays and objects (for faster access), but that's just dumb, I should add them now because they'd be very useful.
Reading from the screen is quite different and I don't want to allow doing that directly but instead add a command to take a screenshot and store it as an sprite slice you can read from.
User avatar
pjbebi
Slime Knight
Posts: 112
Joined: Mon Jul 31, 2017 7:22 am
Location: Florida
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by pjbebi »

TMC wrote: Thu Apr 14, 2022 1:08 am It sounds like you don't want to read from the screen, but want to read a pixel of a sprite? For some reason I've been putting off read/write pixel commands until we had proper arrays and objects (for faster access), but that's just dumb, I should add them now because they'd be very useful.
Reading from the screen is quite different and I don't want to allow doing that directly but instead add a command to take a screenshot and store it as an sprite slice you can read from.
Yes! Read pixel from sprite is a better idea. Thanks. I have all these mazes drawn, and I think it would make sense to store them as small images than to make a whole map from each one.
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

10x10 tile layers. Same as the regular 20x20 tile layers, but half the tile size. No changes to the wall system or anything else, just graphical.
I was studying RpgMaker's automapping and I think that feature would be both useful on its own and usable as a fist step into implementing some type of automapping in the future.

Also, arrow keys controls like in EasyRPG. It's difficult to explain but it handles the cases of two arrow keys being pressed at once better. Should not break compatibility with anything.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

(Still meaning to reply to other posts here. And still meant to be working on that battle resolution patch -- rewriting from scratch due to slicifation of battle UI)

Actually, I am planning to eventually allow wallmaps to use a different tilesize or at least half-tiles (and I started on multi-tile NPCs not long ago). But... how does that help implement autotiling? I can't see it.

Autotiling would be an incredibly useful feature to have, we really should do that. I've thought about it but I still don't know how it should work. I think there are many ways to implement it. My experience with Godot is that it can be complex, insufficiently flexible, and unintuitive all at the same time. (Plus it would be great if you could autotile multiple map layers at the same time, but how on earth would that work?)

Arrow keys for diagonal movement? Yes actually I wanted to add an option to enable tile-based diagonal movement, after 8-directional spritesets are possible. Also there's actually some special logic in the keyboard code to ensure that arrow keys pressed together repeat together. You can notice it when drawing in the sprite editors. Diagonal tile-based movement is trickier though.
User avatar
kylekrack
Liquid Metal Slime
Posts: 1240
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by kylekrack »

As the engine continues to get more QoL and "advanced" features (can't think of a better word), autotiling feels like something that would really keep the tilemap editor relevant. I'm not super familiar with it, though. I don't think I've ever actually used it, because it was more effort than just manually drawing maps (I was using Tiled). That being said, I'd be interested to look into how other programs work and help determine what works and what doesn't. My initial thought is autotiling in the ohr might look like defining animations in the tileset editor, where you set a region of tiles to autotile, then define some rules.
My pronouns are they/them
Ps. I love my wife
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

Half size tiles are needed to avoid the "3x3" (in Godot terminology) tiling schemes that are (if you've noticed) manual JPEG compression schemes. I'm investigating how auto tiling works in RpgMaker and I'll write about it later.

The arrow keys thing is something subtle. Doesn't allow you to move diagonally. It's about which arrow key takes priority when say "left" is pressed first and "up" is pressed next and then "up" is released or "up" is pressed first, then "left" is pressed and released and so on. Just key priority.

EDIT:
Consider what I've described here:
viewtopic.php?t=8325
Which is obvious for somebody who (unlike me) actually makes games. If you add to that an half-size version of it, then it covers all the 2x2 and 3x3 cases. Without the half size feature, then you need 64 additional tiles to compress all the 3x3 cases. I think this was known since the SNES times because, incidentally, the SNES has the half-size tiles feature and so does RpgMaker.

Why 30 years later supposedly more advanced editors like Tiled and Godot prefer to use Wang tiling schemes and drive people insane instead of half tiles I don't understand yet but sometimes the future goes backwards.

EDIT:
These are automap blocks in RpgMaker:
Image
It may look like the tile size is 16x16 but it's actually both 8x8 and 16x16. The user is only required to draw that particular shape, the engine then splits it into both full tiles (same as the 2x2 tiling mode in Godot) and half tiles (same as the 3x3 in Godot). Then there's a rather complicated table that re-assembles them but the user needs not to be concerned with it.

The pattern is also small enough that it's practical to re-assemble it by hand, maybe adding tile variations and such.

That's the detailed reason for the half-tile feature request.
User avatar
Spoonweaver
Liquid Metal King Slime
Posts: 6461
Joined: Mon Dec 08, 2008 7:07 am
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by Spoonweaver »

A customizable tilesize would be cool, and something people have asked for, for a while.
Being able to use the common 16x16 and 32x32 tilesizes would help normalize our assets to match those of the rest of the industry.
User avatar
kylekrack
Liquid Metal Slime
Posts: 1240
Joined: Mon Jun 16, 2014 8:58 am
Location: USA
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by kylekrack »

I have a lot of asset packs from humble bundles and such that are either 16x16 or 32x32, and sometimes scaling it up or down to 20x20 works out OK, but it always creates some degree of artifacting.
My pronouns are they/them
Ps. I love my wife
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

Yeah. No. 8x8, 16x16 and 32x32 are never going to happen. Because reasons.
If you're on linux you can try:

Code: Select all

pngtopam source.png | pamscale 0.625 | pamdice -width=320 -height=200 -outstem=dest
works surprisingly well for me as a first pass.
The problem is that an OHRRPGE tileset has a fixed 16x10 layout size while common tilesets are much larger, so you need to re-arrange them. And then there are the autotiling areas. Every time you need to place a tile to draw a road you need to scan within 48 possible variations which usually appear in a pattern that is optimized for machines. It ends up being a nighmare.

With that said I was thinking about making an external tool to "decompress" an RpgMaker autotiling block into an OHRRPGCE tileset. Just because there are an almost infinite number of those available. Then a regular script could do the re-assembling part. I think it's technically possible except only 2 autotiling blocks would fit in a tileset. It all depends how bored I'm going to be this summer.
Post Reply