Interstellar Slipstream (WIP)

3DPLABox

Member
*NEW PROBLEM*

I've spent a little while tonight trying to get my boss programmed in (shown early in this thread), and I can't seem to get it to spawn appropriately. When I place it, it will show up in the editor, but not in the game. I've made sure the monster bank/tileset/group are all correct on the first screen loaded in. It will act as if it is there, meaning I can collide with it and even shoot it, but it simply will not display when playing. I wonder if the sprite (48x48) is possibly too big? I've switched the monster group to some smaller sprite monsters (16x16) and they show up just fine when playing. Does anyone have any ideas for what could be causing this?
 

3DPLABox

Member
Motivation has been scarce this year for sure. Happy to provide even smallish updates when I can, but geez, I think about the game constantly and only actually work on it every few months. Hopefully the cooler months give me more drive to work on this game.

A lot of my thinking has been about the graphics I'm using. I'm thinking too big. Each of the levels I've shown has used up two full main tile sheets. After my intro screen and everything, I'm left with something like maybe 6 levels total if I use two sheets for each of them. I'm going to rework what I've done to hopefully streamline my sprites so they take up less overall space and I can have more screens/levels. Here is a pic of a level concept I came up with today and this is only using just over half of ONE tile sheet.

Desert.GIF
 

3DPLABox

Member
Love that background!
Thank you! I've really been getting back into the swing of things lately. Here's a few more background changes I've made over the past week:

Broken_1.GIF

I wasn't super crazy about the purple background tiles or the duct pieces I had in there before. I changed those as well as the ceiling tiles to make things look less busy, more cohesive, and a bit easier on the eyes while scrolling.

tutorial_2.GIF

And I think I've decided to incorporate my training level into the story mode. I was unsure if I should even have one, but if I can make it related to the story, it's one more unique setting to kick things off.
 

3DPLABox

Member
I've been on fire the past couple of weeks! I stumbled upon drexegar's forum post about cutting horizontal scroll speed in half and followed along to add that into my game. It feels much better now and gives you an opportunity to take in the scenery instead of blowing past it at light speed. Adding in those scripts caused some graphical glitches to occur, but after about an hour of tediously comparing the new files to the old, I found a JMP that should've been an RTS and that fixed the problem for me.

After finding that, I made the scary jump to attempting to animate background tiles by following JamesNES's forum post. It took some doing and troubleshooting, but I got it working and I couldn't be happier! The tutorial level I have been putting together underwent a graphical overhaul and now has a scrolling virtual grid along the top and bottom of the screen along with much nicer background tiles. It's taking some time to move my tile sheets around to accommodate the 'top row animation' and rebuild the levels I've made, but now that I know how everything is working (more or less), I can make my sheets the right way going forward.

I created a new background tile sheet inspired by a couple of levels from the Genesis/Mega Drive title "Lightening Force" (or Thunder Force IV if you're not from the US) which I'm super excited about. This level in particular makes me want to learn how to adjust scroll speed on a per level/screen basis so I can have a few fast paced scrolling levels for added variety and difficulty. Feel free to throw suggestions at me on how to do that.

Some other updates include changing the shoot function from single button press shots to being able to hold down the B button to continuously shoot. I have discovered that after a certain point, if I fire too many bullets, the game will crash. I'm not sure what that's about, but I'll figure it out eventually. I also made myself a Trello Board to keep a tangible list of tasks/problems/ideas that need doing/fixing. I'm not usually one for lists, but it makes things much more organized and I can easily pick a task and start working rather than thinking of the hundred things that need done at all times.

Progress has been good, and seeing actual results is helping me push through the wall and continue to work on this thing. I'm having fun with it again, and that's a real good feeling.
 

3DPLABox

Member
Newest updates:
* I found a forum post on here about how to add screen shake as a special collision tile and implemented it. It makes the levels feel much more dynamic when you want things to feel like they're breaking apart or crumbling.

* Learned to fade in a screen and started working on that. That one is about 80% implemented as I want to be able to change what palette colors are used based on a userScreenByte value, and I haven't got the code right for it yet. It works great for the first screen you put it on, and that's it. I'll be back at it soon.

* Pause (mostly) works! But after we warp to a new stage, the game defaults to a paused state and you need to press start again to unpause it. Probably some weird small bit of code I'm missing.

* With Dale Coop's help I was able to rework the slow scrolling code to react to a screen flag instead of being the default, so now there will be more variety in the game instead of everything scrolling at the same speed. It will be more visually interesting.

* Found the value I needed to change for the bank switching speed of my animated background and reworked more of my background tiles to add animations to another level.

I think that's about it from the last time I worked on it a few days ago. I'm on vacation this week, so hopefully I have the time to add some more to it soon.
 

3DPLABox

Member
.....AND THEN SIX MONTHS PASSED WITHOUT A WORD OF ANY PROGRESS WHATSOEVER!!!

That's because I needed a break. I found multiple bugs that I couldn't solve, game crashing, enemies not spawning or reacting as they should...I was getting frustrated. BUT I came back to it the other day and managed to fix so much so fast that it almost feels like an actual game to play now. My tutorial level is pretty much in its final stages. Targets have been placed for players to shoot. Monster death animations have been made. I even figured out why my boss wasn't spawning and now have a pseudo boss fight in one level. It turns out I just didn't have a few of the settings set properly. No shame in revisiting the tutorials!

I found several helpful posts in the forums that helped me fix almost all the bugs I found. So the game no longer crashes after firing too many bullets. The player can fire on the seams between screens with no issue. Auto fire works just fine. It feels playable, and that feels good.

Next on my list of tasks is to get more enemies programmed so I can fill in the other 5 levels I have made already with something to shoot instead of having a fancy slideshow of screens with nothing in them. Maybe I'll make a small gameplay video and post it in here the next few days so the progress can actually be seen.

After all that I'll probably try to add a HUD finally. I'm not looking forward to that because I really want to figure out sprite0 stuff to have a static upper row, and previous attempts haven't gone over well for me.
 

3DPLABox

Member
Updates are slow, but progress is still moving! Real life work has been stressful, so it's taken time away from working on this, but I'm still pushing through.

* I discovered a way to make vertical shooting levels using additional game states and some small amount of coding. These won't scroll but they do make for a varied game feel with additional player sprites. I didn't want the whole game to just be left to right scrolling, so this is perfect.

* Recently I managed to make the boss tile graphics selectable through a userScreenByte value, so when the boss tile disappears you can easily select between a few tiles to make testing faster. This also works when switching to animated tiles, so it's great to not have to export your sheets every time you want to make a change.

* Tonight I managed to put a dent into rewriting the sprite drawing code. I finally understand how a lot of it works and I now have a few enemies that I can use in game with 2 frame animations. Hopefully the amount of code needed doesn't fill up my banks too soon. I want to have as many enemies as possible.

* I also made my first 'cutscene' if you can call it that. I have a transition level that asks the player to press start before moving on to the next stage. This may change to a timed switch at some point. Right now I have a monster with a smaller version of the space ship sprite blasting its way across the screen. Tomorrow I'll try to add additional graphics so it looks like it's going through a wormhole or a *GASP* SLIPSTREAM.

I have a goal in mind on when I'd like this thing done, and it is fast approaching, but just having a deadline has at least kept me motivated to work instead of letting it sit untouched for months more. More updates to come hopefully soon!
 

3DPLABox

Member
Stardate: 202299 ... I'm starting to dream in assembly code ... which probably isn't a bad thing, since I need to get better at it.

* My sprite draw code as I had it filled up Bank 1C SUPER QUICK. I revisited it recently and was able to cut out literal hundreds of lines of code and make it far more efficient while freeing up about 25% of the bank, so that certainly shows improvement! Now if I can only figure out how to safely move the draw code next door to bank 1D, I'll be golden.

* Recently I was able to work in a "WARNING" screen before the boss screens. It's just static at the moment, but if I can get the graphics looking right, I may animate them a bit

* I've been up far too late a few nights this week making power ups work the way I want. Currently I have 3 power ups and each one successfully changes the player's attack power while spawning a different weapon object when fired. This was tricky because I had a convoluted series of checks to draw different sprites depending on the power up, but ultimately decided to cut all that and figured out how to just spawn a different object instead. This was much simpler and allowed for far easier customization if I wanted them to move at different speeds or what have you. This may evolve into different weapons with a weapon select instead of just literal power ups. We'll see how I feel after I've slept.

* Those are the major updates. It's mostly been code optimization. I'm happy with my progress even if it still is slow, but it's still coming!
 

Peter Schmitz

Active member
Love to read about your experience. As a new nesmaker user myself it is inspiring to see that with time the coding part and the understanding of assembly code etc becomes easier. Thus said - your game looks absolutely fabulous!
 

3DPLABox

Member
Love to read about your experience. As a new nesmaker user myself it is inspiring to see that with time the coding part and the understanding of assembly code etc becomes easier. Thus said - your game looks absolutely fabulous!
Thanks! I'm really trying to knock it out before the end of the year, but if I just end up with a really polished demo by that time, I'll be happy.

Tonight's update: after much trial and error, I now have a mostly functional weapon select system that properly cycles between unlocked weapons. The only weirdness with it is that after you grab a pickup, you need to press Select twice to get the cycle going again, then it works fine. I'll figure that out later
 

3DPLABox

Member
Remember that time back in September of 2022 when I said I was trying to "knock it out before the end of the year"? LOL. Here we are almost a year later and NOPE. It's been a while, and I've actually been making progress, so I figured it was time for another update.

Major changes since then include:
* I figured out how to effectively use lookup tables, thus cutting my big sprite boy (6x6) draw code down from something like 800 (600? eh who cares) lines to only 80ish.
* I fixed the weapon select bug, so that system works perfectly now. Just need to figure out what my weapons will be.
* I have made a Gradius Option-like Helper upgrade that loops around the ship and looks super cool.
* Started working on sound stuff. I have incorporated CutterCross's Sabre Sound Driver into the project, so DPCM should be an option for me now.
* Started designing a few boss fights.
* General code optimization stuff. << This has been probably the biggest part of what I've been doing. A lot of the work has been behind the scenes boring code stuff.

And perhaps my FAVORITE update so far: I've got the graphics for a boss fight (maybe the penultimate one?) 99% done, so HERE IT IS. THIS A BIG B!TCH!

Meet the SERAPHIM.
Seraphim.png

This thing is 2 full main tile sheets, but I couldn't NOT make it huge. This is exactly what I wanted out of it. Right now the only mechanic I have programed in is the eye follows the player, but more will be done soon. I'm hoping to make this one challenging.

Hopefully more will be coming soon!
 

Jonny

Well-known member
@3DPLABox It's all looking (and sounds to be) a very nicely polished well made game. I'm a fan of the older shoot-em ups like project-X etc so I'm also looking forward to it whenever that may be.
 

3DPLABox

Member
Thanks guys! This isn't my first game project, but it is the first I plan on releasing commercially, so I really want to make it as polished and smooth as possible. I refuse to let this game suck! 🤣
 
Top Bottom