This episode of Coding Secrets looks at the seemingly crazy technique to achieve Sonic 3D Blast's scrolling, and why it might have ruined the game Subscribe to Coding Secrets - / codingsecrets
Developer: "we have to be very careful to ensure that too many different enemies aren't on screen at once." Everyone watching this: "Alright, let's find out how many different enemies we can get on screen at once..."
I loved playing the Saturn port of this game growing up. To imagine that someday I would watch videos about its development through a computer would be, if I may, "impossible"
@DejaVoodooDoll Well I'm talking more about RU-vidrs more recently. I didn't really think about the competition. Sonic 3D is ok. It's not the best in the world but it can be fun. I was playing Lego Star wars 3 The other day and actually found the platforming harder due to less visible shadows in that level. Sonic R is not very good because characters on feet control like cars even at low speed which really annoys you more so than if it were a car as you are not expecting them to handle that way. Other than that it is short too which is the main problem. What I meant though is that a lot of people don't even really good them for their technical achievements, usually just making fun of them like the Sonic 3D special stages (the mega drive version of course because that is the one that is actually TT).
It's very impressive how you got to that result without using additional chips on the cartridge. About the speed, I think Sonic 3D Blast is fast enough.
When this game came out I rented it and really didn’t like it. Watching these videos makes me really appreciate the work gone into it. Obviously there was a lot of effort effort gone into getting the most out of the game. I had Puggsy and Mickey Mania though, and those games were a lot more fun and also technically impressive.
Jon, are you still working on the Toy Story DX hack? I'm asking because I'm curious, I'm very thankful for what you did with Sonic 3D Blast DX - you didn't have to any of that. Seriously, thank you and everyone at Traveler's Tales for giving me and so many other fans out there good memories!
I'm pretty sure that he never said that he was working on a Toy Story DX. In the video in question, he talks about what he would do _if_ he _were_ to make a Toy Story DX.
@@okarowarrior Well, I don't mind watching this kind of inspiring and interesting videos several times. It's hard for me to get tired of Jon's coding secrets. But I understand why you might not agree with that :)
I'm glad you know how to break things down for us who are interested... But don't have any experience in coding whatsoever. A lot of these techy channels just jomble all the things together and it's... Hard to grasp without relistening about 30 different times... And still I don't seem to quite understand things sometimes. Hahaha.. Don't know unless you've been there yourself, otherwise some of these concepts are so hard to try and comprehend.... So thank you for dumbing it down in a way we understand it. I do respect those other channels tho too cuz when I do get into coding one day... They'll be a big help.
This channel is so damn cool. I love that we can see behind the scenes into the making of classic games, straight from the mouth of the developer. Keep it up Jon, I love your videos.
This reminds me of Neo Geo scrolling. Neo Geo didn't compress graphics either, it just copied chunks of ROM memory into vram directly, graphics were laid out directly in the cartridge, i don't know the exact details but seems that's one of the main reasons Neo Geo isn't as prone to have demos as Megadrive or SNES, all its memory is already laid out in the carts, and all it does is copy it to vram, but can't be changed using the cpu
The Mega Drive does not compress graphics either. The Lynx supposedly does but I don't know to what extent that is true. Compression in these games is done in software. It's the developer's choice how they program the game. The Mega Drive and SNES don't have much RAM either so it is always preferable speed wise to run as much as possible directly off of ROM, just that isn't always convenient for storage reasons (no compression unless you want to do it over and over for every frame which isn't attractive). The Neo Geo is one machine that I don't know much about (I have never programmed any of these machine by the way) but I don't think it works much differently to a conventional tilemap-sprite machine of the time e.g. Mega Drive, SNES, PC engine, X68000 etc. With something like an Amiga, a machine that uses Floppy Disks and of course has to load everything into RAM, it makes sense to compress everything for storage on the disk as the access is too slow for you to ever really be streaming from it (at least not graphics data). Of course in machines designed for you to load everything into RAM you have loads of it as it is a necessity.
Neo Geo doesn't have hardware scrolling, it has a single fixed background layer. All scrolling and parallax is done with sprites. The sprite data is all in rom, as there is no vram for sprites whatsoever, the rom is bank-switched.
@@dasmeatloaf7670 is it possible to do any kind of software rendering? As in, could something be drawn into RAM, then tell the graphics chip to read from RAM instead of ROM?
@@firerat1653 From NeoGeo dev wiki (wiki.neogeodev.org/index.php?title=VRAM) "The NeoGeo has 68KiB of VRAM split in two: a 64KiB lower zone, and 4KiB higher zone. Contrary to other systems, the VRAM does not contain actual graphics. It is used to store sprite attributes, the fix layer tile map and sprite lists for video rendering. " So unfortunately not, as no graphic data are stored in vram. Also the render engine is tightly decoupled; so even timing tricks are impossible.
Really interesting reading the 'how it was done'. Its amazing to think that there was so little sharing of ideas that everyone came up with different solutions to similar problems.
It's slightly sad that even back then only a microscopic fraction of all players would appreciate the technical marvel that the game was for that hardware and how difficult it was to implement. Nowadays probably even fewer people are able to appreciate it, even those who try playing it (eg. on emulator).
Wait, why is this being reuploaded? Did it get taken down or something or am I just being dumb and it wasn't on this channel yet? EDIT: It was on the Coding Secrets-specific channel already (which you should go and sub to if you like this content!)
While I’m not sure just how good a sonic game this is (the perspective is at odds with the original games), my lord is this a technical marvel. I can only imagine how well received a non-sonic game would be if it looked like this.
Your videos are always fascinating, I always look forward to the next one. By the way, I have two questions: 1) If the slower scrolling was due to technical limitations, how did you manage get to speed it up in your Director's Cut version without causing graphical issues? 2) Do you know whether the game is supposed to be a spin-off or a main Sonic title?
I just loaded up the Director’s Cut patch for my original Sonic 3D Blast Genesis cartridge on my new Polymega system and it is fantastic!! The handling and collision detection is much improved and I’m really enjoying playing it like it’s brand new. Thank you so much for making it. If you ever want to tweak other games like 3D Blast Saturn or Sonic R, with Polymega there’s now a great system to patch and play the original carts and discs.
What's interesting is that Sonic 3D's PC Port Had An Interesting Way Of Doing That. The Map Used Collision Models And The Map Sprites Were Rendered On Top Of It. Now I'm Curious How The Saturn Version Does It...
Great Video... Sonic 3d is the most under rated sonic game...I would love a remake for the newer generation. I would also like a PART 2.. Keep the videos coming!
You know what you can do that would make a lot of people for happy? Remember how that guy( I forgot his name) created a simple way for programmers to make music using the Genesis ym2612? What if you can make a program for people to not only it converts Sprites into codes that the Genesis can read; but program in general that takes various languages like c-plus delfi gml and Exedra and converts it into assembler/assembly OR BETTER YET!!!!!! A program that READS C plus delfi or gml and it makes the way for these languages to work within the limits of the Genesis!?!?!? Kind of like an very open emulator that runs in the Sega Genesis that reads C plus, delfi or gml!!! I say open emulator because a regular emulator is like a program that runs inside of Hardware or software and emulates but what I'm talking about is something that not only emulates but reads and converts codes and only emulates what the Sega Genesis cannot do. that would be great I know it would be!!! everybody please give this comment of thumbs up to show him that this is a great idea and we would like it and that he's the only one knows assembler assembly like the back of his hand and is willing to listen to his viewers. Oh please consider it!!!! PLEASE!!!! It would be a blessing for a lot if people
So it ends up being more like an Amiga program with a pure bitmap where you have to keep drawing at the edges if you don't want to eat loads of RAM? Whenever I watch any of these videos I always think of the people who hate on these games without any thought for all of their exploits and the reasons for the compromises.
For your next TT related episode of coding secrets please talk about Puggsy's Total Object Interaction (TOI) physics engine. I just realized that TOI was actually very groundbreaking for the puzzle platformer genre (more than I had ever thought throughout the years and more than even you may actually realize), and had Puggsy caught on, it would have completely changed the puzzle platforming landscape forever with more companies incorporating dynamic physics engines of their own for their puzzle platformers, such an element may sound minuscule at first but if you play Puggsy and experiment with the physics and how they can be used, you'd see and may actually be surprised by just how much of an impact a dynamic physics engine can really have on gameplay, and I think that fact in itself deserves some attention (I knew you were always very forward thinking but Puggsy was truly something special and almost changed an entire genre).
Did your team also work on the Sega Saturn port? if so I was wondering if there were any thing you guys had to cut or change with the new more powerfull hardware.
Got a question, is it possible take a sega rom and dumped its data to assembly code for the 68K architecture? Really love this channel, new suscriber. Keep going with this videos
As someone who grew up playing the game and learning how to code years later as soon as I saw your explanation on how you did the graphics in the game a lightbulb flash over my head and I knew the conclusion. It was a so thats why the game is much slower. I kinda inferred that the way it loaded graphics would have limited in some way the speed you move on the map. Isometric games are hard to make fast and there's a reason there are not many of em anymore.
This video was originally on my Coding Secrets channel, but as it’s about a game I made it gets uploaded to GameHut a week later too. If you want to see all Coding Secrets videos please subscribe to Coding Secrets too. ru-vid.com
Ah the glory days of game development, when everything was about finding ways to trick/squeeze previous impossible results out of the hardware to stay competitive with rival companies. Now it's just "buy more ram" and everyone using a few traded engines.
Yeah. The PC space was the most competitive of all, where every single aspect was competing against each other. AMD or Intel, NVIDIA or ATI or 3dfx or PowerVR or 3D Labs or Matrox, Windows or Mac (there used to be a good amount of Mac gamers back then!), and then the engines. idTech vs Unreal vs GoldSRC vs Dark Engine, Direct3D vs OpenGL vs Glide. It was a hypercompetitive time. Developers would often work against each other to make the “best” engine
Wasn't that already posted ? But not too long ago. I remember debating if the game would have been better if some session allowed for a quicker scrolling.
@@okarowarrior Yes but... This one was made recently.... And i don't remember being subscribed to the "other channel".. ? Am I ? What's the other channel ?
The ROM in cartridge is addressable memory just the same as internal RAM. In newer higher speed things like the N64 though there is lower bandwidth to the cart than to main memory. AFAIK you could put extra RAM in a cartridge as it is just an extension of the system's memory but I don't think anyone did it.
@@NB-1 SVP does 3D rendering so imagine it would render the whole scene and then just have it copied to the VRAM. I don't think there is anything the main system does in that setup other than display the background, the HUD, maybe some game logic and the sound. There is not much information on the SVP but as apparently the 32x was something to do with it, I imagine it is probably just an SH2 and some RAM. I don't know if the 32X has anything more than that (2 of them that is) other than a basic framebuffer pusher VDC and something similar for sound.
@@txray3409 not true as the atari 2600 could also do the same as the nes when it came to add-ons for RAM. And the atari was made to be very simple, proving that its possible to add RAM to cartridges for every system. Another system that had RAM add-ons was the sega saturn, while yes the memory is offloaded rather than direct, it still runs under the same concept of RAM expansion.
Have you worked in any game for the wii? Most wii games I have see the codding of (mainly return to dreamland) implement some surprising optimisatio techniques and I wonder if any game you may have work on fpr the console uses similar or other optimisation techniques.
hey Jon, I have a question regarding Sonic R engine: in the saturn days sega was having trouble developing a proper 3D sonic game, we all know here about the sonic X-treme project having lots of trouble with engine and how sonic would work in 3D, and how a 3D sonic game from SEGA came only in the dreamcast days. but you guys from TT did a marvelous job at Sonic R engine (I'm not a fan of the controls tho), making it runs good and fast, having even loops and some platforming, and even having the impossible fadding. So my question is: if sega approached you guys from TT about the engine and to work/help in a propper 3D sonic game back in the time, or asking if they could use the engine, what would you do? do you think sonic R engine would work well for a proper 3D sonic game in the Saturn? I hope you see this and thank you for your time reading this :)
I know that it's long past this video's uploading, and this question probably won't get answered, but was there ever the thought of using a distorted image pattern to make the floor, similar to the warped pattern in the moose chase section of mickey mania? That would have not only made the game feel and look alot more 3d, but it might have saved more data, under the assumption that it could be implemented in such a way. Although it would take more data for scaling sprites like enemies, the ring animations could have been color palette swaps, similar to the opening Sega logo, and same for stuff like walls. It's just an idea, but I'm curious if it would have worked, or if the idea ever came up.
I didn't play, or see this game much growing up, but looking at it now, I think it would be a great engine for Nintendo-like games. Especially a game like 3D land, or World. Maybe even metroidvanias, RPGs, and zelda-like games. I really dig the game visually.
Can't wait for 3D blast to come to switch online I had a physical copy of the game for my genesis it was the only physical genesis game I got since that's the only one I could find at a garage sale
This is an example where the game could have been faster in PAL territories due tue more DMA bandwidth available thanks to the longer VBlank. But that would absolutely break it on NTSC.
Hey Jon, do you still have that sonic 3D model? It’s infamous now for being the 90’s play dough sonics schoolhouse model so it would be funny to see it in hd.
If possible you should remake Sonic 3D Blast entirely again and use everything that was left out and use the maximum of your knowledge and do the game from scratch to PC or Android or some stuff like that But seing this now makes me really enjoy Sonic 3D Blast for the Genesis
Please make more LEGO Star Wars videos there the most interesting thing on RU-vid to me. Like show us the oldest version of the game and what it looks like, the episode room, using characters, Ect.
Hi! I have a question about LEGO Dimensions. I found on internet some textures of characters in game and i found a Stonecutter textures. I'm a Big fan of The Simpsons, and i want to know what stonecutters was going to be in this game.
Wait, you said "which one of the 4 palettes to use" when talking about the backgrounds. What are the actual normal limitations here: 32 colours avaliable for the sprites and 32 for the backgrounds, or all 64 avaiable to both backgrounds and sprites, or what? And how many colours per tile and the like too?
well, there's 2 creepy sounds in the sound test of 3d blast genesis. 1: pressing bgm 19 too much will cause this static sound. 2: press bgm 14 and wait for it to end then press bgm 19 and wait and youll get a creepy sound. those 2 sounds are creepy, what would happen if you deleted the two sounds to make debug fit in, why where those sounds in the game and what where their origins, can you explain them??? i just wanna know why they exist in the games sound test and why did they make it to the final game.
i know them cuz 2 reasons. reason 1: spread over the internet (of course) reason 2: i tried them out and they worked on the pc rom i was using on bored bro.
i think just about everyone who plays 3d blast knows this as if it was a nightmare in their childhood or kids born in the most closer times to 2020 played a rom of the game online and remember it as a nightmare throughout their lives, either way the two secret sound test sounds are a nightmare that reminds me of sonic.exe or any creepypastas that i watched.
Developers today just throw 200GB of texture data and spiralling hardware requirements and sub 30FPS (console) experiences to compensate. I really like Sonic 3D back in the day, though it wasn't my favourite. I would have been 13 then, where does the time go!?
I'm not the first to say it,but you could launch the crash twinsanity beta,if you can do it,you are a tt developer and if you can't for the rights to the game,tell us,who should we ask if you can launch the twinsanity beta,I hope do not say that you lost or deleted it because I will not believe you, I await your answer