Author Topic: Blaster Master!  (Read 42081 times)

0 Members and 1 Guest are viewing this topic.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Blaster Master!
« on: January 30, 2011, 02:46:15 pm »


for those of you who don't know (for shame XD) Blaster Master is an NES game in which Jason, an average young teen, loses Fred, his pet frog, in a freak accident involving some radioactive waste in his backyard and has to travel deep underground in order to find him. in doing so, he discovers SOPHIA The 3rd, an alien battle tank, Eve, an alien woman, and a swarm of more different alien mutants whom she was attempting to defeat. this swarm, lead by the Plutonium Boss, is boring holes in the earths crust which will eventually cause it to collapse in upon itself. faced with the destruction of earth, the plight of a beautiful young woman, and (most importantly) the loss of his beloved pet, Jason takes the only course of action available to a healthy teen boy, the single-handed obliteration of the mutants.

gameplay

here is a slightly older version of the basic physics engine, running at 6mhz(i have some variable length list for enemies/extended physics stuff done as well but want to make sure this is as fast as possible before continuing. the speed is decent, but i'm still a bit concerned that multiple enemies/projectiles will slow things down too much even at 15mhz.)

right now there is nothing preventing one from running off the side of the map and falling through the RAM  ;D. mad props to magic banana for those tank sprites he made forever ago and i only just now decided to actually put to use. the wheel rotation animations are a bit off at the moment, but that is not an issue with the engine itself. rather, i made some slight mistakes while drawing out all the sprites, inverting them and erasing the bits i did not need for masking, re-arranging them bitwise in a single 8*1280 bitmap, cutting that into 20 8*64 piece chunks for running through sourcecoder, pasting all the hex into a text file, converting that to an .8xp, sending it to my calculator, and recalling the program into another program and now i'm going to have to do it all over again XD
oh, and there is both vertical and horizontal acceleration. to prove it, try standing on the leftmost edge of the bottom and jumping and then moving over towards the floating tile. the tank will fall short. if you build up some momentum, however, you can make it.
like i said before, i'm a bit concerned about speed and there is one part of the code in particular which i know could be optimised, but which i have not yet figured out. this is a for(loop in the tile-scrolling portions which could be made into a faster while loop. also, this engine is hard-coded for 20 tile wide maps, but the end product will work with variable widths. here is a package containing this program compiled and it's source as well as a few sprites.

Offline squidgetx

  • Food.
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1881
  • Rating: +503/-17
  • rawr.
    • View Profile
Re: Blaster Master!
« Reply #1 on: January 30, 2011, 02:50:35 pm »
* squidgetx gives shmibs a cookie.

Looking great, the physics seem awesome. As for the for to while loop Runer112 has a version of that in the optimization compilation...wait here it is:
It will execute the loop n times, with A starting at n-1 and decreasing down to 0:

Code: [Select]
n
While
  -1?A
  ;Code
  A
End

SirCmpwn

  • Guest
Re: Blaster Master!
« Reply #2 on: January 30, 2011, 02:50:38 pm »
Looks promising, nice!

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: Blaster Master!
« Reply #3 on: January 30, 2011, 02:52:14 pm »
That looks great.  I'm glad this is revived.  I can't wait for more progress! ;D

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Blaster Master!
« Reply #4 on: January 30, 2011, 03:38:20 pm »
@squidget: i know how the while loops work. the trouble is that it decrements a var every time it loops, rather than incrementing, meaning i would need to reverse the order of a tightly packed piece of code

thanks for showing enthusiasm, peoples! i have a lot of other things to be doing, what with this being senior year and all, but i'll definitely be putting more time into this.

Offline kalan_vod

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2715
  • Rating: +10/-0
    • View Profile
    • kalanrock.us
Re: Blaster Master!
« Reply #5 on: January 30, 2011, 09:20:55 pm »
Looks pretty sweet, Love the game btw :P

Offline Madskillz

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 488
  • Rating: +32/-2
    • View Profile
Re: Blaster Master!
« Reply #6 on: January 30, 2011, 09:32:52 pm »
What you had looks good...I remember playing the original on the NES, cant wait to see what you do.

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Blaster Master!
« Reply #7 on: January 31, 2011, 01:20:57 am »
Wow that looks amazing!  The graphics really blow me away!  I can't wait to see more of this!

Offline Ranman

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1354
  • Rating: +83/-0
    • View Profile
Re: Blaster Master!
« Reply #8 on: January 31, 2011, 02:04:57 am »
I never played this game back in the day... but I do remember it.

Your version looks outstanding.

I love your comment about falling through RAM. :)
Ranman
Bringing Randy Glover's Jumpman to the TI-89 calculator. Download available at Ticalc.

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Blaster Master!
« Reply #9 on: February 07, 2011, 02:07:43 am »
ok, i made a bit of progress whilst riding back from LA in the car (i had to use my mp3 player as a light to see what i was doing :P). the physics engine is now slightly faster and jets have been implemented.

please ignore the wonky tank sprites. i haven't bothered replacing them as the next item on my agenda is refining the ridiculously massive and repetitive manner in which they are stored and read in order to save several hundred bytes.
at present, this demo is some 400 bytes larger than the previous one, although around half of that is due to the addition of Rect( and RectI(. still, even with sprite and map data being stored externally this will have to become an app err its completion. a few anticipated specs:
as shown, jet fuel will not have to be collected after beating enemies. instead it will be a bar that begins to refill immediately after the jets are shut off. this is to better suit the map sizes, which must necessarily be split into smaller chunks in order to fit in the RAM. at present, i'm anticipating that the maps will be, at largest, around 128*100 8*8 tiles large(taking more than ~10K of prog RAM is a bit demanding for running things. besides, there will more than likely be other external variables i will need for some reason that i have yet to realise, so it's better to play it safe), meaning that, with padding bytes to prevent the tank running outside the map included, the total will be 117*93. as reference, the map displayed above is a 32*23(21*16 with padding).
if anyone is very good at creating and managing variable length lists i will probably need his help in a moment. thanks for looking, guys!

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Blaster Master!
« Reply #10 on: February 07, 2011, 02:10:57 am »
My only single piece of criticism is that I think when you are in the air, the wheels should move down instead of the hull moving up.  Other than that however, this is looking undeniably epic!  *Especially* the sprites ;D

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Blaster Master!
« Reply #11 on: February 07, 2011, 02:18:21 am »
/\true, true. i'll have to change that when i redo the sprites

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Blaster Master!
« Reply #12 on: February 07, 2011, 02:19:57 am »
Also, an idea.  Since the calc screen is somewhat limited, would it be possible to have the camera not focus on the player itself, but the area in front of the player?

Offline shmibs

  • しらす丼
  • Administrator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2132
  • Rating: +281/-3
  • try to be ok, ok?
    • View Profile
    • shmibbles.me
Re: Blaster Master!
« Reply #13 on: February 07, 2011, 02:25:09 am »
well, there will be just about as much moving left as there will be moving right, so, unless i work up some fancy-pants transition to slide the tank from the left to the right (or verse visa) when turning, it's going to have to stay how it is. i tried to compress the tank's size further as well, but 12*12 is as small as it's going to get =/
i'm just hoping that the brain's magic ability to retain images will prevent getting lost on the larger maps.
« Last Edit: February 07, 2011, 02:25:47 am by shmibs »

Offline Builderboy

  • Physics Guru
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5673
  • Rating: +613/-9
  • Would you kindly?
    • View Profile
Re: Blaster Master!
« Reply #14 on: February 07, 2011, 02:26:24 am »
Ah yeah that would be tricky, well its definitely looking awesome so far :D