OHRRPGCE feature requests/suggestions

Make games! Discuss those games here.

Moderators: Bob the Hamster, marionline, SDHawk

User avatar
Spoonweaver
Liquid Metal King Slime
Posts: 6462
Joined: Mon Dec 08, 2008 7:07 am
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by Spoonweaver »

RMZ wrote: Tue Aug 09, 2022 2:25 pm Is it possible to up the amount of conditional tags on an NPC? Doing the work with scripting is possible, but it's messier than it probably needs to be if there's an easier way to achieve this goal.
I don't think it's really possible to do very easily as it would mean adding addtional information to each npc entry. Though, if tmc or lenny or something else that is currently editing the OHR sees this and decides to add 1 or 2 extra "Appears when..." tag entries to each npc, would that be enough?

here's a script that might be helpful for this sort of thing.
Assume npcs have tags 5 6 or 7 as the tags required to be on for them to appear.

Code: Select all

plotscript,tagCheck,begin

set tag (5,off)
set tag (6,off)
set tag (7,off)

if (checktag(10)==ON,and,checktag(11)==ON,and,checktag(12)==ON)then(set tag (5,on))
if (checktag(13)==ON, or ,checktag(14)==ON, or ,checktag(15)==ON)then(set tag (6,on))
if (checktag(16)==off,and,checktag(17)==off,and,checktag(18)==off)then(set tag (7,on))

end
I suppose needing to run this script regularly may be messy
but at the very least, maybe this quoted reply will shed more light on the subject
User avatar
RMZ
King Slime
Posts: 1695
Joined: Tue Oct 16, 2007 12:39 am
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by RMZ »

Yeah I was just thinking for legacy games adding in those extra variables might help people out. I've been using those types of scripts for a long time, just mostly thinking about the older titles and maybe even users who aren't as script savvy.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

SwordPlay wrote: Mon Aug 08, 2022 1:58 pm any chance of getting subpixel movement, with velocity accel/decel (with e.g, clamping to an upper bound), friction, and wallchecking? and taking into account reduced x/y values for diagonal movement? asking for a friend.

please regard my awful rudimentary attempt to implement such.
Hey, not bad. The code would be much cleaner if you loaded everything into local variables and then saved afterwards.

I do actually want to implement sub-pixel positioning for slices and walkabouts, because fractional NPC/hero move speeds require it, and I want to add them soon. And internally slices do already kind of have fractional positions anyway, but it's only used by the "move slice to" and "move slice by" commands. I've been thinking about ti and it doesn't seem complex. The pixel fractions will be hidden almost everywhere, there'll be some additional script commands to get/set the fractions if needed, and in future there will be additional commands to get the slice position as a float (we don't need an alternative to "put slice" which accepts a floating point position).

Also I ported the OHR's wallchecking code to gdscript not long ago and in the process I converted it to floating point to handle fractional pixels.
RMZ wrote: Tue Aug 09, 2022 2:25 pm Is it possible to up the amount of conditional tags on an NPC? Doing the work with scripting is possible, but it's messier than it probably needs to be if there's an easier way to achieve this goal.
This is a general problem and I have a general solution: chained tags, which are autoset based on combinations of other tags (and which you can chain together for unlimited combinations). I've mostly finished implementing it except for testing and infinite loop handling and, honestly, some deep thought to make sure I didn't do it in a flawed way and need to start over. But I'm not going to finish it until after ichorescent is released.

Achievements are actually nearly the same thing, except they can't set tags yet.
User avatar
RMZ
King Slime
Posts: 1695
Joined: Tue Oct 16, 2007 12:39 am
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by RMZ »

Sounds great TMC! I've done the messy route for a long time, and I'm sure some newer users might enjoy the extra conditional tag options you mentioned.

Not sure if this is the right place for it since it's mostly a Steam thing so sorry if it's a little off topic. I know Axe Cop was the first OHR game to have achievements. I haven't done an update to Axe Cop on Steam in a while and I've now had two people tell me they didn't have achievements trigger. Is this something that might just be fixed when I recompile the game with a newer version of OHR? I've been a little hesitant about just uploading a new RPG file this way. My personal file for the game has the achievements unlocked which makes debugging the issue odd.
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

I have a general solution: chained tags
Or, as some would call it, an Excel spreadsheet-style solver. I've never looked into those except for a week last year when I attempted to learn Prolog, but then quickly decided it wasn't for me.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

Yes, spreadsheets.
I started learning Prolog a few years ago, and found that it's focused on logic programming and although it can do some imperative things, it's obnoxious and limiting for that purpose. And it's archaic in a way that reminds me of Common Lisp and Tcl. I think someone could design a better language that allows an easy mixture of logic programming and modern imperative programming (maybe by calling into a library or DSL). Maybe it already exists. I'm actually (inactively) working on something like that. Haven't we had this conversation before?
RMZ wrote: Thu Aug 11, 2022 1:58 am I haven't done an update to Axe Cop on Steam in a while and I've now had two people tell me they didn't have achievements trigger. Is this something that might just be fixed when I recompile the game with a newer version of OHR? I've been a little hesitant about just uploading a new RPG file this way. My personal file for the game has the achievements unlocked which makes debugging the issue odd.
Updating the engine version should have no effect, because there's been no changes to the achievements implementation since last year.
To test gaining achievements, you should reset the gained achievements so you can regain them, by running "game --reset_platform_achievements",
I was going to add a debug mode for achievements (since Mike hasn't been around for a while), but I've have no interest whenever I brought it up, so I assumed nobody had any real trouble getting their achievements working.
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

Haven't we had this conversation before?
Everything already happened before.

A while ago I've found this:
https://linusakesson.net/dialog/index.php
It's an odd tool that allows you to write Interactive Fiction in a Prolog-like language. The manual is very well written and the way he modernized the syntax is very interesting as well.

At some point in the forum thread where he announced the project, somebody started writing a battle system for it. I've checked it again today but I think the development has stopped long ago.

Generally speaking I'm curious to know what is the problem. Because on paper declarative languages should be especially suited to describe complex RPG logic but in reality, to my knowledge, no game engine at all uses them for that purpose.

And yes, I've probably already talked about the same subject before. The idea of "chained tags" made me want to check it again. But nothing substantial happened during the COVFEFE years so unfortunately the issue is still "unresolved" and eventually I'll come back to it.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

lennyhome wrote: Sun Aug 14, 2022 11:59 am https://linusakesson.net/dialog/index.php
It's an odd tool that allows you to write Interactive Fiction in a Prolog-like language.
Thanks for linking to that! I've been wanting to learn an interactive fiction intrepreter for a long time, precisely because I figure they must be highly declarative compared to other game engines. And this must be the most declarative language of the lot, so seems like the ideal one to study (and a very nice manual too). Although, from initial examples it's really not what I was expecting... it's rather Prolog-ish rather than something more text-focused.

Declarative programming is certainly suited for a lot of game scripting, and event-driven programming could be considered a popular subset of that (trigger conditions -> postconditions). I'd like to enable that style in the OHR, with lots of available script triggers and simultaneously active scripts, and defining event reactions in the animation system too.

Personally I think what's needed, at least in interactive fiction, are analogical reasoning and fuzzy logic, so that well-matching or best-matching rules can be applied rather than just exactly matching ones. E.g. many objects can be used to hammer a nail.
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

The reason I mentioned Prolog at all was that I thought some sort of "excel solver" could naturally be implemented in it. Because I read some tutorials that seemed to suggest it. That's not the case however.
User avatar
Hedera
Slime Knight
Posts: 175
Joined: Tue May 17, 2011 11:38 am
Location: a dying forest (all forests are dying)

Re: OHRRPGCE feature requests/suggestions

Post by Hedera »

would it be possible for things that require certain tags to be on/off, to have an arbitrary number of conditionals

menu items have two but what if they could have ten

imagine all the things you could do with binary logic, the world would be in your hands
lennyhome
Slime Knight
Posts: 115
Joined: Fri Feb 14, 2020 6:07 am

Re: OHRRPGCE feature requests/suggestions

Post by lennyhome »

to have an arbitrary number of conditionals
It depends on the dependencies. Depends if a conditional is allowed to be conditioned by another conditional and in which order the conditionals should be conditioned.
If you think of it as a physical system made of springs and pivots, then this happens:
https://en.wikipedia.org/wiki/Double_pendulum
User avatar
RMZ
King Slime
Posts: 1695
Joined: Tue Oct 16, 2007 12:39 am
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by RMZ »

TMC wrote: Sun Aug 14, 2022 3:48 am Yes, spreadsheets.
I started learning Prolog a few years ago, and found that it's focused on logic programming and although it can do some imperative things, it's obnoxious and limiting for that purpose. And it's archaic in a way that reminds me of Common Lisp and Tcl. I think someone could design a better language that allows an easy mixture of logic programming and modern imperative programming (maybe by calling into a library or DSL). Maybe it already exists. I'm actually (inactively) working on something like that. Haven't we had this conversation before?
RMZ wrote: Thu Aug 11, 2022 1:58 am I haven't done an update to Axe Cop on Steam in a while and I've now had two people tell me they didn't have achievements trigger. Is this something that might just be fixed when I recompile the game with a newer version of OHR? I've been a little hesitant about just uploading a new RPG file this way. My personal file for the game has the achievements unlocked which makes debugging the issue odd.
Updating the engine version should have no effect, because there's been no changes to the achievements implementation since last year.
To test gaining achievements, you should reset the gained achievements so you can regain them, by running "game --reset_platform_achievements",
I was going to add a debug mode for achievements (since Mike hasn't been around for a while), but I've have no interest whenever I brought it up, so I assumed nobody had any real trouble getting their achievements working.
I just launched Mr. Triangle's Maze on Steam so everything is a fresh batch of achievements and nothing launched or displayed for them. I have them all correctly labeled too so I'm a bit confused as to why they aren't working. Unless I did something wrong, which these were all default settings, it should work. The correct tag is turned on and all achievements are labeled the same on OHR and Steam side.

EDIT: Okay, TMC mentioned something on Discord that I somehow lost in my files over time that doesn't package with the nightlies I learned. Fortunately Surlaw's Kaiju Big Battel had it on Steam and I was able to download it and test with my own game and everything worked out fine. TMC/James, can you please make the steam_api.dll and steam_api.lib files part of the future downloads or list them on Hamster Republic for people like me who might forget them?
Attachments
trianglesmaze0000.png
trianglesmaze0000.png (7.38 KiB) Viewed 1528 times
Maze_achievements_02.PNG
Maze_achievements_02.PNG (8.22 KiB) Viewed 1528 times
Maze_achievements_01.PNG
Maze_achievements_01.PNG (154.59 KiB) Viewed 1528 times
User avatar
DWRL
Red Slime
Posts: 35
Joined: Wed Jan 15, 2020 2:26 am
Location: Germany
Contact:

Re: OHRRPGCE feature requests/suggestions

Post by DWRL »

Feature request:

A blendmode wich does not dither, but just uses the next similiar color from the master palette. This would make animated blending or day/night/weather effects look less jarring.
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 »

I'm thinking about attack animations again, in particular the lack of an attack animation that hits each target in sequence, similar to the existing sequential projectile but without the projectile part. How much of an issue would that be to implement?
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Re: OHRRPGCE feature requests/suggestions

Post by TMC »

Hedera wrote: Mon Aug 22, 2022 3:43 am would it be possible for things that require certain tags to be on/off, to have an arbitrary number of conditionals
That's exactly why I suggested chained tags, which I was discussing with Lenny up-thread. Changing all the file-formats and editors to allow more tag conditions would be arduous, but if we had chained tags then it wouldn't be needed.
RMZ wrote: Fri Aug 26, 2022 7:31 pmTMC/James, can you please make the steam_api.dll and steam_api.lib files part of the future downloads or list them on Hamster Republic for people like me who might forget them?
steam_api.lib shouldn't be included.
I think RMZ's problems have been solved after further discussion. The real problem is that there's no proper documentation for how to package a game for Steam. I'd also like to add Steam options to the Distribute Game menu which include the steam_api library to simplify it. But I don't actually know myself exactly what's needed, I've never released a game on Steam.
DWRL wrote: Wed Aug 31, 2022 2:08 pm A blendmode wich does not dither, but just uses the next similiar color from the master palette. This would make animated blending or day/night/weather effects look less jarring.
Are you aware that in the slice editor Settings menu there's a "Blend Algorithm" setting which you can set to "No dither" (or to "Less dither")? Seems to be what you're asking for. But it's a global setting affecting all slices; do you need to override it for a particular slice? Alternatively, setting your game to 32-bit colour mode also disables dithering and makes transparency look much better.
Feenicks wrote: Fri Sep 02, 2022 5:01 am I'm thinking about attack animations again, in particular the lack of an attack animation that hits each target in sequence, similar to the existing sequential projectile but without the projectile part. How much of an issue would that be to implement?
Good idea, because it's so easy to add. A matter of simply copy-pasting Sequential Projectile and deleting the projectile bits. I bet someone will implement it this weekend ; )
Post Reply