Dimension Shift

Mugi

Member
so, we decided we dont want to go through the 4-screen mirroring route and rewrite half of th game in addition to losing an animation frame to do that,
but the scroll artifacting still needed to go, so FIX94 pulled out a DIY scanline counter that's now being used to mask out a small area from the top and bottom to hide the vertical scroll garbage :p
this could technically be utilized in lots of ways, such as doing parallaxing. It's pretty neat.

https://www.youtube.com/watch?v=67ZaSYY8u_U
 

Mugi

Member
It's using DMC IRQ to count scanlines so in essence it's a really crude scanline counter, and also not perfect from as seen on the video (you can see the cutoff line jitter few pixels during scrolling.)
it's still in development as he just rigged this up last night and the timings et cetera still need adjusting.
 

Mugi

Member
so, DIY scanline counter.

let me introdude you to parallax scrolling :)

https://youtu.be/b7o3oB5iwA4
 

CutterCross

Active member
Could using that DIY scanline counter theoretically also allow for background HUDs at the bottom of the screen? Just curious.
 

Mugi

Member
yes.
while it's not quite as flexible as a real scanline counter, it does the same job per-se

we use it to add the black bar at the top and bottom of the screen to hide the vertical scroll artifacting.
and here we simply demonstrated a parallax by splitting at the middle of the screen.

the counter is technically capable of multiple splits, but the code is quite cpu heavy and in and of itself it's a tradeoff to even implement.
the entire memory management of DS has been redone, and quite a ridiculous amount of ZP had to be freed for this.

in addition to that we're playing in the dark waters as we did some engine speedup optimizations through abusing PPU shadow writes (hooray undocumented features!),
and we also sacrificed quite a substantial amount of code space in order to speed up name and attribute table loads.

this can be used in a game, but it requires quite careful planning around the feature instead of just being something that can be thrown to a game and abused to oblivion.
as for now, the parallax was simply a demonstration, we might or might not even actually use it in the game.

there's also the fact that this has to be separately timed for PAL and NTSC and that's a mess like no other.

to more answer to the question, with parallax here, we made the background scroll half speed above the split, so to get a static hud, you'd just make it not move instead of moving half speed.
the above demo also has 3 splits in it actually, it disables and re enables rendering at the top and bottom of the screen for the black bars (see the ppu viewer how it displays more or the stage at the top and bottom than the actual game does.) in
addition that, the 3rd split is used for controlling the background scroll speed change.

according to FIX94, the code as it is, is capable of doing 16 or so splits with it's current configuration. However, at that point gameplay would become impossible.
several splits during not entirely explosion filled gameplay is possible though.
 

Mugi

Member
Dirk said:
Wow, I'm simply amazed by your progress!

Thanks!
This has been a lot of work and we have something even more cool to show off a little later once we're done overhauling some graphics and stage layouts a little.
There's been some engine updates and features added that have been pending for quite a while, which are now semi-working. :p
 

Dirk

Member
Yes, it really shows that you've put a lot of work and thought into your game.
Oh, that sounds very intriguing, I can hardly wait for your next update :)
 

Mugi

Member
some features have been missing from dimension shift for a long time now.
it's been quite a while since we demonstrated the 4-directional scroll, but ever since that, not much had been done to it, and it was simply scrolling all the time in every direction, holding the player at the center of the screen.
it worked but limiting it is necessary in order to provide a cleaner looking gameplay, so here's a little sneakpeek of what we came up for that.

this is a WIP and only functions in Y-axis at the moment, but it features locking scroll direction on-the-fly, meaning that we can switch between horizontal only, vertical only, or 4 directional scroll at any given time.
this also features a scroll offset autocorrection that automatically centers the screen if you scroll out of bounds (such as moving in diagonal direction and clipping to an unwanted edge screen.)

https://youtu.be/YxT1nc-TX_c

so we demonstrated parallax, and i said that we have something more cool to show for that...
whats more cool than parallax you ask?

double parallax of course :)

https://youtu.be/a43IEOm1wLU

This is R2 of the Intro stage, as you can see on the video, the entire world map was deleted and we're gonna rework things a little, so only a debug room exists along with the new intro.
we have some neat things stored up for this game, look forward for it :p
 

dale_coop

Moderator
Staff member
Parallax! Really great work guys! It’s awesome.
i always loved that forest intro level... but now I'd like a full level in that forest!!! with monsters, platforms, death traps,...
 

Mugi

Member
dale_coop said:
Parallax! Really great work guys! It’s awesome.
i always loved that forest intro level... but now I'd like a full level in that forest!!! with monsters, platforms, death traps,...

the stage will have some monsters in it, but because it's designed to be really short, and purely with aesthetics only in mind, there wont be platforms or other kinds of complicated gameplay elements.
There is simply no space for any graphics anymore.

this will work in a way that the forest part is a short stage with a few simple monsters and at the end of the forest you will jump into a small cavern which will serve as a "tutorial stage" that introduces the player
to the basic mechanics of the game (platforms, wall climbing, warp crystal, collectable items.)

the warp in the tutorial cavern will then take the player to the stage selection.

there are a few things that changed in the basic game design with this rewrite. First and foremost, we are indeed abandoning the open-world concept, and the game will be more of a traditional platformer,
with multiple stages you can play in any order.
 

Raftronaut

Member
i'm blown away, I forget to check this thread for updates for ONE WEEK and you come back with THIS!

Bravo!

Truly Mugi, your progress is inspiring. Thank you for sharing :)
 

Mugi

Member
Raftronaut said:
i'm blown away, I forget to check this thread for updates for ONE WEEK and you come back with THIS!

Bravo!

Truly Mugi, your progress is inspiring. Thank you for sharing :)

Oh trust me, we still have our work cut out for us with the engine, but as you see, it's getting along.
it feels really nice to be closer to a feature complete engine now, and once we sort out all sort of bugs that keep appearing, and get the object handling back to working state im propably just gonna go ahead and pop a champagne,
because it's been THAT much work to get here. :)
 

Raftronaut

Member
Totally understand, I dream of the day my game engine is finished and I can sit back and create levels and challenges from the toolbox I've put together.

Still, your technical achievements are so jaw dropping. It's a pleasure following the developments
 

Mugi

Member
misterjosel said:
You're turning NESmaker into SNESmaker :shock:

funny enough, it's not the first time i've been told it looks like a snes game :p
I dont think it's quite there yet, but it's a good start.
 
Top Bottom