Тёмный

Secrets of Sonic 3D's "Impossible" scrolling 

Coding Secrets
Подписаться 103 тыс.
Просмотров 210 тыс.
50% 1

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
Is That You or Are You You by Chris Zabriskie is licensed under a Creative Commons Attribution license (creativecommon...)
Source: chriszabriskie....
Artist: chriszabriskie....

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 761   
@kyoai
@kyoai 4 года назад
"In the end the game couldn't reach the speed of Sonic 1" I think moving any faster than what was already possible in S3DB would've been too fast. In the game you only have a limited area of view and being able to run any faster probably would've just ended in frustration because the player would run into things too often.
@Haganeren
@Haganeren 4 года назад
Yeah but it's all about marketing and S3D have a quite bad reputation because it's not "impressive enough" speed-wise... Which is ironic since the game break so many technical barrier. Like he said in the video, having special moment where you have an ultra boost in order to pass those loop, autokill some ennemies and start slowing down when there is a hill in order to have a "normal" speed when you need visibility would have been the right move imo.
@xravenx24fe
@xravenx24fe 4 года назад
@@Haganeren I do think that having more sections like the very intro to the game when you begin gameplay and go through the iconic Sonic loops would probably be more interesting as a whole, but it would definitely have impacted the flow of the level. The game isn't designed to be moved through, it's to explore, kinda like Sonic CD in a weird sense, so having sections where you can go fast would inevitably be pointless and have to be just an autoscroller because they can't really serve a purpose other than just getting to the next area to get your Flicky's. I'm sure there are some interesting ideas you could come up with and obviously not every game is perfect, but these are just some thoughts that come to mind.
@Haganeren
@Haganeren 4 года назад
@@xravenx24fe I don't think it is incompatible. Most ennemies in the game are stationnary or with very very simple path. It would be quite easy to integrate those "cool" section organically like going into a place to have that boost in order to have the momentum to climb a slope that you wouldn't be able to climb otherwise for exemple. While of course trying to not put any badnick in the way in order to avoid any frustration.
@profblack
@profblack 4 года назад
Sega: *laughs in Sonic the Hedgehog for GBA*
@autobotstarscream765
@autobotstarscream765 4 года назад
@@profblack Yeah, Sonic the Hedgehog Genesis probably would've turned out better if these guys at Traveller's Tales had made it.
@SyphistPrime
@SyphistPrime 4 года назад
The graphics are rather impressive for the Genesis, and on top of that you still stuck the FMV at the beginning of the game. It may not have been the best game on the console but it was a technically impressive one.
@EOTA564
@EOTA564 4 года назад
It was a decent attempt to transition Sonic into a 3D world at the time. I think it suffered a bit for the ‘emptiness’ of the levels and the lack of the ‘physics’ which characterised the 2D games. The physics have been notoriously difficult to replicate in 3D; closest they came here was the spinning sections in rusty ruin.
@Kodeb8
@Kodeb8 4 года назад
I know right? That's one of the things I like about Sega, they were always experimenting with new technology.
@SyphistPrime
@SyphistPrime 4 года назад
@@EOTA564 yeah, that could be why the opinion of the game suffered. It feels like a lot of this game was sold on graphics and being a "3D" game. He mentioned there was limitations to screen scrolling and how much could be on screen, so that probably hurt the gameplay. I think this is just a case of the game idea being ahead of its time.
@moth_mae
@moth_mae 4 года назад
I adored this game as a kid and found these videos when i remembered it. But in the time between now and when i last played it, i honestly thought it was a saturn game because of how impressive it is (i know it is also on the saturn but still)
@Scornfull
@Scornfull 4 года назад
@@Kodeb8 I mean, Nintendo does the same thing but far better
@KrakenGameReviews
@KrakenGameReviews 4 года назад
Oh John, talk dirty to me about memory.
@BusinessZeus
@BusinessZeus 4 года назад
You remind me of a furry talking to Tony The Tiger
@mstcrow5429
@mstcrow5429 4 года назад
Write that dirty memory to the disk, baby!
@RegahP
@RegahP 4 года назад
@Tab Your USB is too big! It won't fit in my tight little micro USB slot! Ok this is disgusting
@solidsnakeandgrayfox
@solidsnakeandgrayfox 4 года назад
I want that wanna cry virus.
@obiwankenobi1608
@obiwankenobi1608 4 года назад
@@RegahP Oh yeah shove your floppy disk into my cd drive.
@seankkg
@seankkg 4 года назад
I never felt 3D Blast was too slow as a kid, even seeing it today I think it's fine.
@madokalover
@madokalover 4 года назад
If anything I thought it was too fast! Moving at maximum speed would always result in me getting hurt by something I didn't see coming and I always had to tap the buttons so I didn't run too fast.
@helloofthebeach
@helloofthebeach 4 года назад
Going faster would have required more visibility, which would mean much more of the level on screen at once. Per @@madokalover, there arguably wasn't enough visibility as it was, but this was clearly the best that was possible with Genesis hardware. It would be interesting to see how a game like 3D Blast would have been designed today without those restrictions.
@wphanoo
@wphanoo 4 года назад
Same. Technically it's slower but it doesn't feel like that since 3D platforming require much more precision
@adamgray1753
@adamgray1753 3 года назад
The trick to Sonic 3D's platforming was keeping an eye on your shadow circle, @@wphanoo. Good luck maintaining *that* when you are busy playing the game.
@Autotrope
@Autotrope Год назад
Having lived through the early 3d games that ran at 30fps if you were lucky, I think that prioritising 60fps updates on this game even if it meant sonic's speed was capped was a good decision
@SanicStudios
@SanicStudios 4 года назад
Scientists: Humans cannot physically travel at the speed of light. They'd burn up Jon: So here's how I used compression to make it work
@melficexd
@melficexd 4 года назад
You know, that's not far from both plausible and the current investigation on super-fast travel... compressing spacetime ahead and expanding it behind... 😅
@magicalpencil
@magicalpencil 4 года назад
we realised that we could compress all of space into 16k, that leaves plenty of room for the other dimensions
@HaveYouTriedGuillotines
@HaveYouTriedGuillotines 4 года назад
@@melficexd The Alcubierre drive... Technically, nothing in the math forbids it, it's just we don't know if it's possible to create. It requires negative mass, something we've not even observed to exist yet.
@ForeverMan
@ForeverMan 4 года назад
dont forget about our friend mirroring
@UltimatePerfection
@UltimatePerfection 4 года назад
@@HaveYouTriedGuillotines I suggest checking out Karens. I think they hoard negative mass.
@Wheeljack2k
@Wheeljack2k 4 года назад
An improvement for the "feeling" of this being a slow game could have been a few high speed sections strewn inside the level which use more traditional less detailed and repeating tiles confined within that part of the stage, while going back to tile streaming when the section is over.
@ciberman
@ciberman 4 года назад
I think that it would mean changing the rendering engine completly at the middle of the level. And that's easier said than done... But well... we are talking about John
@pasteldecocoa1754
@pasteldecocoa1754 4 года назад
Open Areas with details for exploration and get shields, Narrow Fast speed sections :)
@wacesferpit
@wacesferpit 4 года назад
@@pasteldecocoa1754 isn't that basically how modern sonic games do, lol
@bizzzzzzle
@bizzzzzzle 4 года назад
Wheeljack2k he said that’s what he wish was possible, listen closely...
@ShapeDoppelganger
@ShapeDoppelganger 3 года назад
With a loading screen that seems to be feasible, but remember that the game already had a large ROM usage because of this technique already, so I wonder how much space was available to put this 2d section in.
@b13cw53
@b13cw53 4 года назад
Jon: "Theoretically, this should be impossible to do" Also Jon: "Yeah lol so here's how I did it anyway"
@SolKnightt
@SolKnightt 4 года назад
@@RaRa-eu9mw ??
@RaRa-eu9mw
@RaRa-eu9mw 4 года назад
@@SolKnightt Employees at travellers tales have reported a culture of abuse, Jon physically stopping people from leaving work, screaming at them for hours in front of everyone, etc.
@obadakarabelli2494
@obadakarabelli2494 4 года назад
@@RaRa-eu9mw based
@gobzdzilla
@gobzdzilla 4 года назад
@@RaRa-eu9mw Got any source on that? While I'm interested in his abuse of hardware I'd like to read a bit about his abuse of people.
@muizzsiddique
@muizzsiddique 4 года назад
@@RaRa-eu9mw Sources please.
@sosasees
@sosasees 4 года назад
Ah, THAT'S why the floor looks so simple compared to everything else. I thought it's just to clean the visuals because Sonic 3D Blast is a fast game and fast games require clean visuals to be playable.
@cst1229
@cst1229 4 года назад
The Saturn port made it detailed tho
@sosasees
@sosasees 4 года назад
@@cst1229 OH BOY!
@thebasketballhistorian3291
@thebasketballhistorian3291 3 года назад
I thought it was a nice compromise as stylistically, it matched the checkered patterns often used in the 2D Sonic games.
@deletedchannel9525
@deletedchannel9525 4 года назад
I like how at the end you ask if we know cheaper ways of putting graphics on the genesis like we fully understood anything you just said.
@Tramwithacam
@Tramwithacam 4 года назад
"if you know of a better workout method just let us know!" says the tv as a shove boxes of cookies into my mouth.
@shanerpressley
@shanerpressley 3 года назад
I came down to the comments to try and find a smartass willing to put their code on the line against the might Jon haha
@michaelbuckers
@michaelbuckers 3 года назад
I understood everything but I can't think of a better way.
@mspeir
@mspeir 3 года назад
I understood everything he said, but given the memory limitations of the Genesis, my answer to him is no.
@deletedchannel9525
@deletedchannel9525 3 года назад
@@mspeir I understand it, I couldn't personally apply it on my own so my answer is similarly no, but most people are here because they're just sonic fans LMAO
@nostalium
@nostalium 4 года назад
Serious limitations: *Exist* Coding Secrets: *Oh No!* 2 seconds later... Coding Secrets: *Anyway*
@Niarbeht
@Niarbeht 4 года назад
I mean, it probably actually took him a couple weeks in real life, but, y'know, management always thinks it took as long to code as it took to explain :|
@jordantfryman6184
@jordantfryman6184 4 года назад
Lul
@ArpeggioPegasusMusic
@ArpeggioPegasusMusic 3 года назад
@@Niarbeht the issue with a lot of CEOs in the gaming industry is that they don't understand the insane amount of effort that goes into designing a game, writing the code for it, optimising it so that it slows down as little as possible and making sure it all fits within a certain file size restriction (and god knows how little data a regular Mega Drive cartridge could hold)... and so when a project takes too long, they usually end up either rushing the project or cancelling it altogether. These guys, who ironically are responsible of some of the biggest titles in the modern gaming industry, have absolutely no knowledge of game development and therefore assume that a whole game can be coded in a simple press of a button. That's why the indie scene has been thriving since the last decade : these projects are managed by people who literally develop games for a living. That's why games like Hades or Among Us end up being huge successes.
@deadsouI
@deadsouI 3 года назад
@@ArpeggioPegasusMusic I think that is a problem with coding in general and not just with games. It just takes time and a lot of stuff need to be thought out and researched before implementation
@Crystan
@Crystan 4 года назад
It never fails to impress me when people manage to do incredible feats on limited hardware and RAM. I've always been a down-to-basics kind of programmer. I guess it's a byproduct of being raised coding on the Spectrum and Acorn Electron (Basic) where you have to get creative to squeeze more out of less. These days everything has crazy RAM and these kinds of hardware-level tricks are seen less and less, even on consoles.
@BillLambert
@BillLambert 4 года назад
Some of the trickery still takes place, but it is abstracted behind 3D graphics drivers, so the game developer doesn't have to get so hands-on with VRAM, we just tell the API to load this or paint that. The implementation is left up to the people to write the GPU drivers or graphics APIs like DirectX/Vulkan.
@l3p3
@l3p3 4 года назад
It is a good habit, I think. I develop software in JavaScript with non-critical timing and running on powerful machines but still, I feel like a god if I can refactor a little routine to use half of the variables as used before. It is like a form of art, it helps my brain much more than the target processor.
@The_Boctor
@The_Boctor 4 года назад
Unfortunately, it also isn't solely the application/game developer's choice anymore, in a lot of cases.
@tech34756
@tech34756 4 года назад
I remember in Uni doing some Java stuff and telling one of the senior students ‘I think my code could be optimised’, but he responded with ‘it doesn’t matter’. Kind of disappointed in a way if this is the mentality today, yeah we’re talking bytes of data but if still felt wasteful and I felt bad as a programmer.
@HypherNet
@HypherNet 4 года назад
My laptop is currently using 42GB / 64GB of memory to display a few webpages, IntelliJ, and a few Java processes for work. Yeah, we're very, very, spoiled. But also we can write much more complex high-level software with less work and fewer bugs due to all the abstraction.
@MrIfrit
@MrIfrit 4 года назад
Lovely. Have you ever had to program for the Genesis's Addons, like the 32X?
@Nathan-rb3qp
@Nathan-rb3qp 4 года назад
They worked on Sega CD ports of Puggzy and Mickey Mania. Of course they programmed for Sega add-ons!
@MrIfrit
@MrIfrit 4 года назад
@@Nathan-rb3qp Ah, that's cool. Was the Sega CD just a dumb add on that loaded data from the media into genesis memory? I'd love to know what they had had to change.
@AesculapiusPiranha
@AesculapiusPiranha 4 года назад
Puggsy for Sega CD would be a good one to hear about. More on the physics engine for both versions too.
@DanielMonteiroNit
@DanielMonteiroNit 4 года назад
@@MrIfrit it had an extra 68K and ASIC, AFAIK. It could do scaling and rotation in HW
@Nathan-rb3qp
@Nathan-rb3qp 4 года назад
@@MrIfrit They added 3 new bosses, FMV cutscenes, and a CD soundtrack in Puggzy. For Mickey Mania they added an extra phase for the final boss, extra voice acting, and a CD soundtrack.
@JayAldred
@JayAldred 4 года назад
I love how an Englishman is behind some of the biggest Japanese games of the last century!
@desiv1170
@desiv1170 4 года назад
Not just an Englishman. Rare and the Stamper brothers too... ;-) That whole "bedroom coder" generation... Impressive. ;-)
@That_Guy-
@That_Guy- 4 года назад
@@desiv1170 wasn't the original gta created by Englishmen aswell?
@desiv1170
@desiv1170 4 года назад
@@That_Guy- Rockstar North used to be Psygnosis used to distribute DMA Design. They also did Lemmings. :-)
@That_Guy-
@That_Guy- 4 года назад
@@desiv1170 I knew about lemmings, I got mixed up with publishing company who was based in Liverpool and DMA who are Scottish based
@That_Guy-
@That_Guy- 4 года назад
@@desiv1170 also rare are from the countie of my city when i found out i told my friends at school but no one believed me and gave me the "i bet your dad works at nintendo aswell lol"
@Elratauru
@Elratauru 4 года назад
Also titled "How we built a Frame-buffer on a Sega Genesis". That's amazingly interesting and shines a different like to me regarding 3D Blast, the amount of work and coordination for everything to work correctly, as the game design needed to be in point with the limitations of the VRAM is amazing. I think that 3D Blast has had it's bad points over the years, the platforming in 3D sucks, but as a side-game it's pretty fun, the music is also great and the bosses were pretty interesting ideas. Sure it always felt too "Western" compared to the original games, but still.
@tzuyd
@tzuyd 4 года назад
Perhaps videos like these will help peoples imaginations when it comes to the benefits of the upcoming SSD-based console generation.
@lowmax4431
@lowmax4431 4 года назад
I beat it and really enjoyed it. I found it far less frustrating than other sonic games because it doesn't hide spikes and enemies just off the edge of the screen that you constantly run into with no time to react. In 3D blast you have more time to react to obstacles because of the slower speed and isometric view.
@dubiniivan8341
@dubiniivan8341 4 года назад
​@@lowmax4431 I'm one of the few guys waiting for more people to rise up and say that 3D Blast is a good game, just like the doom 3 situation. But I don't have many hopes, I'll die alone on this hill. If I want people to tear me apart for a joke, I'll say 3D Blast is the Mario 64 of Sonic games but for the wrong reasons
@jordantfryman6184
@jordantfryman6184 4 года назад
SSD? Solid state drive?
@tzuyd
@tzuyd 4 года назад
@@jordantfryman6184 Yeah
@samexists5776
@samexists5776 4 года назад
Great Vid! Sonic 3D Blast is such an underrated game.
@polarthelunatic
@polarthelunatic 4 года назад
true that
@oleksiishekhovtsov1564
@oleksiishekhovtsov1564 4 года назад
Tbf although technically impressive the controls were pretty bad and it just wasn't that fun to play
@ikagura
@ikagura 4 года назад
@@oleksiishekhovtsov1564 Play the DX version with a joystick
@samexists5776
@samexists5776 4 года назад
Lets not forget how good the soundtrack is.
@alextirrellRI
@alextirrellRI 4 года назад
@@natan_amorim_moraes It was one of the final releases for the system. There was also a version for Sega Saturn.
@Keatosis_Quohotos
@Keatosis_Quohotos 3 года назад
I love how John can be so introspective and self critical about the methods used. This dude should be teaching architecture and game design at some university.
@enchanted_games
@enchanted_games 4 года назад
This is actually so interesting to see how this effect was pulled off!
@AmaroqStarwind
@AmaroqStarwind 4 года назад
You should break down why Sonic Spinball has such a low framerate, and maybe try to optimize it.
@pabloanania7415
@pabloanania7415 4 года назад
Sonic Spinball was a rushed development in C language to meet some strict deadlines. With a little more time they could do some assembly optimization and improve gameplay but Sega needed christmas sales...
@AmaroqStarwind
@AmaroqStarwind 4 года назад
Pablo Anania I would really love to see an optimized version, then~
@AmaroqStarwind
@AmaroqStarwind 4 года назад
Karol Karpiński Hey, be nice
@spikerthedragonbear
@spikerthedragonbear 4 года назад
Sonic Spinball was made in C as opposed of ASM (assambler) because of the low time
@All4Tanuki
@All4Tanuki 4 года назад
Hahaha this is so weird, your name is familiar to me even though we've never spoken and I feel the need to point that out for some reason.
@SolKnightt
@SolKnightt Год назад
Hi Mr. Burton! After roughly 26 years, I've finally finished Sonic 3D Blast on Genesis. And with all emeralds! I wanted to let you know I enjoyed the game and that your videos helped me appreciate all the work that went into it. Thank you to you and the team for everything y'all did!
@edge247
@edge247 4 года назад
You should review The Adventures of Batman and Robin for the Sega Genesis, due to each level having it's own groundbreaking technology (sprite rotating, 3D like scrolling, etc.) I would like to see how it worked and how they were even able to fit it onto the cartridge.
@cesarkopp2
@cesarkopp2 4 года назад
I guess most of his reviews are about the games he worked on. He COULD talk about other games, but I think he couldn't bring the specifics about the programming.
@cube2fox
@cube2fox 3 года назад
Haha, he now did a video on Batman!
@bjh3661
@bjh3661 4 года назад
the highest-value coding channel on the planet. Nice one, Squire.
@greenknight9000
@greenknight9000 4 года назад
"Theoretically, this should be impossible to do" Jon: I'm going to do what's called a Pro-Gamer move
@Swordhero111
@Swordhero111 4 года назад
**COD Warzone sweats nervously**
@icewindowInfinity
@icewindowInfinity 4 года назад
The only improvement I can think of would be to have some extra RAM in the cartridge and use that to store the uncompressed tiles, instead of storing them in ROM. This way you could store the tiles compressed in ROM and then decompress them to the extra RAM when the level loads. Although this would've probably necessitated some kind of elaborate ROM bank switching to get the data in and out of the extra RAM and I'm not even sure if the Genesis could even support external RAM like this.
@icewindowInfinity
@icewindowInfinity 4 года назад
@Lucas Molessani Oh? How so? :D
@icewindowInfinity
@icewindowInfinity 4 года назад
@Lucas Molessani I think you're mistaking me for someone else then. But pony avatars are still quite common, so that's not really good for narrowing it down.
@icewindowInfinity
@icewindowInfinity 4 года назад
@Lucas Molessani No problem
@jakescartoons6045
@jakescartoons6045 4 года назад
I wonder if this rendering system is any different on the Saturn version.
@robertkirkland8052
@robertkirkland8052 4 года назад
"Do you know any better, cheaper ways" .......I barely just understood this way, let alone recreate it and further less know of any better ways.
@schtive81
@schtive81 4 года назад
I was actually really impressed with the tilesets in Sonic 3D Blast. Some of those tile pieces are fairly high detail for a late release 16bit game. I didn't mind Sonic 3D Blast being a slower game. Isometric games are a bit unwieldly when they move fast.
@SpunkMcKullins
@SpunkMcKullins 4 года назад
Honestly it feels less like Sonic is slow and more like his animation is. The top speed felt fine, it's definitely the extent in which you can reasonable expect to be able to control Sonic, it's just that with 3D models, you didn't really have much of an opportunity for animation smears or squash and stretch techniques back then like you did with 2D sprites. I see plenty of games suffering from this even now.
@Mikewee777
@Mikewee777 4 года назад
I totally agree. Points of reference, Zoom , teleports and blur could have helped. #BikerMiceFromMars did it better.
@lior_haddad
@lior_haddad 4 года назад
Hi
@Wockes
@Wockes 4 года назад
Hi
@marbyyy7810
@marbyyy7810 4 года назад
hi
@themcguinnessexperiment617
@themcguinnessexperiment617 4 года назад
Hello
@luginess0
@luginess0 4 года назад
Hi
@SomaNova
@SomaNova 4 года назад
greetings
@JohnWayne-bm1ty
@JohnWayne-bm1ty 4 года назад
Can you explain how the physics work, how sonic detects where he is...
@alca-techsoftwarestudio9140
@alca-techsoftwarestudio9140 4 года назад
Just get the sprite coordinates on the screen (subtract by 128 em divide by 8 in the case of genesis to convert this cordinates to tiles) so just add with the camera offset, the result is the coordinate of sprite in the Tile map/Colision Map so it's possible to know what tile the sprite is overlapping. This way is used to colision with layer objetcts... For Colision between sprites just get the vertices cordinates and check if one colision box is overlaping the other.
@JohnWayne-bm1ty
@JohnWayne-bm1ty 4 года назад
@@alca-techsoftwarestudio9140 I dont know, in sonic 3d sonics "rotation" if im not wrong was detected with the shadow, but I cant understand them well, I would like a video about sonic 3ds physics, if its posible
@alca-techsoftwarestudio9140
@alca-techsoftwarestudio9140 4 года назад
@@JohnWayne-bm1ty This game is not a real 3D, just 2D with isometric view... So all objects are listed into a matrix (or vector), just get que sonic coordinates relative to matrix to know if sonic sprite is overlaping one solid block or not... It's simple...
@shaunstephen9761
@shaunstephen9761 4 года назад
Did you have any input on the saturn port of sonic 3d?
@shaunstephen9761
@shaunstephen9761 4 года назад
@@Roach1 thanks! 👍
@Comakino
@Comakino 4 года назад
One option would have been to somehow include more VRAM in the cartridge, kind of similar to what the SNES with the super FX chip
@richardfirth3988
@richardfirth3988 3 года назад
Would have pushed the cost of the cart and the game up.
@DA_Garden
@DA_Garden 4 года назад
Jon: "...and Sonic was all about going fast". Oh dear. This is the only thing that I have a gripe with. So many people say this, and they couldn't be more wrong. I never had an issue with the speed in this game. Perspective in making jumps? Maybe. But the speed was never an issue. At least I know why the number of objects on screen was kept to a minimum. Interesting stuff.
@wintermute8315
@wintermute8315 3 года назад
You started trying to make a point here, and then never finished. Why could they not be more wrong, exactly...?
@edonslow1456
@edonslow1456 4 года назад
I seem to recall you did a direct code port for the Saturn version - I assume the CD-ROM wasn't nearly quick enough to stream the tiles, so how did you get around this? Was there enough RAM to load all the assets to memory and stream them from there?
@koopa1018
@koopa1018 4 года назад
I think he's said in an earlier video (about S3D DX, if I recall correctly) that he wasn't actually involved in the Saturn port, it was somebody else who was taking his Genesis code and hooking new graphics tricks into it, etc.....
@SpunkMcKullins
@SpunkMcKullins 4 года назад
@@koopa1018 Could you imagine some developer getting a contract to port this game, opening up the ROM file, and looking at this genie code for the first time?
@koopa1018
@koopa1018 4 года назад
@@SpunkMcKullins "Oh, sweet, this graphics routine doesn't do compression. One less thing to worry about!" ...I mean, that's probably not what you had in mind...?
@EmmaMtH
@EmmaMtH 4 года назад
I feel like the max speed in Sonic 3D is just right, honestly. I've never once thought Sonic was going too slow when playing the game. That honour goes another isometric Sonic game.
@parsonk4041
@parsonk4041 4 года назад
Sonic labyrinth only had half the bits. :-)
@IIARROWS
@IIARROWS 4 года назад
8:20 Feels like those time you ask something on Stack Overflow and you are indeed the first one to encounter that problem. All you can do is just working on the solution. So, this is basically an unanswered question from the '90s. Do you want to set a bounty on that? XD
@Samination
@Samination Год назад
This game always makes me motion sick for some reason 😂
@warmCabin
@warmCabin 4 года назад
Ooh, I like that the tilemap is slightly bigger than the screen! On the original NES, you got two whole screens' worth of tiles arranged in a row, which gave you smooth scrolling along only one axis--with way more tiles than you needed to do it. If you wanted 2-axis simultaneous scrolling, there would be artifacts along the edge of the screen (like in Mario 3). I have no idea if the SNES was set up more like its predecessor or the Genesis in that regard.
@CounterFlow64
@CounterFlow64 4 года назад
This guy is a master at coding, i would even compare him to John Carmack.
@Kikker861
@Kikker861 4 года назад
The good old timey programmers are genius. The fact that they built their own engines or performed hardware tricks instead of using unobtainable brute computing is a testament to their skill.
@coolbrotherf127
@coolbrotherf127 4 года назад
I was actually think about that a few hours ago. Weird how I see a comment about it. Carmack was a bit better at innovating new graphics technologies, but Burton (the guy who started this channel) is nearly just as amazing at optimization of his games. Half of the console games he's made were supposed to be almost impossible for the platforms they were made for.
@danielszemborski
@danielszemborski 4 года назад
I'd compare him to Dennis Nedry who coded for John Hammond.
@FoxerTails
@FoxerTails 4 года назад
I would've loved to see Satoru Iwata explain his techniques when it came to game code. He practically saved Earthbound from development hell with his coding skills.
@Blankult
@Blankult 4 года назад
Thankfully, the more technology progresses, the less we'll have to bother with heavy optmization like this. But it's kinda sad too, we'll never see stuff like this again.
@DanielMonteiroNit
@DanielMonteiroNit 4 года назад
Naive question: wouldn't RLE helped both the throughput and storage pressure on ROM? I've recently ported some of my code (that uses RLE) to the Amiga 500 and it worked fine (not blazing fast, but I'm only using C and no special chip...yet). Maybe there is some drawback I'm not taking into account?
@CodingSecrets
@CodingSecrets 4 года назад
Way too slow. Using DMA is twice as fast as a raw processor copy, and that was slower than I wanted
@zummone
@zummone 4 года назад
You have to decompress stuff in RAM for that to work wasting tons of cycles and resources, what Jon did was basically DMA ROM to VRAM, something that is super fast and completely RAM transparent, if not for the DMA linking. What Jon did was the equivalent of building a framebuffer, something that 4th gen consoles weren't really supposed to do, and adding another decompression buffer on top of that might have seriously hurt the expected throughput of a cell (8x8) line or column.
@totaltotalmonkey
@totaltotalmonkey 4 года назад
en.wikipedia.org/wiki/Run-length_encoding
@mannytheangel
@mannytheangel 4 года назад
I'm not a programmer, but man I love hearing you break all of this down. Keep up the amazing work. Would love to see you break down some of your favorite viewpoints/graphical approaches to camera placement in Genesis/Mega drive games. For example, you spoke about the Isometric view here in 3d Blast and others like Spot goes to Hollywood. What are other games that you appreciate in achieving such a unique look? Maybe also examples that worked to achieve something so technically jarring in theory. Some stand outs to me are like the Mickey Mania/Lion King Stampede/Moose sequences (saw your videos on those and they are great) or Vectorman - Day 2: Metalhead stage.
@ipadmcgee852
@ipadmcgee852 4 года назад
Even as a kid, I thought that 3D Blast captured the feeling of Sonic very well, fast or not. The level geometry with slopes that affect your momentum in a realistic way really helps. I think isometric adventure games just never get a good critical reception, even if they’re amazing. They had such a brief historical window, during which they were unintuitive to those used to 2d, and then immediately afterward 3d made people regard them as obsolete.There’s another isometric game for the Mega Drive, Spot Goes To Hollywood, that I maintain also holds up well, but it’s a hard sell
@helloofthebeach
@helloofthebeach 4 года назад
"Do you know of any better cheaper ways to achieve the same thing? If so, please let me know 25 years ago."
@ultraswank
@ultraswank 2 года назад
This is one of my favourite RU-vid channels, keep it up!
@tpks2542
@tpks2542 4 года назад
Can you please do a video on how they coded the entering painting animations for each unique painting in super Mario 64 - when you enter the painting it has a cool liquid wave effect, how is that programmed?
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
certainly not an expert here, but those are probably displacement maps or similar. pretty common texture effect. a lot of seemingly advanced graphics effects are actually comprised of really basic elements like that. watch this: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8rCRsOLiO7k.html
@tpks2542
@tpks2542 4 года назад
Bro, thank you so much. I completely understand how this works, and how to even code it with ease now. I learned a lot, the video you shared by gave me the little nugget I needed, i have years of coding experience so I connected the remaining dots. I can code this now :)
@ETXAlienRobot201
@ETXAlienRobot201 4 года назад
@@tpks2542 oh, cool glad to be of service
@WannabeMarysue
@WannabeMarysue 4 года назад
Sonic is about momentum management 😌
@TorutheRedFox
@TorutheRedFox 4 года назад
the emoji is completely unnecessary
@ABlob
@ABlob 4 года назад
I feel like Sonic not being faster in 3D Blast isn't the problem, if anything, Sonic's running speed should've accelerated slower so you feel the sense of speed when Sonic would've finally hit his max speed, perhaps indicated with an actual running animation instead of him jogging at all times.
@MrMegaManFan
@MrMegaManFan 4 года назад
A. You're a genius coder. B. Sonic 3D is already too fast so it shouldn't be any faster. It tends to cause me nausea. Not your fault -- most 90's 3D games did. It wasn't until the Halo era where it finally +started+ to get comfortable for me, but old games can still make me a little green to this day.
@VincentBounce
@VincentBounce 2 года назад
I would have been here in Sega dev studios in the 1990s to see the fascinated face of early Sonic Team when they see for the first time the incredible Sonic speed rendering without any lag they had obtained on Genesis. After the release, this fascination became viral on all 1990s kids which played for first time.
@mikebrightman
@mikebrightman 4 года назад
So you're saying that sonic 3D had 4k textures all the way back then? Modern devs are playing us for fools with 4K gaming!
@ralphhoskins2115
@ralphhoskins2115 4 года назад
God I would love to see a new genesis game made by this man..... come on buddy..... new side scrolling shooter,,,, maybe a doom port for genesis.... your a amazing programmer
@greensun1334
@greensun1334 Год назад
I guess the same technic were used in the isometric Super Mario RPG. Because it's a turn based RPG, it's generally not so fast (but it has some fast scenes as well!), but additional effects, like some parallax scrolling and scaling/rotation (mode7) were added.
@YoshiONE2ONE
@YoshiONE2ONE 4 года назад
So I got a question; were these techniques used on the Sega Saturn/PC port of Sonic 3D Blast? I'd imagine the stronger hardware would allow for better graphics, but the two versions look more or less identical imo
@alexatkin
@alexatkin 4 года назад
I'd say they looked far from "more or less identical". ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--sldKBNbBSU.html I mean sure, the level layout is the same with the graphics are very different.
@YoshiONE2ONE
@YoshiONE2ONE 4 года назад
@@alexatkin ok yeah nevermind. its been a while since I saw the side by side footage lol
@xnamkcor
@xnamkcor 4 года назад
So, that's probably why Megaman X acts the way it does with the widescreen hd branch of bsnes.
@OnlyEpicEmber
@OnlyEpicEmber 4 года назад
I mean, this is the megadrive but you're partially right I think
@Konic_and_Snuckles
@Konic_and_Snuckles 4 года назад
Hey how much involvement did you have with the Saturn version of Sonic 3D? Any plans to release a Director's Cut of that version? I'd love to see Super Sonic, time attack, toggle-able soundtrack, tighter controls. Etc.
@Matzu-Music
@Matzu-Music 4 года назад
I Don't think the game would become unplayable at double speed you would just need to design controls with more friction.
@Matzu-Music
@Matzu-Music 4 года назад
if anything, the largest problem with the game has to do with the flickies. THey dragthe pace of the game down to a crawl, meaning it's hard to take advantage of those full 8 pixels anyways.
@Majimba_Enjoyer
@Majimba_Enjoyer 3 года назад
coding secrets titles : IMPOSSIBLE the video: its fucking simple
@XristoferLee
@XristoferLee 4 года назад
Wow your not even political and RU-vid unsubscribed me from your channel without my permission.
@michaelbuckers
@michaelbuckers 3 года назад
Might have tried using staggered tile loading for axis speeds lower than 8px/s - put all the bandwidth towards loading the fast axis and partially load the slow axis with what's left (screen edge tiles loaded last), it's not gonna be needed on the same frame anyway. You could angle the camera such that loading bandwidth between going vertically and going horizontally is the same. Worst case scenario would be going diagonally which will take 1.4x more total bandwidth than going in cardinal directions at the same speed, but also each axis would only be 0.7x as fast so they both can be loaded in staggered fashion. The levels could be designed to have mostly horizontal or vertical high speed segments, which would actually help with going too fast in an overhead view game. Finally, maybe you could cram in some basic compression that would activate if bandwidth was lacking, such as skip every other byte when reading from ROM and duplicate it when writing to VRAM and use that for screen edge tiles, and use normal loading algorithm for the center tiles, maybe store the indices of half-loaded tiles and revisit them once bandwidth becomes available (player stops moving).
@Trashloot
@Trashloot 2 года назад
It's insane to me that you could plan a tile map and use this "visual noise" to make good looking graphics. How do you ever got in to this. How did you learn to think with tile maps o.O ? This is the definition of not intuitive xD.
@sethgob5591
@sethgob5591 4 года назад
Sonic 3d is just such a technical marvel. This game just shouldnt be able to work on the genesis, but somehow you guys did it anyway!
@Samtagri
@Samtagri 4 года назад
Weren’t all Sonic games developed by the Japanese Sonic team? You are not Japanese, are you??
@fisherdotogg
@fisherdotogg 4 года назад
So if this was such a problem, how come the game wasn't made for the Saturn first? That version of the game I assume has none of those bottlenecks but inherits their symptoms anyway by dint of being an enhanced port. I believe you've said in the past that the Saturn version was done by SEGA and perhaps another contracted studio and functionally runs the Genesis code you wrote through a layer of obfuscation that also adds the extra fancier graphics and substitutes the sound assets? But I suppose what I'm asking is if they were going to make a Saturn version, why not have you make that version instead of the kneecapped Genesis version to begin with? I already suspect it might have to do with X-Treme not being considered truly sunk until you were nearly done with the Genesis version, come to think of it, but hoooo golly...
@RadioTails
@RadioTails 4 года назад
Because Sega requested them to make a Genesis game: en.wikipedia.org/wiki/Sonic_3D_Blast#Development
@SodaGumX
@SodaGumX 4 года назад
it was a cool game and all. but if you was doing an overhead view you should have made a sonic RPG with it like mario RPG on snes. it would have fit better than an action game.
@toopienator
@toopienator 4 года назад
Most people may not agree. But I think that Sonic 3D was an awesome game and these coding secrets make it even cooler and impressive.
@scotts918
@scotts918 4 года назад
John: So, this is what I wanna do Genesis: Lol, no chance mate, not gonna happen John: And now it's done, didn't even bother with compression Genesis: 😐
@Jacket430
@Jacket430 4 года назад
I don't have any idea why but the intro/background music used in these videos triggers my anxiety really badly LOL
@TonkarzOfSolSystem
@TonkarzOfSolSystem 2 года назад
I don't think it ruined the game, I remember playing it as a kid (long after it had come out) and it seemed pretty fast.
@Vanit1
@Vanit1 4 года назад
Would love to know how you got the diagonal scrolling so smooth in this game. Working on my own isometric game at the moment and get some amazing staircasing effects. >.>
@Vanit1
@Vanit1 4 года назад
@B3ro1080 Just realised what I wrote is a little ambiguous - my game has an issue with its camera called "staircasing" that Sonic 3D somehow doesn't have and I'd love to know how! The way the isometric perspective maps to screen space means that when the player moves diagonally they're moving at like +2 pixels on the X axis, and +1 pixel on the Y axis, but for the camera to move smoothly it's better moving at +1 X and +1 Y, so as it tries to follow the player it appears to jitter around.
@ali32bit42
@ali32bit42 4 года назад
i am not sure if it was a thing you could do but some cartrages could "upgrade" the console by including extra hardware. it would be intresting to use one of those to add better sprite rendering to the sega hardware. in that case you could have brand new tricks to get even better 3d effects. you could basically rotate or scale sprites inside the cartrage and send them as regular sprites to the console for the final image.
@NeilHighley
@NeilHighley 2 года назад
I'm so jealous of your expriences with genesis development
@kakoiniksvoboden
@kakoiniksvoboden 4 года назад
To be honest, I've never felt the game being slow. It runs pretty smoothly. It for sure is a technical miracle on the Genesis. I also like the soundtrack, but unfortunately the gameplay was never my cup of tea.
@dalethepalemale6855
@dalethepalemale6855 4 года назад
Clever using separate layers for the same background.
@EmeraldEyesBibleSecrets
@EmeraldEyesBibleSecrets 4 года назад
Very impressive. I know all about tricks to conserve memory. I spent 3 years designing a huge game on RPG Maker 2 and I wound up scripting things the developers never even considered. That game is called Runewind Saga, and might still be available on RPG Maker Pavillion, but I never finished the second part, and due to a series of tragic events involving losing my girlfriend and home, the project was abandoned.
@genericfriend2568
@genericfriend2568 2 года назад
Jon, I don't understand any of this, but your channel is always so nice to listen to.
@antonnym214
@antonnym214 4 года назад
Well done! Nice, creative solution to the problem, and I'm confident you picked the right way to go about it. In the 8-bit days (1980), I worked on a hospital inventory system in which the hardware had only 48K of RAM, so we had to code it in 8080 assembly and each code module had to fit in 3K. We managed to do a lot with a little. Thank God it was text only! All good wishes.
@vitaliydubkov4008
@vitaliydubkov4008 2 года назад
The biggest problem programmers had then is graphical limitations, the biggest problem today is game sizes, no one really want to use any ways to downgrade the game size, you have your PS4/5 with 500Gb HDD/SSD and you can install 2,5 Red Dead Redemptions here, when you should be able to have at least 20 games at the same time, but very small amount of devs cares. i swear many games can use 5-10 times less Gbs if this wasn't a case.
@positivelycurvedpikachu
@positivelycurvedpikachu Год назад
at least the game size is lower in Series S 😅
@JakeDownsWuzHere
@JakeDownsWuzHere 4 года назад
love these videos more than you could ever possibly imagine. thank you for taking the time to put them together, you do such a great job with them.
@Lauren_C
@Lauren_C 4 года назад
So effectively, asset streaming was shoehorned onto a Sega Genesis. I thought the streaming used in Soul Reaver on PS1 was impressive. 😳
@borandiUK
@borandiUK 4 года назад
What if you didn't actually use the whole screen for visual updates? Rather than 320x244, do 260x200? That would allow temporary faster than 8px/frame
@AmaroqStarwind
@AmaroqStarwind 4 года назад
There are a lot of ways to optimize how quickly data can be sent, using trickery with the VDP registers. This article can be very helpful, I'd suggest giving it a read! www.plutiedev.com/mirror/kabuto-hardware-notes
@AmaroqStarwind
@AmaroqStarwind 4 года назад
You could probably also combine the tilemap system used in normal games with framebuffer system that you developed to minimize the number of duplicate tiles that need to be written to VRAM, which when combined with the optimization shenanigans in that article I linked, can significantly improve updating times. And the much faster memory bandwidth (and increased availability of memory) may allow a small amount of compression as well, meaning that less ROM space needs to be used!
@willrobinson7599
@willrobinson7599 4 года назад
I find it so fascinating the lengths you went to create something different. 99% of gamers dont realise the skill needed to create these effects. The likes of teirtex and other poor teams never spent any time to get the best out of the megadrive . Well done to you and travellers tails team
@xenaretos
@xenaretos 4 года назад
Sounds kind of similar to John Carmack's adaptive tile refresh. Except, on an actual console.
@triplettjon
@triplettjon 4 года назад
Just wanted to say thanks for what you have done. I'm glad I get to see this video series.
@radoxretroz7880
@radoxretroz7880 4 года назад
It’s mad the things you was able to accomplish 👍👍
@SomeInterestingName
@SomeInterestingName 4 года назад
I always appreciate that hopeful, "if you can think of a better way, let me know in the comments" you put at the end of each video. You have too high an opinion of us. X)
@cheaterman49
@cheaterman49 4 года назад
I'm glad you covered this, I always wondered about the cost of uploading new graphics from the ROM vs the traditional way of keeping the same tileset for a given level. I think it's a neat trick and I'm not quite sure you could have done it any other way without compromising on graphic variety and other factors? Great video!
@TheRealKaiProton
@TheRealKaiProton 4 года назад
Man, I Love these Videos, I had the Saturn Version of this, Was that also yours ? with Regards to the speed, for Me, Sonic was Fast enough in S3D, and played fine.
@jacklazzaro9820
@jacklazzaro9820 4 года назад
Damn! I misread the title. I thought it said Sonic *C*D
@AesculapiusPiranha
@AesculapiusPiranha 4 года назад
CD was a great game, but boy is it a bit of a mess technically.
@shaunstephen9761
@shaunstephen9761 4 года назад
Fantastic video, very interesting how much effort went into these games! Thanks for sharing!
@ImARealHumanPerson
@ImARealHumanPerson 4 года назад
I forgot about this game. I loved this game as a kid
@Face2theScr33n
@Face2theScr33n 4 года назад
These games are still some of the greatest. I like the way that, as a player, you just turned it on and played. Games now take an hour just to get started, and by then I'm like "forget it".
@stefanhoimes
@stefanhoimes 3 года назад
Plus I get really dizzy from how immersive they are.
@kiwirocket64
@kiwirocket64 2 года назад
Ok if the genesis draws tiles ahead of the visible screen wouldn’t that mean that it would be super easy to make it widescreen you’d just have to extend the view to that extra space that people don’t see and maybe make it so enamys and sprites don’t pop in
@positivelycurvedpikachu
@positivelycurvedpikachu Год назад
yeah, maybe he can make the game look faster by playing with dimension 4:3 16:9
@RetroSegaDev
@RetroSegaDev 4 года назад
A lot of people in the homebrew community have explained this to me. It's nice to finally hear about the design decisions directly from you Jon 👍
@justanotheryoutubechannel
@justanotheryoutubechannel 4 года назад
I really don’t dislike the scrolling, it feels really fast to me and maybe even faster than the original sonic.
@Clay3613
@Clay3613 4 года назад
Does anyone else get motion sickness from this game?
@flink1231
@flink1231 4 года назад
Thanks fo another great video! I wonder what sort of graphics we would get if this level of optimimization was still applied to modern games (is it even possible/feasible?)
@ericdanielsbenavidez5867
@ericdanielsbenavidez5867 3 года назад
I'll NEVER forget me and my cousin's reaction when i first rented this game at a blockbuster back in '96 the intro alone was so epic you should definitely do a video on that alone. It's such a gorgeous epic intro...
@qaaris4280
@qaaris4280 3 года назад
He already did that.
@ericdanielsbenavidez5867
@ericdanielsbenavidez5867 3 года назад
@@qaaris4280 i know i just saw it awesome
@forcedfeedbackclassicgamer5499
@forcedfeedbackclassicgamer5499 4 года назад
Love these deep dives. As a game dev (and a gamer, too), these vids just make me love the Genesis/MD all the more.
@jtashcraft1
@jtashcraft1 4 года назад
Great video. Thanks!
Далее
The Coding Secrets hidden in "Sonic the Hedgehog"
6:59
Teeth gadget every dentist should have 😬
00:20
Просмотров 941 тыс.
Hidden Secrets of Sonic 3's Special Stage Revealed
6:28
I Made a 1D Game 🎮
11:18
Просмотров 1,7 млн
I redesigned my game
23:32
Просмотров 64 тыс.
SEGA's Crazy S&K "Lock-On Technology"
8:03
Просмотров 242 тыс.
Sonic R's "Impossible" Fading
5:15
Просмотров 103 тыс.
CODING SECRETS! How TOY STORY'S 3D was programmed
6:34
Teeth gadget every dentist should have 😬
00:20
Просмотров 941 тыс.