Grauw’s RPG in development

페이지 12/22
5 | 6 | 7 | 8 | 9 | 10 | 11 | | 13 | 14 | 15 | 16 | 17

By Grauw

Ascended (8618)

Grauw의 아바타

05-04-2018, 23:36

Yeah, not a fan of that Smile. Then I might as well skip the BIOS ISR entirely and call H.KEYI and H.TIMI manually. I’d rather not.

By DarkSchneider

Paladin (890)

DarkSchneider의 아바타

06-04-2018, 08:32

I see that the joystick scan is only for triggers, but not for stick.

Also, looking that the BIOS does "Handle PLAY" it seems that the "Data area used in PLAY statement" could be used, but not the "Work area for PLAY statement", or it will start to play music.

I see fine the BIOS ISR, we can even use the TRPTBL functions for our own purposes, like the ON INTERVAL GOSUB. Putting on HTIMI things that requires more immediate attention and ON INTERVAL GOSUB other things, like reading the input.
Not sure how to use the TRPTBL ones to activate and point to the function:

Quote:

TRPTBL (FC4CH, 78)
contents: trap table used to handle interrupt; one table consists of three bytes, where first byte indicates ON/OFF/STOP status and the rest indicate the text address to be jumped to

FC4CH to FC69H (3 * 10 bytes) used in ON KEY GOSUB
FC6AH to FC6CH (3 * 1 byte) used in ON STOP GOSUB
FC6DH to FC6FH (3 * 1 byte) used in ON SPRITE GOSUB
FC70H to FC7EH (3 * 5 bytes) used in ON STRIG GOSUB
FC7FH to FC81H (3 * 1 byte) used in ON INTERVAL GOSUB
FC82H to FC99H for expansion

Base ones like INTERVAL is clear, the 1st byte is execution flags, and then the address. The STRIG one and KEY are more weird, but I suppose I will not use them, those checks are made into the main loop (logic) not at interrupt.

About the input, the BIOS one is good for me, as our input lib is made to get the status of any key, as any key could be used in the game, of even allow to define keys. Don't want to modify the code and recompiling the lib for each case, as is not the idea.
Currently reading the joysticks from the main loop, it seems the most correct way is to check when SCNCNT == 1, and read the sticks and store them in 2 variables, because just later it is decremented and if 0 it reads the other input (keyboard and triggers). Is not really much a concern, as it works well anyway (player could even notice the difference), but I roger that.

The PLAY part is not really a concern, if no queue is active it will take no time.

By Grauw

Ascended (8618)

Grauw의 아바타

07-04-2018, 17:20

I posted a new video: ▶️

Make sure to watch at 60 fps!

Quote:

** Enable subtitles to see some commentary **

Been adding a bunch of things...

Firstly some player sprite animation. I only drew frames for left / right movement so the up / down animations are still missing. Sprite patterns are updated with an YMMM VDP command, so CPU cost is very low.

Secondly I added rudimentary collision and triggering. The collision still needs some work since you come to a full stop when running into colliders, while you should slide along them, but it’s start.

There are also triggers, weather control stones which are activated when you step on them and trigger some new visual effects.

The rain effect itself is as it is before, built with 8 sprites, but now I also darken the colour palette to give a bit more of a “rainy” feel.

The lightning effect is completely new, you have to find your way around in near-darkness, only sometimes illuminated by flashes of lightning. This is done with palette fades, occurring at xorshift-random intervals.

The final effect I call “mana shroud” for now. The light changes into a mystical colour, and mana particles rise from the ground. The particles are two sprites with three flickering patterns which appear randomly across the screen.

Lastly I go back to the sunny weather, and play around with some new debug keys I added to play with modifiers on the palette RGB components.

By WORP3

Paladin (804)

WORP3의 아바타

07-04-2018, 17:12

Really nice Grauw, keep going !

By sd_snatcher

Prophet (3135)

sd_snatcher의 아바타

07-04-2018, 17:13

I gave it a thumbs up. Smile

By MOA

Champion (293)

MOA의 아바타

08-04-2018, 03:09

Nice work on the palette effects and I really like the mana shroud particles!

- Will you also mix/combine the rain and thunder effect?
- Thunder makes it look like you're entering "night palette mode"; my guess is you're going to use it for gameplay? Otherwise add a day version, which doesn't fade the colors out so much.
- Talking about "night" and "day"; looks like you're all set for a day/night cycle with your palette code, even a weather system with your rain and thunder effects. Is this what you're trying to implement, or are those ground-buttons there to stay and you will use these effects for some puzzle logic.

What replayer are you going to use for music and sfx? Maybe a good idea to already have a music replayer running, so you know how it affects performance. Would also be interesting to hear a thunder sound (@ some random time after the thunder effect, maybe tied to brightness of the thunder effect simulating some distance).

By max_iwamoto

Champion (470)

max_iwamoto의 아바타

08-04-2018, 04:31

Looks amazing.

By Grauw

Ascended (8618)

Grauw의 아바타

08-04-2018, 13:40

MOA wrote:

- Will you also mix/combine the rain and thunder effect?

Might…

MOA wrote:

- Thunder makes it look like you're entering "night palette mode"; my guess is you're going to use it for gameplay? Otherwise add a day version, which doesn't fade the colors out so much.
- Talking about "night" and "day"; looks like you're all set for a day/night cycle with your palette code, even a weather system with your rain and thunder effects. Is this what you're trying to implement, or are those ground-buttons there to stay and you will use these effects for some puzzle logic.

Well how it started is that I wanted to darken the light a bit while it was raining, have some way to disable the rain, and thought it was a good opportunity to test implementing collision triggers. The two other effects sort of followed because I got in the mood for them Smile. Gave me a good opportunity to try out / show off palette and particle effects, and how to integrate them in the game code. So it started as having a bit of fun and testing/proving the game code.

But as for how to use them, my current idea is to use them for gameplay. A bit reminiscent of Archylte Steppe’s weather machine in FFXIII-2. Otherwise I don’t think this RPG will be long enough and have enough areas to really let the different weather make sense. Using them for gameplay makes them useful, to let me have the player spend a little more time in the field, rather than just being some visual fluff. But it’s all still fairly loose ideas atm.

As for the palette code, currently it’s pretty slow but I have maximum freedom to experiment with it. If I want it to be fast then I should precalculate the palettes (like I did for the fade-in when the game starts). That limits the flexibility a bit, so I’m keeping that in mind. Though I might keep the dynamic palette in some cheaper form.

MOA wrote:

What replayer are you going to use for music and sfx? Maybe a good idea to already have a music replayer running, so you know how it affects performance. Would also be interesting to hear a thunder sound (@ some random time after the thunder effect, maybe tied to brightness of the thunder effect simulating some distance).

I was planning to make a little MIDI-based replayer for OPLL + PSG (similar to Tiny Sound Module). That way I can author the music on the PC in Reaper or Renoise or something. One MIDI channel per chip channel, parameter control with CC messages (moderator/carrier level, etc), and probably an envelope and lfo generator for each channel.

I haven’t bitten off that chunk of work yet though, I’ll probably pick it up when I feel like taking a little detour / break from the game code stuff. But what I have in mind should be fairly simple so less than a week’s work before I can start composing music. Later I can optimise it to compile MIDI files to MML, and figure out how sfx fit in that picture.

But yeah, the first thing that came to my mind when I made the lightning effects was indeed that it really missed some accompanying sound effects! I hadn’t thought about the delay, but that makes sense, neat. And it would be good to have a better idea of the CPU time the replayer will take, currently I’m counting on a frame budget of roughly 10% but that’s really just er, wet finger work Wink.

By MISXTOR

Champion (386)

MISXTOR의 아바타

08-04-2018, 19:34

Hello

I´m very surprised with your RPG. I honestly love your development. I like a lot that scroll and that storm, along with the graphics.

Keep on working. I wish you enjoy the experience of creating your own game.

Congratulations and regards.

By Grauw

Ascended (8618)

Grauw의 아바타

08-04-2018, 19:39

Thanks MISXTOR and others Smile. Getting messages like that and likes and retweets is motivating to me!

페이지 12/22
5 | 6 | 7 | 8 | 9 | 10 | 11 | | 13 | 14 | 15 | 16 | 17