Tomorrow Corporation Tech Demo

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.พ. 2023
  • A demonstration of some of the internal programming and debugging tools we use at Tomorrow Corporation to make video games.
    Our company website:
    tomorrowcorporation.com
    My personal twitter:
    / allan_blomquist
  • เกม

ความคิดเห็น • 197

  • @StrangePan
    @StrangePan ปีที่แล้ว +310

    Just… how…? I would religiously watch a series of videos describing how each aspect of your environment, engine, runtime, and toolchain works.

    • @noviceartsinc
      @noviceartsinc 21 วันที่ผ่านมา +5

      seconding this comment, this would be an amazing video series to watch

  • @philliptrudeau-tavara3828
    @philliptrudeau-tavara3828 ปีที่แล้ว +234

    if this was a recruitment advertisement to try to attract new developers it totally worked on me 😂

    • @TankorSmash
      @TankorSmash ปีที่แล้ว

      I was gonna say, I moved away from C++, but with tooling this nice, I almost want to apply, holy jumping.

  • @maltepedersen9180
    @maltepedersen9180 หลายเดือนก่อน +42

    Consider my mind officially blown. It's really impressive what is possible when you have full control over the entire tech stack.

  • @boggledeggnoggler5472
    @boggledeggnoggler5472 หลายเดือนก่อน +14

    This is insane. I never knew I needed Braid mechanics in my game engine until now

  • @kajacx
    @kajacx หลายเดือนก่อน +15

    This is beyond insane. A lot of work must have went into making the underlying system, but the developer experience looks absolutely stellar. Taking deterministic execution to a whole new level.

  • @felixa4705
    @felixa4705 หลายเดือนก่อน +35

    This is incredibly beautiful. Add me to the chorus of people who would love a deep dive into how this works.

  • @johetajava
    @johetajava หลายเดือนก่อน +17

    I am honestly blown away. Great job, and thank you for showing the world that their standards for debugging are way below what's possible.

  • @meda3d
    @meda3d ปีที่แล้ว +76

    This is what a modern day development environment should look like!
    Thank you for sharing this and showing what our PCs are capable of.
    It opened my eyes even more and am now very inspired to strive for such a development environment for myself.

  • @immortalxgr
    @immortalxgr ปีที่แล้ว +75

    My son just sent me the link to this video telling me "you must watch", and I'm so glad I did. This is some absolutely insane tooling!
    I don't know why, but this code editor has a visual studio 6.0 vibe, which is pretty awesome. Hats off to you!

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +25

      I use VS2008 as my main dev environment so that makes sense!

    • @EliasDaler
      @EliasDaler ปีที่แล้ว +64

      @@retrogameinternals4707 the code editor from 2008. The programming environment/debugger from 3008. :D

  • @KerryBenton
    @KerryBenton 15 วันที่ผ่านมา +1

    This is some of the coolest shit I've ever seen. Honest to god stuff of dreams for programmers, and makes you wish even half of our work could be this well designed. Truly awesome.

  • @dandymcgee
    @dandymcgee 8 หลายเดือนก่อน +11

    This is so mind-blowing that I'm pretty sure 50% of people who watch this will think your event timeline scrubber is just a video, despite you saying it's not a video, because of how incomprehensibly epic it is. Kudos, and thanks for sharing. Would love to hear more.

  • @niklasmikkelsen4701
    @niklasmikkelsen4701 28 วันที่ผ่านมา +1

    This is the most mind boggling thing I've witnessed working with games..! I'm buying all the games just in hope of y'all keep creating tech like this 🤩

  • @raddaks2039
    @raddaks2039 ปีที่แล้ว +88

    Geez you kind of blew my mind with the reverse stepping and it didn't stop the further you went. Being able to debug sometime else's session completely removes "works on my machine". That's brilliant. Major props getting this to work so well.
    -MOM4Evr

  • @ymi_yugy3133
    @ymi_yugy3133 ปีที่แล้ว +19

    This is probably the nicest debugging experience I've ever seen.

  • @ribethings
    @ribethings 11 หลายเดือนก่อน +15

    Not only the games are a masterpiece, but they are also an engineering masterpiece

  • @realhet
    @realhet ปีที่แล้ว +39

    OMG, this is amazing!
    While the world industry's direction is something like "Let's multiply further the existing bloat with more AI", this IDE is on the opposite side: It values the developer's time, not wasting it.

    • @mostm8589
      @mostm8589 ปีที่แล้ว +7

      Absolutely, while Copilot can sometimes make an interesting leap and automate a piece of glue code and save a whole bunch of time, it's underlying idea is ultimately raw dumb text completion, not a single special programming-related trick.
      But things like this demo and Jetbrains IDEs? Magic, pure and beautiful magic. Subtle machines crafted by those who know what they're doing.

    • @eeromutka186
      @eeromutka186 ปีที่แล้ว +1

      @@mostm8589 Yeah exactly! Slapping AI on top of bad tools seems just so dumb. If the existing tools were better, no-one would be even considering something like Copilot to be a good idea

  • @jesperpersson9388
    @jesperpersson9388 ปีที่แล้ว +5

    I don't think I've ever been so impressed with a tool. It has opened my mind to things I wouldn't have imagined being possible. Reverse stepping and having visuals available while hitting a breakpoint are two incredibly innovative things.

  • @zeotares
    @zeotares 11 หลายเดือนก่อน +9

    The backward debugging is insane, very impressive work!

  • @inthegaps
    @inthegaps ปีที่แล้ว +29

    This is what every dev environment should be! Very impressive work, and I'm sure it's a huge multiplier to your team's productivity.

  • @alex6337
    @alex6337 ปีที่แล้ว +9

    Does it handle multithreading? How do you keep interactions between threads deterministic?

  • @stefanplusplus917
    @stefanplusplus917 5 หลายเดือนก่อน +2

    i feel like i just witnessed something magical

  • @asdfasdfas364
    @asdfasdfas364 ปีที่แล้ว +4

    Incredible work. Reminds me of Bret Victor's Inventing on Principle demos.

  • @DavidSikesII
    @DavidSikesII 20 วันที่ผ่านมา

    My God that is great. Very well done. This is so freaking cool. I wish I had half of these.

  • @slob5041
    @slob5041 11 หลายเดือนก่อน +1

    This is something where you have to work at a company to really understand why this is the golden standard

  • @liam3284
    @liam3284 22 วันที่ผ่านมา

    Wow, looks like an environment which rewards good design! At a guess, you have a coherant state at least once per frame, which can be reproduced knowing the inputs, complete codebase and previous frame.

  • @pacco7641
    @pacco7641 หลายเดือนก่อน +1

    Bruh TH-cam is getting very very good a showing me exactly the videos that i wanna see. Excellent content thank you ! 👍

  • @FrenchAdrift
    @FrenchAdrift ปีที่แล้ว +1

    Incredible work! Very inspiring. Thanks for sharing!

  • @mostm8589
    @mostm8589 ปีที่แล้ว +29

    This the sort of masterpiece that would make Brett Victor proud and vindicated, are you aware of him and his ideas ? I hope he sees this, and I hope the HN submission for this video blow up to the front page.
    From a guy absolutely in love with compilers, programming language engineering, and dev toolchains : thank you, you have successfully made me want to do something like this. (just like the demo that made you want to do this in the first place)

  • @JohnLeidegren
    @JohnLeidegren ปีที่แล้ว +22

    I have so many questions, like, do you have your own compiler? How big is the state? How do you store it? How big are these session files? Are you actually running the program backwards or are you jumping back to some previous state and running forward from there?

    • @danielagentlienkvick729
      @danielagentlienkvick729 ปีที่แล้ว +1

      I asked myself all the same questions looking at this! (Hi by the way, long time no see)

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +11

      The size of the state will depend on the amount of mutable data that the game needs. A ton of runtime data will be read only assets, so you just need to capture the stuff that actually changes. The size of the session files is mainly determined by the size of your current work that hasn't been committed to source control yet.

    • @what-do-you-feel
      @what-do-you-feel ปีที่แล้ว +2

      @@retrogameinternals4707 Hi! For each tool that you show in the video, what is the % of time that you use that tool versus having to use a more standard tool? I just can't tell if they have completely replaced those standard tools for you, or not yet. (I'm not a programmer, so this might be a clunky question.)

  • @Tremah2
    @Tremah2 ปีที่แล้ว +1

    that’s mindblowing. love the debugger

  • @grapefrukt
    @grapefrukt ปีที่แล้ว +3

    i am beyond impressed by this sorcery! and as if the backwards stepping wasn't enough, you're using paint shop pro too! incredible stuff.

  • @skyboy49707
    @skyboy49707 ปีที่แล้ว

    Wow amazing! I've been working on my own language and this debugging system is a great inspiration.

  • @drewxx8527
    @drewxx8527 10 หลายเดือนก่อน +1

    Thank you so much I'm a game dev beginner and this is a good spot to watch a video of my childhood game and how it operates. Btw I like the art

  • @slemsvamp
    @slemsvamp ปีที่แล้ว +2

    Awesome tooling, I only have about 100 questions based on curiosity alone. That debugging feature would be a dream, it's incredible what one can do once you control the aspects of all the data. Beautifully put together!

  • @anutrix4629
    @anutrix4629 หลายเดือนก่อน

    I think this should be used as reference/base goals that every major game engine can strive to achieve.

  • @smg604
    @smg604 ปีที่แล้ว +5

    Looks great Allan! (I'm guessing the GOAL thing you read would have been in one of them ol' fashioned magazines given the era! I remember being really inspired at the time too.)
    I sometimes have visions of doing something like this, but it's hard to invest the required long-term effort, and also to decide where exactly to cut around in the design space (where to skimp/cheat, what pre-existing tools to use, etc.) I hope it works well for you and you can keep developing it. I'd love to hear more about how it all works if/when you have time.

  • @cypok
    @cypok ปีที่แล้ว

    Absolutely amazing development environment!

  • @ludolpif
    @ludolpif หลายเดือนก่อน

    wow, so impressive tech demo. Incredible at each 20 seconds of the video.

  • @Paradician
    @Paradician หลายเดือนก่อน +2

    This is completely inspiring!

  • @najjaman
    @najjaman 11 หลายเดือนก่อน

    Deep integration, impressive. Thanks a lot for sharing!

  • @zikaura
    @zikaura ปีที่แล้ว

    I'd be unstoppable if I had tools like these. Beautiful !

  • @Zhilajoon
    @Zhilajoon ปีที่แล้ว +1

    Watched this multiple times now, it’s having the same impact on me that the blog post about GOAL you referred to had on you.

  • @gr1m1cu5
    @gr1m1cu5 ปีที่แล้ว +2

    never restarting and reverse stepping sounds like heaven🤩

  • @Antonw123
    @Antonw123 ปีที่แล้ว

    wow, what an awesome demo and toolset that you build!

  • @JibbSmartGD
    @JibbSmartGD ปีที่แล้ว +1

    Well done! Looks incredibly useful

  • @dequesi
    @dequesi ปีที่แล้ว

    I knew you guys were brilliant, but this just blew my mind!

  • @rosyidharyadi7871
    @rosyidharyadi7871 ปีที่แล้ว

    this is so cool. i wish other debuggers adopt these awesome features. especially backward stepping.

  • @causticmango
    @causticmango 3 หลายเดือนก่อน +1

    Mind blowingly impressive.

  • @trickysoft
    @trickysoft 8 หลายเดือนก่อน

    Spectacular work!
    You had me worried at including our own language, but it looks very familiar :)

  • @bates64
    @bates64 2 หลายเดือนก่อน +1

    Incredible. This is a bit like rr and my thesis project, hotload. Both are FOSS and for native code (C, C++, Rust, etc.) instead of a custom scripting language / VM

  • @ghostsdefeated4078
    @ghostsdefeated4078 ปีที่แล้ว +4

    wow this is literally magic

  • @10e999
    @10e999 หลายเดือนก่อน +1

    I agree with everybody: I'd like to see how your game engine architecture is designed to achieve this wonderful environement.

  • @RPG_Hacker
    @RPG_Hacker ปีที่แล้ว +8

    This is incredibly impressive, and some of those features make me quite jealous! The backwards-debugging in combination with the allocation tagging system feel like they could have saved me quite a lot of time elaborately searching for nasty, nasty bugs in the past.
    There's one thing I'm a bit curious about: You mentioned how you wrote your own compiler front end and back end. So what do you do when you want to port one of your games to a specific game console? I mean, they usually have their own architecture, compiler etc. Are you forced to make a version of your compiler that can compile to that specific target architecture? If so, doesn't that make ports to new systems very tricky? Or do you already have a solution for that in place as well?

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +8

      In the past our compiler could target a made up bytecode that we could interpret at runtime and we shipped small features of our existing games using that. Now the target is native code on our development platform only like you said, so in order to ship in the future we will transpile the code to plain old C and then use the native toolchains on the target platforms to compile the final product.

    • @RPG_Hacker
      @RPG_Hacker ปีที่แล้ว

      ​@@retrogameinternals4707 I see, that's awesome! I actually thought it might be a transpiler, but wasn't sure how viable that was! Though I guess with your custom language being so close to C, anyways, there's probably a smaller chance of bugs sneaking in.

  • @danielagentlienkvick729
    @danielagentlienkvick729 ปีที่แล้ว +25

    Just wow. This is looking incredible. I can't imagine the time you must have put into making all these tools. The end result just feels magical. I'm curious about the language used - it looks a lot like C++ (including STL things like push_back). Is it a subset of C++ or something else inspired by that?

    • @bruterasta
      @bruterasta ปีที่แล้ว +4

      It looks a lot like C actually, not C++. I'm guessing C99 would be main point of reference.

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +28

      We took the "C+" style of C++ that we usually write in anyway and codified it with some of the quality of life improvements we wished we had.

    • @danielagentlienkvick729
      @danielagentlienkvick729 ปีที่แล้ว +3

      @@retrogameinternals4707 Thank you, that sounds cool. I would love to know more details, especially what quality of life improvements you added. The only things that stood out to me were "in" for ranged-based for loops and a .. operator reminiscent of Rust.

    • @lumikalt4658
      @lumikalt4658 5 หลายเดือนก่อน

      @@danielagentlienkvick729 The import statements are also far cleaner than normal C++'.

  • @oliverandersen7417
    @oliverandersen7417 ปีที่แล้ว

    Very cool! Thanks for sharing

  • @jespa003
    @jespa003 8 หลายเดือนก่อน +2

    That demonstrates that is better to build by yourself simple tools that performs a smooth and fast production and do not depend on big and closed engines like Unity and you can do always better like you did. I'm was impressed with your work!! At first time I suppossed that you used a C language in the code of the game but no, you built your own compiler!

    • @requizm
      @requizm 7 หลายเดือนก่อน

      That's true but you can't just setup reverse-debugger or live-reload. If you check Allan Blomquist, he knows lots of stuff about low-level programming. Reverse engineering, compilers etc.

    • @jespa003
      @jespa003 7 หลายเดือนก่อน

      I don't doubt he has a special knowledge about compilers and other subjects about programming. I will check at his great posts on its blog.

    • @bamberghh1691
      @bamberghh1691 17 วันที่ผ่านมา

      This is absolutely NOT a simple tool

    • @jespa003
      @jespa003 15 วันที่ผ่านมา

      @@bamberghh1691 I completely agree! I wanted to said a complex tools that makes simple your life xD

  • @ThomWetzel
    @ThomWetzel ปีที่แล้ว

    This is wild! Very cool stuff.

  • @mattmanJ17
    @mattmanJ17 ปีที่แล้ว

    This is breathtaking

  • @Michael18751
    @Michael18751 5 หลายเดือนก่อน

    This looks incredible

  • @MegaPancake97
    @MegaPancake97 ปีที่แล้ว

    simply amazing.

  • @dandymcgee
    @dandymcgee 8 หลายเดือนก่อน +2

    @Eskil Steenberg needs to see this..

    • @dandymcgee
      @dandymcgee 8 หลายเดือนก่อน +1

      Update: I showed it to Eskil and he said he was familiar and impressed. He had a similar thought to me that the only unfortunate thing is that it's a custom compiler and not a general purpose language so not particularly accessible to other devs. Still very inspiring tech, though!

  • @zzymyn
    @zzymyn ปีที่แล้ว +3

    Cool stuff! Are the build tools, compiler, editor, engine and runtime etc also written in your "C+" language?

  • @NickBullCSharp
    @NickBullCSharp ปีที่แล้ว

    I'm just sat here dueling to this!

  • @Alpha-kt4yl
    @Alpha-kt4yl 8 หลายเดือนก่อน

    This is just amazing

  • @taavitimm9045
    @taavitimm9045 4 วันที่ผ่านมา

    where am I? super nice :) i most liked the video that isn't actually a video. :)

  • @vnshngpnt
    @vnshngpnt ปีที่แล้ว +3

    Looks great! I wonder how World of Goo source code would look with this environment 😅

  • @nelsonfilipe-gg5zh
    @nelsonfilipe-gg5zh ปีที่แล้ว

    Impressive and inspiring! Thank you so much for sharing.
    Now I have to look at my tooling and be disappointed 😅

  • @davidemarchignoli6532
    @davidemarchignoli6532 5 หลายเดือนก่อน

    Great work!!! Amazing: leaves me puzzling with lot of questions. Are you using some kind of event sourcing pattern to keep the history of states?

  • @bfors8498
    @bfors8498 หลายเดือนก่อน +1

    incredible

  • @developerdeveloper67
    @developerdeveloper67 หลายเดือนก่อน

    This is insane dude. I love that you made everything from scratch. Jonathan Blow is mad on twitter saying your video is fake because what you did is so obviously superior to what he is doing with Jai and he behaves like a petty spoiled child.

  • @jocamar15
    @jocamar15 ปีที่แล้ว

    This is incredibly impressive and I think if you were to sell access to this toolchain you would have a lot of success!

  • @ClysmiC11
    @ClysmiC11 ปีที่แล้ว +3

    Could you explain how the reverse debugging works? Is every line of code deterministic both forwards and backwards, or are you saving/restoring state snapshots?
    Incredible demo btw, I envy this workflow greatly.

  • @YouCodeThings
    @YouCodeThings ปีที่แล้ว

    Superb!

  • @visham_vednaa
    @visham_vednaa ปีที่แล้ว +3

    Do you handle multithreaded code in the state capture system? If yes, how do you store and restore scheduling info, etc.? If no, any plans to do so in the future? I have been wondering how to solve that, but the only ways I can see is either having a high-level language "safe" language compile to fiber based code with userspace scheduling, or writing a OS driver to mess with the scheduling as needed. Would love to hear your views.
    Also, as an aside, during state capture, do you store entire memory image at beginning of frame and then run back and forth; or do you store each read and write instruction (like an undo buffer)?
    Thanks, and best of luck with this system. I am in process of developing something similar (also inspired by GOAL), and it's nice to see others trying their hands too.

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +6

      No multithreaded support so far. If we were going to add some, it would probably have to be a constrained form of scatter/gather only where memory protection was used to make sure that no thread could read from any memory that any other thread had write access to at the same time. Or if not that, then some other harsh constraint that made it so that there just weren't any race conditions possible. Once you had that then you wouldn't need to worry about stepping the different threads in any particular order, you'd just sync back up after you've finished going wide and the main thread would consume the results. Whether or not the constraint that you would have to operate under would be so severe that you would still be able to get any benefit out of multiple threads I don't know, and I don't have any plans to investigate in the near future. :)
      To capture the state, we memcpy the simulation heap at the beginning of a frame. This is far less data than the entire process' memory image though since the bulk of the data in memory is effectively read only for the purposes of the simulation of the game (movies, sounds, level blueprints, code, dialog, etc.) and the stack isn't needed since we never capture the state within a frame.

  • @suprem1ty
    @suprem1ty ปีที่แล้ว

    This is absolutely unreal!

  • @wcrb15
    @wcrb15 ปีที่แล้ว

    Holy hell this is incredible

  • @askarkalykov
    @askarkalykov ปีที่แล้ว

    Is it event-based "database" that underlines not only prod runtime, but also the whole development stage incl all the IDEs? that's awesome 😃👍 This is how interactive coding should look like 😃👍👍👍

  • @omeysalvi
    @omeysalvi หลายเดือนก่อน

    Mind blown

  • @lowlevelgamedev9330
    @lowlevelgamedev9330 3 หลายเดือนก่อน +1

    this is amazing 🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯

  • @DommoDommo
    @DommoDommo ปีที่แล้ว +1

    Thats amazing, I knew I was right to subscribe to you forever ago! While you're back can you do more punch-out stuff?!

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +3

      I would love to finish my punch out series! Just need to add an 8th day to the week and I should be all set.

  • @MoldyMagnet
    @MoldyMagnet ปีที่แล้ว +1

    super impressive! are you using this in production?

  • @jmhimara
    @jmhimara ปีที่แล้ว

    Is there a spec for the language? It seems very similar to C++. GOAL was based on common lisp (or some kind of lisp) where this kind of interactivity is common.

  •  ปีที่แล้ว +6

    Nice to see another practical experiment with program recording.
    But I'm a little puzzled why most time-travel debuggers don't change the basic user interface.
    They just reuse the existing UI based on source code editors.
    Watch windows, line numbers, jumping between different functions.
    But the code that actually executes is very different from the source.
    I think we could make a lot of improvements if we reinvented the basic user interface of step debuggers.
    If you are already making your own tools, why not make a more intuitive and efficient user interface?
    Why can't we just render an abstract syntax tree that is based on the code that actually ran, instead of copying the source code word-for-word?
    Why can't we just press a button to replace an expression with its result, instead of typing it into the watch window or hovering over it and waiting for a tooltip?
    Why can't we just move through the syntax tree by sub-expression, so we can see every step of a complicated calculation?
    Why can't we just move the cursor to a variable and press a button to quickly jump to the last place it was changed?
    Why can't we only show the code that actually ran, and completely remove the code that didn't, instead of just greying it out?
    Why can't we unroll a loop so we see all the cycles?
    Why can't we just unpack a function call into where it's used?
    Why can't we bookmark important points in the execution and jump between them?
    Why can't debugging feel more like writing code or playing a puzzle game, with both hands on the keyboard at all times?

    • @mr.mister311
      @mr.mister311 ปีที่แล้ว

      Why are there people who have been developers for 30 years that still haven't spent the one week it takes to get started using vim, despite it in every way being obviously superior to using the arrow keys and a mouse?

    • @mr.mister311
      @mr.mister311 ปีที่แล้ว +1

      I don't know, but if anyone has an answer to that I'd guess that is the same answer to all of these questions. Something about doing things like you always have just because you always have, I suppose.

    • @1e1001
      @1e1001 2 หลายเดือนก่อน

      @@mr.mister311 having been a fairly frequent vim user over the past ~4 years, i would disagree that it is better than an actual graphical editor

  • @TheHanutaXD
    @TheHanutaXD ปีที่แล้ว

    This is amazing

  • @FoxyOfJungle
    @FoxyOfJungle ปีที่แล้ว

    Interesting... Curious to know what's next, I thought it was sensational

  • @iamhardliner
    @iamhardliner ปีที่แล้ว +2

    I would love to have something like this available. Are there any resources on building such tooling that you could share?

  • @dimarichmain
    @dimarichmain หลายเดือนก่อน

    This is great stuff, but I wonder how well this would scale.

  • @OriginalJetForMe
    @OriginalJetForMe 3 หลายเดือนก่อน

    This is astonishing. I know it’s real but I imagine this is just masterful use of sfx software, trolling developers. Every tool chain maker needs to see this.

  • @maasteeve
    @maasteeve ปีที่แล้ว

    This is really interesting, I love this kind of stuff! Is this custom language compiled to native code or does it run in a vm?

    • @JeanDavidMoisan
      @JeanDavidMoisan ปีที่แล้ว

      He said native code at some point so I guess it's not a VM?

  • @Esgariot
    @Esgariot ปีที่แล้ว

    @retrogaminginternals How do you deal with concurrency and asynchronous code? Does it snapshot it in separate contexts and then combines set of snapshots into another snapshot?

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว +1

      So far the answer is we don't. Lower level things that happen behind the scenes are multi threaded (like decoding vorbis audio for example) but this system runs a single thread of code for now.

  • @NaifAlqahtani
    @NaifAlqahtani ปีที่แล้ว

    I am interested with the project planning of this pipeline/workflow.
    was this a plan ahead type of project, mostly? or did you start by say, creating the game enginer, then finding out a way to create a scripting language?
    I mean, did you have a vision of all these features beforehand, or was it discover as you go and develop when needed?
    I hope my question makes sense

    • @retrogameinternals4707
      @retrogameinternals4707  ปีที่แล้ว

      Very much discover as you go. Lots and lots of different things tried and dead ends explored, using the games we've been working on to help figure out what works and what doesn't.

  • @StevenHokins
    @StevenHokins 24 วันที่ผ่านมา

    Pretty neat

  • @neonage6294
    @neonage6294 ปีที่แล้ว +1

    This looks like an impossible dream. How does this full determenism/rewind actually works? Does it store a full game state in a frame?

  • @oivoodoo
    @oivoodoo ปีที่แล้ว

    Wow. ❤‍🔥🔥🔥

  • @Merthalophor
    @Merthalophor หลายเดือนก่อน

    That looks incredibly. Questions how big are the "execution traces", in terms of memory? What are you actually recording? The scrubber appeared to be loading something from the start when you were moving it; was it executing the game again until that point?

  • @igor-grachev
    @igor-grachev ปีที่แล้ว +1

    This is Gigachad among other debugers

  • @m4rt_
    @m4rt_ ปีที่แล้ว

    Damn, this is cool.
    Seams like a nice way to develop a graphical application.
    Could this be open sourced?

  • @MarkArcher1
    @MarkArcher1 ปีที่แล้ว

    I'm inspired.

  • @troyhumphreys9952
    @troyhumphreys9952 ปีที่แล้ว

    gimme. Really great stuff. Backwards stepping..... wow

  • @m4rt_
    @m4rt_ ปีที่แล้ว

    The editor kinds looks like you took Visual Studio, and just removed all unnecessary stuff, and the bugs.
    I like it.