User Tag List

Results 1 to 8 of 8

Thread: Gauntlet Classic

  1. #1
    OBEY GOVERNMENT GOD ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,779
    Mentioned
    256 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,676
    Level
    32
    vBActivity - Bars
    Lv. Percent
    96.01%

    Gauntlet Classic

    So, I'm putting in initial map/object/tile/etc collision (finally) and ZoriaRPG expressed some worry about performance. Since maps can be huge (for example, an overworld map 64 times larger than FF1 is already doable) this can be a legitimate concern, especially if you are used to stuff like rpg or game maker which is likely to crush your frame rate unless you have a gaming rig. So I thought it would be fun to share a little programming puzzle that you guys can try your hand at. :)

    The throwback game which we want to reverse engineer here is Gauntlet:



    This game ran on 1985 hardware and had ports to the NES and similar systems. Pretty amazing stuff if you think about it. Certainly you couldn't just collide every enemy with every other object every frame?! So.. how'd they do it?


    PS:
    Last edited by Gleeok; 12-31-2015 at 08:44 AM.
    "Protocols of the Learned Elders of Zion" (British Royal Institute, 1906)
    "The International Jew: The World's Foremost Problem" �Henry Ford
    "Dope Inc. - Britain Opium War Against The U.S." (LaRouche; Konstandinos Kalimtgis; David Goldman; Jeffrey Stienberg, 1978)
    "Fundamental Laws: A Report of the 68th Convocation of the Rose Cross Order" 1916
    "War is a Racket" �Major General Smedley Butler
    "The Secret Destiny of America" �Manly P. Hall
    "A Strategy for Israel in the Nineteen Eighties" Oded Yinon (English Translation)
    The WWI Conspiracy: Part 1 - Part 2 - Part 3 "A New World Order"
    The War You Don't See
    Psywar

    �The modern theory of the perpetuation of debt has drenched the earth with blood, and crushed its inhabitants under burdens ever accumulating.� �Thomas Jefferson
    �It is well enough that the people of the nation do not understand our banking and monetary system for, if they did, I believe there would be a revolution before tomorrow morning.� �Henry Ford
    �Man will ultimately be governed by God or by tyrants.� �Benjamin Franklin

    This post contains the official Gleeok� seal of approval. Look for these and other posts in an area near you.

  2. #2
    Its your boi, Guzma! mrz84's Avatar
    Join Date
    Jun 2001
    Location
    Randomness
    Age
    36
    Posts
    5,699
    Mentioned
    219 Post(s)
    Tagged
    9 Thread(s)
    vBActivity - Stats
    Points
    11,020
    Level
    31
    vBActivity - Bars
    Lv. Percent
    7.62%
    Green Elf needs health! *shot*

    Also, that pic is from your FF Classic work? (Perhaps to show what it can do in comparison so far to this current predicament?) So many Warriors in there...

    As for the Gauntlet question...Not a clue. I can't remember the last time I played that game (its was back on the NES so like almost 25+ years ago) and I know that it has to be some sorta crazy trick or something...

    My Quotes and other siggy stuff.
    *Bar-Buddies updates whenever-also can email comics upon request*
    MP:89
    Playing: Final Fantasy XIV

  3. #3
    Death Knight MottZilla's Avatar
    Join Date
    Mar 2000
    Posts
    10,334
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,088
    Level
    31
    vBActivity - Bars
    Lv. Percent
    15.49%
    Achievements It's over 9000!
    Quote Originally Posted by Gleeok View Post
    This game ran on 1985 hardware and had ports to the NES and similar systems. Pretty amazing stuff if you think about it. Certainly you couldn't just collide every enemy with every other object every frame?! So.. how'd they do it?
    Gauntlet II had a 68K family CPU running at a decent speed. I'm sure they tried to be efficient about it but it's not a miracle. And on a modern PC I don't see why anyone would be concerned with performance by having a number of NPCs doing things. I think you are right that these concerns come from people with experience with those "DoEverything" game maker programs that try to do everything but don't really do anything very well.

    On older systems if cpu time per frame becomes an issue you can try to reduce the processing load by not doing everything every frame but only every other frame or when some key event happens. It all depends on what you're doing but on a modern PC I don't see game logic in a game such as this ever being a serious performance problem. Maybe if you have a whole ton of objects doing complicated things but this just doesn't seem likely.

    It's nice to see there is apparently an active project here. I've been trying to motivate myself to work on a project lately but the usual concerns tend to be artistic support.

  4. #4
    OBEY GOVERNMENT GOD ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,779
    Mentioned
    256 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,676
    Level
    32
    vBActivity - Bars
    Lv. Percent
    96.01%
    True. On a modern PC you could just brute force everything and it would still run fine as long it was cache friendly I suppose. 1000 NPCs is still only like 499,500 + n * direction checks or whatever. Nowadays the mentality seems to be about running more threads. I just like how some of the older *classic* games went about solving problems differently than we do today. I think it's easy to take this stuff for granted when you have a gaming PC or PS4 hardware. I don't know, I just find it neat I guess. :)

    Gauntlet 1 specs:
    Main CPU : Motorola 68010 (@ 7.15909 Mhz), MOS Technology 6502 (@ 1.789772 Mhz)
    Sound Chips : Yamaha YM2151 (@ 3.579545 Mhz), POKEY (Pot Keyboard Integrated Circuit) (@ 1.789772 Mhz), Texas Instruments TMS5220 (@ 650.826 Khz)
    "Protocols of the Learned Elders of Zion" (British Royal Institute, 1906)
    "The International Jew: The World's Foremost Problem" �Henry Ford
    "Dope Inc. - Britain Opium War Against The U.S." (LaRouche; Konstandinos Kalimtgis; David Goldman; Jeffrey Stienberg, 1978)
    "Fundamental Laws: A Report of the 68th Convocation of the Rose Cross Order" 1916
    "War is a Racket" �Major General Smedley Butler
    "The Secret Destiny of America" �Manly P. Hall
    "A Strategy for Israel in the Nineteen Eighties" Oded Yinon (English Translation)
    The WWI Conspiracy: Part 1 - Part 2 - Part 3 "A New World Order"
    The War You Don't See
    Psywar

    �The modern theory of the perpetuation of debt has drenched the earth with blood, and crushed its inhabitants under burdens ever accumulating.� �Thomas Jefferson
    �It is well enough that the people of the nation do not understand our banking and monetary system for, if they did, I believe there would be a revolution before tomorrow morning.� �Henry Ford
    �Man will ultimately be governed by God or by tyrants.� �Benjamin Franklin

    This post contains the official Gleeok� seal of approval. Look for these and other posts in an area near you.

  5. #5
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    I'm running a Commodore 64, can I play this?

  6. #6
    Death Knight MottZilla's Avatar
    Join Date
    Mar 2000
    Posts
    10,334
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,088
    Level
    31
    vBActivity - Bars
    Lv. Percent
    15.49%
    Achievements It's over 9000!
    You just need to keep in mind what they accomplished in older games on far less advanced hardware. These days you'd have to be very inefficient or be doing an awful lot to end up with performance issues in a non 3D or modern style game.

    Now if you want to keep in mind performance you could consider what I am looking to do. I'm looking to try to put something together that runs on the original Playstation hardware. You get plenty of storage with CD-ROM but you have only 2 megabytes of system RAM and 1 megabyte of video RAM. So you can't just go crazy, you have to manage your memory usage and can't program things in a horribly inefficient way. Unlike your PC where you'd have to be really wasteful to begin to see a problem. I see developing on an old console as both a challenge and something fun to do, not that PC development isn't fun too. Really developing any worthwhile game to completion is a big task.

  7. #7
    Here lies mero. Died by his own dumbassitude.
    Join Date
    May 2011
    Posts
    929
    Mentioned
    102 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    5,527
    Level
    23
    vBActivity - Bars
    Lv. Percent
    13.96%
    @MottZilla gets where I'm coming from.

    Even in the old days you could do a lot, Remember how shockingly beautiful MYST was? The only problem they had was rendering the damn thing. They couldn't do it in real time.

  8. #8
    The Timelord
    QDB Manager
    ZC Developer
    ZoriaRPG's Avatar
    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,336
    Mentioned
    107 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,441
    Level
    21
    vBActivity - Bars
    Lv. Percent
    5%
    Gauntlet used a detection grid that held the coordinates of all the player and enemy values, as well as linked lists to handle so many possible enemies at one time. When they overlapped, sharing values, it triggered a collision. I think this would allow for as many simultaneous collisions as actuallly took place.

    This is interesting extra material on Gauntlet, but sadly it doesn't have all the information needed to R-E the grid.

    http://twvideo01.ubm-us.net/o1/vault...Postmortem.pdf

    Page 33-34 briefly covers this.

    Gauntlet probably made heavy use of the VBRs. I suspect the 010 was chosen for this reason in particular, to utilise its more dynamic jump tables? I'll see if I can find some more conclusive docs, but I'm unsure if the Gauntlet source is floating around for analysis. It may be though, as a lot of Atari source code was found in bins, and made available, some years back.
    Last edited by ZoriaRPG; 02-13-2016 at 03:06 AM.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social