Jump to content
IGNORED

Dimension Shift


Mugi

Recommended Posts

the soundtrack is actually pending a full rework soon(ish)

digit took a break from composing for the game due to real life commitments and as such the audio assets of the game currently are more or less first drafs made.

the idea is to basically "start from scratch"

Link to comment
Share on other sites

i will add this information to the first post too but as we've been talking about development transparency in multiple threads here recently, here's a quick insight for the development tools

used on dimension shift.

 

compiler: ASM6F (fork of ASM6 with support for unofficial instructions, which are heavily used in the code.)

graphics: pen & paper scetches scanned and edited for NES / Shiru's NES Screen Tool / nesmaker's BMP2CHR converter / Paint Shop Pro 5 / Optpix ImageStudio for PS2 graphics development.

World building: done using nesmaker's screen painting tool, which generates 16x16 metatiles from a chr and allows WYSIWYG screen painting, while generating NT/AT on the fly. Additionally, menus, cutscenes and any other special types of screens are directly drawn using Shiru's Screen Tool, and the resulting CHR/NT/AT are converted using our in-house NTAT conversion tool into our own proprietary nametable format.

Audio: Composed entirely in Famitracker, and imported into the game by converting a Famitracker .txt into assembly using GGsound's own conversion tool, which is then included into the assembly source.

Sound Driver: Gradual Games' GGSound (as included by default in nesmaker)

code writing: notepad++ / nesmakers internal script editor

Project management: nesmaker's internal project save format which we mail back & forth with FIX94 in an attempt to keep our source synchronized (lol.)

 

 

the base game engine of the game is indeed nesmaker 4.1.4 scrolling platformer core, with roughly the following added to it (excuse me beforehand for minor inaccuracies, it's been a long ride)

- memory management completely redone

- chr ram bankswitching functionailty.

- chr management / loading rewritten from scratch

- chr compression added

- standalone "menu engine" with it's own tile load/input/everything else routines

- standalone "cutscene engine" based on the menu engine's code

- DMC IRQ based software scanline counter

- scrolling has been rewritten from the ground up, including tile load handlers and everything else related.

- custom scripting support for per-stage based unique functionality in the game

- new metasprite draw routine.

- partially rewritten collision engine

- partially rewritten physics engine.

 

 

we had a brief discussion about this with FIX94 earlier today and from what we concluded, here's what is left from the vanilla engine written by Joe Granato;

- entity (object) handling system (nonfunctional- not compatible with our scrolling code.)

- portions of physics engine we saw no need to rewrite as they do the job.

- portions of the collision engine remain unchanged at this stage (pending rewrite/modifications due to it's heaviness)

- input handling

 

 

there are stray pieces of code left in the game that are literally pointless to rewrite, such as input handling, which can quite literally just be copypasted from nesdev wiki, or

rewritten in 5 minutes. Also a large portion of the original engine's structure has been kept intact, the way routines load and how the main assembly is laid out largely remains unchanged

while the code inside it has been rewritten. a large portion of nesmaker engine's filenames and folder structures for the source code also remain unchanged, additions excluded.

 

as the game is still highly in progress, there are things that have yet to be looked into, such as rewriting the object/entity system, and doing heavy rework/fullrewrite of the collision engine.

nesmaker's 6-point collision engine, while slightly buggy, is generally fairly robust. it's problem is that it is EXTREMELY HEAVY.

as such, we are more than likely gonna take the axe on it with a heavy hand at a later date once we start implementing objects and projectiles.

 

i hope this clarifies a little, feel free to ask questions.

 

EDIT: for why i dislike having people label this game as a nesmaker game, is as follows:

 

current project compatibility with nesmaker is propably roughly 30% or so.

the project can be loaded and saved in nesmaker with following limitations.

UI functionality for;

- managing hud: crashes nesmaker

- managing RAM: has no effect on source code, includes have been removed.

- managing graphics banks/CHR files: has no effect on source code, includes have been removed, and dummy asstets are used in order to prevent nesmaker from crashing.

- "path" management: nonfuctional, assembly code completely removed, crashes nesmaker.

- game objects: in most part, nonfunctional. Player object's parameters can be changed, but graphical modifications have no effect on source code, the real compressed graphic is manually worked and a dummy graphic is displayed in nesmaker.

- monsters, monster graphics and monster parameters: 100% nonfunctional, loads dummy assets, no effect on source code

- text/text groups: crashes nesmaker. text box and text storing routines completely removed from the source code

- special screens: no effect on source code, loads dummy assets.

 

still functional:

- input handling: including assemblies connected to presses of buttons functions and is used.

- palette management: still functions although, most palette changes actually happen in-code

- audio import: importing a GGsound .asm file through nesmaker's UI currently functions

 

in the screen painter mode, a chr file can currently be loaded, metatiles created and screens/NT/AT generated, however, most functionality related to

defining screen attributes (special flags, audio, monsters, trigger status) is non-functional.

 

we have also changed the way nesmaker handles the screens as a 256 screens long "corridor".

instead our screen load routine handles the world as a 16x16 screens grid which endlessly loops itself in both vertical and horizontal axis.

 

Edited by Mugi
  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

whoopee.

I have never been as happy to gameover in a game as I was when I recorded this. I wanted something quite overkill for the gameover screen so here it is 😛  Other updates as of late include working coin pickups (finally working objects!!) few tiny bugfixes here and there.  Immediate plan is to finish the gameover screen, it will have a little dialog in it, and get the in-game menu to do more than just show the map, then expand the stages more.

Also need to start actually putting dialog down for how the plot will progress and cutscenes play out and what not.

 

 

on a side note. Do people actually care about this sort of updates or should i just stay quiet ? Im not really at my best with this whole public things 😛

  • Like 1
Link to comment
Share on other sites

55 minutes ago, a3quit4s said:

You should make a kickstarter for a physical release and send updates through that

because I want to buy a physical copy 🙂

we decided to not deal with kickstarter or any other funding medium until the game is actually ready.

this is just a hobby project and we really dont want to deal with timeframes or any other forms of pressure regarding the game. We simply just do our thing and when it's ready we'll definitely release it in physical form, one way or another, but for now we literally just brushed it off our heads and focus on just having a blast making it 🙂

 

as far as gameplay videos or the particular update above, there's been a number of stuff again done after those, for once we've been messing with GGsound for a few days now and replacing the slightly gimped implementation of it that nesmaker comes with, so as such sound effect priority now works and we have access to 2 banks of music by making the driver bankswitch capable, so not only we can now maintain music variety throughout the game instead of reusing BGM, but the soundscape as a whole vastly improved in general. the priority allowed couple previously scrapped sound effects to be put in place without breaking everything, and i've been reording the channels of sound effects in order to minimize the channel muting when sound effects play.

For instance the coin sound which on the above video completely destroys the BMG now plays in pulse2 instead and hardly clashes at all with the music.

 

honestly, i could just write a novel about what we've been doing to the game on a nearly daily basis but like I said, I'm really not a social person and not much into writing updates or whatevers, and I also have no idea if people want to read such things, hence the question 😛

Edited by Mugi
Link to comment
Share on other sites

On 11/15/2019 at 2:20 PM, Mugi said:

Project management: nesmaker's internal project save format which we mail back & forth with FIX94 in an attempt to keep our source synchronized (lol.)

Maybe you guys could git some version control goin. Can really speed up merges on multi dev projects and come in handy when tracking down bugs.

  • Like 1
Link to comment
Share on other sites

59 minutes ago, chromableedstudios said:

Maybe you guys could git some version control goin. Can really speed up merges on multi dev projects and come in handy when tracking down bugs.

it was considered but somehow we've always ended up not doing that heh. So far we're managing 😛

Link to comment
Share on other sites

On 12/8/2019 at 10:31 PM, Mugi said:

we decided to not deal with kickstarter or any other funding medium until the game is actually ready.

 

Careful, I've heard some people consider this a cop-out and won't back a game if it's already finished!

(Most ridiculous backwards thinking I've ever seen. People are so weird.)

  • Like 2
  • Haha 1
Link to comment
Share on other sites

5 minutes ago, KHAN Games said:

Careful, I've heard some people consider this a cop-out and won't back a game if it's already finished!

(Most ridiculous backwards thinking I've ever seen. People are so weird.)

Have you ever by chance asked someone holding this position to explain their reasoning? Actually maybe that would be something to avoid to prevent an earful of gobblygook. 

Seems like "I won't support this project if it is too complete" would be a hard position to argue... ha! 

  • Like 1
Link to comment
Share on other sites

8 hours ago, KHAN Games said:

Careful, I've heard some people consider this a cop-out and won't back a game if it's already finished!

(Most ridiculous backwards thinking I've ever seen. People are so weird.)

So I've heard. I believe I've also read the thread you're thinking about.

That said, if someone doesnt want to support the production of cartridges for a complete project, then thats fine by me. It's everyones personal choice.

 

For us it's just the logical route to go really. We're both completely clueless about this whole business really, and add to that first time making a full game, so it's just a safer option to develop it at our own pace without extra pressuring factors and then go from that.

 

I really don't see how kickstarter is "not meant for this" anyway though heh. I mean, cartridge production is expensive. Isn't funding things you can't possibly pay yourself to get done exactly what kickstarter is meant for ?

  • Like 1
Link to comment
Share on other sites

Administrator · Posted
6 minutes ago, Mugi said:

I really don't see how kickstarter is "not meant for this" anyway though heh. I mean, cartridge production is expensive. Isn't funding things you can't possibly pay yourself to get done exactly what kickstarter is meant for ?

People will find excuses to complain about anything, I'd not worry about it. Their loss.

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Gloves said:

People will find excuses to complain about anything, I'd not worry about it. Their loss.

Honestly, the only thing we're worried about is actually finishing the thing instead of turning into waporware :P

As much as We'd love to be able to fund our livings with NES games, I just dont see that being a realistic goal to begin with. This is just about making a game, not trying to get rich. Worst case scenario we'll just self-fund a small batch of carts and be done with it.

Link to comment
Share on other sites

If you're in a situation where you can afford to make a prototype cartridge of a complete game and would like to find a production run, Kickstarter is 100% the platform to use. Starting with a complete game gives people much more confidence that they'll actually receive the product.

  • Like 4
Link to comment
Share on other sites

33 minutes ago, toma said:

If you're in a situation where you can afford to make a prototype cartridge of a complete game and would like to find a production run, Kickstarter is 100% the platform to use. Starting with a complete game gives people much more confidence that they'll actually receive the product.

This was one of my reasonins too, being a complete nobody in the internet rolling out random things asking for substantial amounts of money can sound pretty scetchy. Im generally pretty wary of what I'm personally supporting or not too. As such, if and when we move onto actually getting this game out there, I want to be able to with 100% confidence simply state  that the product is ready, and the money will go directly to funding the physical production and off to the hands of people who supported making it happen. No wonky timeframes or delays or other unforeseen issues.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

long time no post.

I posted a picture in screenshotsaturday on twitter so why not here too, as it's been a while since I've talked anything about the game and it's progress really.

late news include the beginnings of enemies. They exist! and they also almost sort of spawn almost correctly maybe on horizontal axis.... but atleast they do spawn now, so that's a start heh.

on the other news, i finished designing and drawing Stage D, which as of current moment is named "Factory." the stage is MASSIVE, and consists of 84 screens + some screens of hidden content (for reference, this is one of the 7 stages in the game, and is the size of half of entire metroid. (188 unique screens.))

 

here's a pic from a random spot of the map, in an attempt to not entirely spoil the layout of the whole thing.

derp.thumb.png.2ace9d3e9a45e24e525a3d7ca55f9e9d.png

 

Immediate plans of continuation is to:

- finish programming up the custom code needed for this stage to actually function (keyed doors, keys for them, a teleport function and various other little things.)

- continue developing the entity system

- continue developing weapon system and start testing & balancing damage as soon as monster work.

 

- more stages, new chr's for new stage types etc.

  • Like 5
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...
3 hours ago, Scrobins said:

How goes this gorgeous project, Mugi?

we're working on it as we can, but it's been quite slow lately due to personal things going on with both of us developing it.

nothing really notable to update as for now, but i've been sketching up the 4th stage a little and we started working on the entity system, which is still a broken mess, but enemy spawning does now work on a horizontal axis so its' moving along a little.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

It's been a long while since I wrote anything regarding the project so, if nothing else, just to let people know we are indeed still working on this, here's (an extremely early!) tileset test screen of how "stage 4" might possibly look like. I'm still working on detail tiles et cetera, along with stage-specific mechanics.... It will be a 2-part stage though (vertically, or horizontally? that's the question 😛)

I sent early looks of it to Jeremy earlier today, so hopefully soon(ish) we'll get to hear how this place sounds like too.

not much else to add as of now... we're struggling with the engine a little and due to that, progress on that front has slowed down a lot while we're regaining our will to fight it through.

 

stage4test1.png.1f11185791ee91ecf5b32caa04e8ce99.png

  • Like 4
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...