Jump to content

Photo

Robot Zed Progress and what to expect


8 replies to this topic

#1 Sprybug OFFLINE  

Sprybug

    Dragonstomper

  • 563 posts

Posted Sun Nov 19, 2017 8:47 PM

Okay, I've got it all figured out and here's the update!

 

Robot Zed is going to use 64K SuperChip.

This will allow me to keep the current playfield resolution of 22 lines (4x4 even playfield blocks).

I needed the 64K, which is why I made the jump.

Of course this means that I won't have multiple enemies on the screen at one time, but I'm okay with that because of the changes I made and it won't murder my CPU cycles trying to swap a lot of data between hardware.

Also the SuperChip option not only gives me the higher resolution, but also gives me more RAM to play with, which is a sweet, sweet thing.

The downgrade is, only one enemy on the screen at the same time, which actually works well with this new iteration.  Also the sprites are back to their single color and double row heights (I wanted multi color playfield, background, with keeping at least one missile for the enemy's fire).

 

Now, with that, and Kevin I think you'll like this, I decided to bring back getting different powers from the enemies you defeat.  This will make the game mechanics a lot like the original iteration of the game.

 

With this resolution, using a 256 byte data table (It's going to scroll two ways so I have to use the limited 8-bit data table). I can get almost 3 screens tall.  Each line is 4 bytes of data.  So 22x4=88 bytes per screen.  Well 88x3 is a little more than 256, so I can do 20 for the top screen and 22 for the other two.

 

Zed_Level_Config.png

 

Now, each level is going to have this TIMES 4 screens wide.  So 12 screens in total per level.  Starting point and ending point are always random, keeping that Rogue Like element.  Never the same game twice.  In fact, I figured out all my configurations:

 

Zed_Levels.png

 

I got 54.  So, does that mean there's only 54 possible levels?  NOPE.  There are also themes per row!

Each level you can divide into 3 rows.  There are multiple possible themes that can be applied. 

Maybe the top row will be the base theme, so they are rooms.  Whatever the first row gets assigned will effect what the next two rows will be.

So there could be a stage that's all a building, or a building with a basement.  Maybe it's a cavern stage, or a cavern stage with a lava bottom, or it's an outside stage with a lake at the bottom, etc.  Lots of possibilities for level themes, especially when you divide it up by 3's.  And each theme can have differently designed screen levels each as well (take advantage of that 64K space), so the game can be virtually different every time you play.  And I would like to have at least 8 different levels, and boss battles as well.  Also back is the soundtrack of course.

 

I know CDF is making strides, but I want to get this done, and this seems to be the way to go.  In the future, I may be able to do something cool with CDF.

 

So, that's where I'm at right now with Zed, thought I would let you guys in!

 

 



#2 SpiceWare OFFLINE  

SpiceWare

    Draconian

  • 12,376 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Mon Nov 20, 2017 8:35 AM

I know CDF is making strides, but I want to get this done, and this seems to be the way to go.  In the future, I may be able to do something cool with CDF.

 
Sounds like a good plan.  Good call on CDF - it can now be used if you want to do everything (6507 and C routines) yourself, but if you want something closer to batari BASIC (were you only worry about the game logic) then I'm only in the planning stages for that. I don't expect to really get that going until January due to the holidays and things like half the contents of my office is still stacked up in the dining room - I ended up emptying out the entire office at the start of November, after accidently tracking in dog crap  :mad:, so I could shampoo the carpets.  A lot of the office was already in the dining room due to the hurricane as I'd put off putting it back in place because I was too busy finishing Draconian for PRGE.



#3 Sprybug OFFLINE  

Sprybug

    Dragonstomper

  • Topic Starter
  • 563 posts

Posted Tue Nov 21, 2017 4:38 AM

Hey Darrel.  Yeah, Draconian was top notch.  Your stuff always has a very fine polish on it.  Maybe one day I can be good at assembly.  As I've said, I know the basics of it, but I'm not good enough with it to do anything really useful, yet. With Batari doing all the really hard video timing stuff for me, I'd much rather have it take care of the dirty work, while I strictly focus on the game code and mechanics. Keep working on CDF and if you guys gets that working on Batari, the games that people could make, I'm just imagining.  I mean, I was super impressed with the CDF demo at PRGE, and that Bomberman demo.  Holy crap.  If you showed that to me just on a TV screen and didn't tell me the system it was on, I would have said probably Intellivision, maybe the 5200?  I never would have thought it would have been the good ol' 2600.  Hope all is well over there, and I'm gonna write up a little update post next.



#4 Sprybug OFFLINE  

Sprybug

    Dragonstomper

  • Topic Starter
  • 563 posts

Posted Tue Nov 21, 2017 4:58 AM

Okay, so goofball dorky me overlooked a few things, but it was nothing major that was going to really change anything drastically.  I didn't think during that whole process that, oh, yeah each level is going to be 1K of ROM space.  4 rows at 256 bytes.  Yeah 1K.  Plus I had to remind myself I was working in 3 screen columns and not just screen to screen.  So each data table would have to be one of those rows of 3 columns.  Meaning those would always be the same and I can't just piece together 3 screens to make one vertical scrolling part using this method.  I could if I really wanted to, but that would require Zippy the Porcupine levels of level construction and cross referencing tables.  Would rather leave that out on this one if I don't need to do it.  That was pretty tough to make it all work properly.

Now with that all said.  Still a rogue like.  Still 4x3 (12 screens total) grid.  Still multiple possible themes and still a random element to how the levels are constructed.  I've been working more with it, and here's what I have figured out:

 

I recounted the possible level configurations from start to finish and it was actually 51 and not 54, but still that's a lot of different combos!  But don't worry that doesn't mean I'm going to have 50K worth of levels to have in ROM.  These are just "pathways".  Each one of those things you saw on graph paper would be 12 bytes each (each screen representing a number)  These numbers would be a reference to the pathways that lead out of that screen.  So I would design each row (3 screens high almost) to act as if it is all closed off screen to screen.  Then it would look at that number and figure out, oh, I need to have this part of the wall open so you can get to the next part over and would delete those closed off blocks.  Designing this way means that these rows can be put in any configuration 1-4 as long as they line up at possible openings, so that is something I need to keep in mind and have already set in my template.

So for themes, I have about 10 to choose from.  It would pick one and that level would be made with it in mind.  So any level can be any theme, and each theme has it's own boss.  So level one could start you on the base level, or the laboratory level, or the underground lava level, or the open forest level, etc.  I would like to have 8 possible rows to choose from when putting together a level, so that's 2K per theme. 10 possible themes = 20K of ROM space for all possible level rows.  That should be good enough.

Now back to the 50 possible ways a level could be tunneled.  12 bytes per possibility is about 600 bytes, so I'm not worried about using up a whole lot of space to give you guys a different experience virtually every time.

The difficulty will ramp up as the stages increases, so it won't matter what the theme is.  The enemies will be harder in further levels regardless.  There will be tables for that as well, and that won't take up a whole lot of space either.

 

So I think this is going to work now, and how the levels for Zed are going to be randomly generated for a different experience every time.



#5 Sprybug OFFLINE  

Sprybug

    Dragonstomper

  • Topic Starter
  • 563 posts

Posted Thu Dec 7, 2017 2:32 AM

Okay, another update, and something for you to have fun with.

I think this might also be a good opportunity to explain how I did this too, for people that might want to make something like this.

After going through it all again and programming things, I discovered that, yes, I actually do have 54 possible paths to make a level with.  With 8 possible sections to put into 4 slots, this gives almost an unlimited amount of combinations.  You could probably run this program over and over and over again and never get the same combo of paths and level parts put together to from one complete level.  There are some problems, in it though.  Not all the open passage ways link up like they are supposed to.  Probably an error on my part with the bit calculations, so I just need to go over each path again and see how I inputted the gates incorrectly.

 

When I designed each level section, I originally did it in X's and .'s in Notepad ++, thinking, oh I could do what I did in Princess Rescue and ZIppy the Porcupine and make the levels in a text editor and then write a program to convert the text into level data that the program could use, but then I stumbled across "Graphics Converter" in VbB.  It pretty much did the converting that I needed.  So I loaded up a very old version of Paint Shop Pro I have that you can still do accurate pixel art with, and designed my sections in perfect square pixels, like it would be in the game (and blown up about 10X so I could accurately place each pixel). The level section was 32 pixels wide and 64 pixels tall.  All the walls were done in black pixels, and the background was all white pixels.  I saved to BMP and then ran the Graphics Converter program which converted that BMP into data I could actually use in my program.  First, you go file open, open your BMP file.  You'll see it in the preview.  Click the Backcolor if it isn't the proper color, and use the eyedropper to select the proper background color (in my case, white) so it converts it correctly.  Make sure you have your width and height, the proper size.  Output Settings on batari BASIC.  Click the "Create Image" Button and you will see the typical playfield code generated.  Then click File, go to Save Code (I believe if I recall correctly), and make sure that you put an extension on the file you save.   Make sure it is PLA.  Also make sure you save it in the same working directory as your game.  This way, when you have your project open in VbB, you'll see it come up in your playfield list.  From that point, you can do whatever you want with it.  I converted it from that to a data file (8-bit playfield sections), so I could store it all as table data that I can access at any time, at any point, and do what I need to do with it. This worked like a charm and was pixel perfect!

 

So, with this program you can scroll up and down, and hit left and right to go through the different sections of a level.  As I said, some of the paths are incorrect and I am going to work on fixing that soon.

 

 

Attached Files



#6 chavert OFFLINE  

chavert

    Moonsweeper

  • 357 posts
  • Location:将棋の土地

Posted Thu Dec 7, 2017 8:04 AM

67916291rz.jpg



#7 KevinMos3 OFFLINE  

KevinMos3

    Stargunner

  • 1,562 posts
  • Founder of the Timothy Dalton as Bond fan club
  • Location:Behind YOU!

Posted Thu Dec 7, 2017 8:35 AM

Okay, I've got it all figured out and here's the update!...


...Now, with that, and Kevin I think you'll like this, I decided to bring back getting different powers from the enemies you defeat.  This will make the game mechanics a lot like the original iteration of the game.

 

...There are also themes per row!

Each level you can divide into 3 rows.  There are multiple possible themes that can be applied. 

Maybe the top row will be the base theme, so they are rooms.  Whatever the first row gets assigned will effect what the next two rows will be.

So there could be a stage that's all a building, or a building with a basement.  Maybe it's a cavern stage, or a cavern stage with a lava bottom, or it's an outside stage with a lake at the bottom, etc.  Lots of possibilities for level themes, especially when you divide it up by 3's.  And each theme can have differently designed screen levels each as well (take advantage of that 64K space), so the game can be virtually different every time you play.  And I would like to have at least 8 different levels, and boss battles as well.  Also back is the soundtrack of course.

 

 

Wow!  I was just catching up on this thread and it sounds awesome!  I love the direction you've taken it -- adding back in powers and having random layouts with themes sounds really really good.  Definitely a unique game for any system, especially our 2600.



#8 vidak OFFLINE  

vidak

    Moonsweeper

  • 455 posts
  • Location:Sydney, Australia

Posted Fri Dec 8, 2017 12:43 AM

Wow this is really amazing...



#9 Sprybug OFFLINE  

Sprybug

    Dragonstomper

  • Topic Starter
  • 563 posts

Posted Mon May 7, 2018 4:26 AM

I did some work this weekend. ;)

 

BA.png

 






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users