Post new topic    
Page 1, 2  »
Red Slime
Send private message
Sword of Jade: The Final Update (Updating Thread of Updates) 
 PostMon Dec 24, 2018 6:19 am
Send private message Reply with quote
This has come to light due to a recent Youtube let's play ( https://www.youtube.com/watch?v=IhNWQvibgMI ) of the game, but bug reports in general, that showed the game has some issues, some of which are the game, and some of which may be due to the data file being upgraded over the years. Particularly, it seems to have issues where the party is incorrectly modified and the wrong heroes are added or removed from the party. While it'd be understandable for an old game to have bugs, it somewhat bothers me that there's bugs that absolutely kill progress in the game. But I also have to move on at some point both time-wise and mentally.. I just want to give it one last defined polish before I do so.

So, like other devs like James and so on have been doing recently, I'd figure I'd make a liveblog style thread.

Goals of this final update

- Restore the game to reasonable working order, particularly preventing hard locks and soft locks alike.
- Level out some of the game's warts on the broad strokes where possible.
- Make it easier for those interested in modifying the game to do so, via updating the script code files to be heavily commented and documented.
- Properly track said changes.

Not Goals of this final update

- Don't redevelop the game. While it would be possible to take the tweezers to the battles, dialogue, map layouts, what have you, it's important to not get lost in the woods and end up redeveloping the game. While the feedback over the years has been taken to heart, and self-review after the fact over the years we've both learned from what happened with the game. Changes will be persued with the idea of "It is what it is". The game will, for example, remain sort of easy to defeat the Jade Countdown towards the back half. Certain things will auto-incure a cascade of changes to account for them, and this must be avoided.
- Speed. This will be a project I'm doing with the spare time of my spare time. It's absolutely lowest in my priority list on each day. It could be a year+ before this is finished from this post, maybe even longer. Also given the projects and games I've worked on since then, I no longer have a brain-index of where everything is, so I sort of have to rebuild that map, and this is slow.

How It Will Be Done

Because of the above reason of not being able to jump right to where I need to in the game data because it's been pushed out of my memory, my plan is to update the game by playing through it, seeing which scripts get set off, then pulling the script up and doing the indentation / bugfix / safety check code update right then and there, and then keep playing forward through the game to completion. This will take longer overall but ensures the most code gets looked at.

Once this update is finalized and out, that's it, I'm moving on from it, and all bugs become features. Some of the scripts are coming up on their 20th birthday, and even scripts written right before release are nearing their 15th. The Hamsterspeak scripts in this game pre-date some of the users of this engine. There's only so much to do before you have to say 'enough'.


Wishlist - Reasons why or why not

!DONE! Properly track the game's source file changes again
A while back, I did actually set up a SVN to track game updates over on Castle Paradox. However, due to time, and me losing all my login details constantly because of computer breakages/moving, the SVN was left long ago on autopilot. It still faithfully rebuilds the game zip each day over there for a decade now, but I've long had all the SVN knowledge leave my noggin, and I honestly would be afraid of breaking such a long running script now. Between now and then, I've updated Jade by quite literally redownloading it from the same download link as everyone else, updating it, and repackaging it to the upload, so there's no real in-between tracking, and my hosting has changed a few times, so I've come reeeaaaal close to actually almost losing the game off my hosting. Since Git is now the In Thing these days, I have now uploaded Sword of Jade to Github:

https://github.com/fyrewulff/swordofjade

All updates for this project will be checked in via this. I'm more than willing to have the git repo cross-hosted elsewhere (like Gitlab and elsewhere), but I'll worry about that later.


NOPE Convert the game to use slices or overhead per-pixel graphics

I did a proof of concept a long while back where I converted Fralin to use overhead transparency, the issue arises in that each area has 4 different maps, and the tiles aren't 1:1 between them so they have to all be manually converted. And it gets weird, like there's lightposts that come on at night. You can't walk behind them at all, because Charbile used tile graphics to make them light up at night. You could make them properly pixel transparent during the day time, but then that breaks at night due to that, and the engine doesn't support replacing the effect with an actual GPU light or something like that. Considering the work required, the game will remain with the usage of tiles that it has. Sorry.

While slices would be nice to have had back then, the way the game fakes menus works still. A HUD would be nice, but there's no option to render the HUD at higher resolution than the game runs at, so a 320x200 HUD isn't gonna work out.

Locked In Redo how the game treats saving and saves

Add a ton more save points. I can't remember how much of it was us emulating games of the era and how much of it was because the save points where we put them broke the time script less. I'd like to just add save-at-any-time, but I should also implement protection so people don't accidentally save with like, half a day left and are soft locked forever. Due to the save slot script commands, I could either implement the game autosaving when you have < X amount of days left on the jade counter, or have it actually just keep the last, say, 3 saves as safety saves to bail you out. The autosave < x days would be a soft save that you could use, wouldn't replace the actual save itself. Also, add a couple of "you know, it'd be a REAL GOOD TIME TO SAVE" points, like the inn ambush. This also makes it friendlier to phone users.


Maybe Sound Effects

I dropped adding these long ago because they always played at max volume. I think there's more control over that now. The remaining problem is curating and adding all the sounds. This probably has a 50% chance of being implemented, I know a lot of people want them in there, but the curation/editing/balance step will take a while. The goal is to not leave the game in a worse state than it's been left in before, and this could easily go south.


Extremely Likely Redo music

Okay. Jade's in a weird place with music - it's got music across multiple file types, generations, and conversions. Music that played slow as BAM on MS DOS suddenly got really fast when converted to MIDI on modern engine version. The way the MIDIs are played sometimes sound really garish and harsh, versus the Adlib original playback where it had proper attack/decay/bass/warmth-y feel to it.

The goal here would be to unify the game's music in style and loudness. BAM-era songs would be re-recorded as OGG, possibly willing to either recapture them via DOSBOX or an actual Adlib enabled retro computer, and master all levels so they aren't playing near clipping all the time. They would also be placed in a stereo soundscape to also make it easier to listen to them. I would likely look to remove any 'live' sounding song replacements, as while it was neat to be able to do that with OGG, it does sound funny when the game blasts chiptunes at you for a couple of hours and then suddenly you fall through a trap door into a concert.

Extremely Likely Rebalance the intro's usage of the time system / Jade Countdown

Fix some of the intro balance of the time system, with the thought that up until the first dungeon, I may have it advance day phases at half speed to make it less intimidating, or make it a soft game over (you're just returned to Fralin with a full stack of the days you start the game with) until you pass the first dungeon with some minor plot glue to explain why. The dungeon completion would also start you off with a minimum top-off amount of days. A large amount of complains and feedback have been from people feeling overwhelmed about the amount of days at the start of the game, and we lose a lot of people in the intro. This would make the intro much less of a roadblock.

Won't address how it becomes less of a concern in the back half+ ish of the game. See above about not getting lost in the woods.

I may even be willing to add a toggle where you can disable the Jade countdown at any time. While this is thematically garish, players can technically already modify the game to do this, so this would be cutting out the middleman. There would be no punishment to using this toggle re: obtaining endings or bonuses. This also would be a lot easier to implement, hook a menu option into a tag, and simply loop on 1 day left if enabled.

For those interested in EXTRA challenge, however, I am thinking of implemented a permadeath mode on the other end of the spectrum, or something close to it because I'm not sure how much it can be enforced in the engine, where death from the Jade Countdown would reset your game entirely. There would be no extra rewards, because I have no time to develop them, this would be something solely for people interested in playing it.

Locked In Speed up script updates by grafting the textboxes as comments into the Hamsterspeak code

Write a python script that takes the textbox export of the game, then looks for where the tb(##) function is called and then adds the textbox itself as a comment on that line in the HSS files. This makes it easy to see where a bug happened in a Let's Play or elsewhere by quickly searching for the dialog and you get taken right to the script line it's set off by. It will add about 1.5MB to the script file sizes, but considering today's internet, it's worth the tradeoff.
Red Slime
Send private message
 
 PostWed Dec 26, 2018 12:05 pm
Send private message Reply with quote
Annotation 2018-12-26 055603.jpg
Extremely Likely Mod Support

Upon further research, I've discovered the engine now supports constructing native menus via scripting, so I think I'll consider implementing the disabling of the jade countdown and any other features along that line as "Mods". Mods will be a menu option available at all times, allowing you to modify how the game itself runs. I think this communicates that you're modifying the game significantly in some "unintended" way, rather than an option you're setting (even though I'm implementing the mods myself)

The current gameplan would be to separate out the functionality as "mods.hss". Easier ways of inserting scripts via entry point scripts for common game events/context (ie, an easy way to add a script that fires off each time a day cycles, etc) will make it easier for anyone to add functionality to the game without even touching the base script files, which should be less intimidating for new scripters.

And since we can build menus out of scripts, the mod can insert it's toggle into the game's mod menu itself, so it's entirely possible to grab a script somewhere, past it in, compile, and you're done. No need to set it all up manually - it just appears in the game.

Of course, the limitation is that you're limited to what you can do via scripting, so (as far as I know) there's no way to include new graphics in a mod in such manner cleanly. But I think this will be a good way to pull off a couple of the above features in the first post and shouldn't actually be too hard to implement - just need to make some nice wrapper scripts, create the entry points (NOP scripts, basically) and it should be good to go.
Super Slime
Send private message
 
 PostWed Dec 26, 2018 9:40 pm
Send private message Reply with quote
It's awesome that you're doing this. Sword of Jade is still one of the best, most polished OHR games.
Mega Tact v1.1
Super Penguin Chef
Wizard Blocks
Metal Slime
Send private message
 
 PostFri Feb 15, 2019 8:29 pm
Send private message Reply with quote
soj1_bsohr.gif
squall_fanart.gif
dq2title.png
Been thinking about making another rpg and wanted to do a play-through. The OG version I have won't even start in win7. Is cool to see you're fixing it.

I tried another... newer older version of game.exe and whenever you would use a skill, it would insta-end all battles. Some of the text is extremely corny, but most of it still holds up to me. I could probably do a quick pass to remove the corn but is probably best to not mess with it too much. Relic of youthful vidja gam design. The maps seem overly spacious, the day/night transitions are very abrupt, but man, the game still has a lot of charm and is very playable and fun to explore now that enough time has passed for it to feel fresh for me.

Sound fx seems like it should be easy? Just put in a title menu where you can toggle it, if you're afraid it might affect the experience. Would put in a toggle for the countdown too, could have it where it............... counts up from 1 to taunt the player. 1 day down, how many more until you give up? 2 days gone by, and you're still here? etc etc

I have all the original files if you need anything. Rinku and Komera still haven't finished a rpg yet LOL
Metal King Slime
Send private message
 
 PostSat Feb 16, 2019 10:02 am
Send private message Reply with quote
A new rpg to finally demystify this Gold Crystal??

What's an OG version?
The insta-kill skills bug was due to garbage data in the .rpg file that was unused at the time it somehow got inserted into the file but now means something unfortunate. Fyre already cleaned that up years ago.

Sound effects is absolutely my most wanted feature. I'm so spoilt now that playing an old OHR game without sound effects feels like sitting in an anechoic chamber!

How about mouse support, now that the OHR supports it? Unfortunately while it would be easy to enable in most games, in SoJ you would have to script mouse controls in the custom menus for consistency, and maybe also update the Zelda-style camera movement, and who knows what else. So, admittedly, probably not worth the effort.
Metal Slime
Send private message
 
 PostSat Feb 16, 2019 8:13 pm
Send private message Reply with quote
face_off.gif
dungeon3design.gif
OG just means original gangster. It's slang I've picked up in the harsh world outside the peaceful town of ohr. (*edit* slang meaning 'original', should clarify)

The lack of sound effects was actually the biggest con against the ohr when i was deciding between it and uh... verge or rpgmaker. It really shouldn't be that difficult to add in sounds (FYRE) beep boops waa waa wow so easy. there's that bfxr app out there.

is mouse support a thing people expect now? how spoiled, geez
Metal King Slime
Send private message
 
 PostSun Feb 17, 2019 3:48 am
Send private message Reply with quote
I don't think anyone actually expects mouse support unless you're a causal gamer who accidentally wandered into this hardcore joke RPG den.

Design sketches! *saves for the archive*
Red Slime
Send private message
 
 PostSun Feb 17, 2019 4:14 am
Send private message Reply with quote
Joke RPGs are okay, but let's consider how fun Diablo is.
Metal Slime
Send private message
 
 PostSun Feb 17, 2019 11:40 pm
Send private message Reply with quote
Point made, but different kinds of fun to consider. How can one rate Diablo against the joys of ohr joke rpgs? With a 10 point system? Impossible, my friend. To live in a world with both, truly this is what is best.

I have never played an ohr game I don't like in some way. I'd play them all day everyday if I could. Yep, that's me. Just someone really into ohr games. Not someone who makes and fails a new years resolution year after year to stay away from here. That'd be depressing, haha aaaaaaaaaaaaaa
Red Slime
Send private message
 
 PostMon Feb 18, 2019 3:44 am
Send private message Reply with quote
Real mouse support would be signs on mouse traps with arrows pointing to the cheese with signs saying "Don't do it, buddy. This isn't gonna end the way you think"
Liquid Metal Slime
Send private message
 
 PostMon Feb 18, 2019 6:45 pm
Send private message Reply with quote
ArtimusBena wrote:
Real mouse support would be signs on mouse traps with arrows pointing to the cheese with signs saying "Don't do it, buddy. This isn't gonna end the way you think"


Those things consistently fail to break my spine, so I always wind up getting my cheese after a bit of wrestling myself free. You'd think I'd learn to just start poking it with a stick to trigger it without touching directly, but I don't.
NO EAT
Metal Slime
Send private message
 
 PostMon Feb 18, 2019 8:16 pm
Send private message Reply with quote
It's like you have no sense for your own safety. One day you'll walk right into the mouth of some large animal, then you'll learn.
Liquid Metal Slime
Send private message
 
 PostMon Feb 18, 2019 8:51 pm
Send private message Reply with quote
charbile wrote:
It's like you have no sense for your own safety. One day you'll walk right into the mouth of some large animal, then you'll learn.


That describes the start of nearly every relationship I've been in, so clearly I haven't learned.
NO EAT
Metal Slime
Send private message
 
 PostMon Feb 18, 2019 9:26 pm
Send private message Reply with quote
ohyou.jpg
in writing circles, it's often said that the principal difference between characters in fiction and real life is that in fiction, characters have a story arc where they change by the end

wait till my boy fyre comes back and sees this party we're having in his soj thread, haha
Metal Slime
Send private message
 
 PostTue Feb 19, 2019 7:48 am
Send private message Reply with quote
Regarding sound effects, I made a ton about a year and a half ago:
https://www.slimesalad.com/forum/viewgame.php?p=131191
Display posts from previous:
Page 1, 2  »