About Me
I’m Sahil Bhalla, a second-year physics major, and computer science minor at the University of California San Diego. This is a website I’ve created to show off some of my projects and discuss what resources I used in creating my physics engine.
Some of my professional interests include Physics Research, Game Programming and Computer Graphics, and Physics Simulations.
Physics Research
I discovered my interest in physics research while working at the Rappel Biophysics Laboratory at UCSD my freshman year.
It’s a special kind of amoeba that is both a single-celled organism, a fungus, and a multicellular slug at the same time! I studied how these single cells might have known when to clump up, when to act alone, and other specific factors that influenced their behavior using unique laboratory environments. In essence, I studied the concept of cell motility which describes how cells move.
However, more recently, I have become more interested in plasma physics which I discovered from working on a summary of a paper in the non-neutral plasma physics group here at UCSD as part of my Physics 4E culmination project. As a part of this project, I learned of the science of plasma waves and got to interview an author of the paper, where I learned of the current research being done at UCSD, where I study, one of the foremost institutions in plasma physics and fusion research. This one of the fields of research people hope will lead to the advent of sustainable fusion energy, which if possible could power the world many times over with little to no footprint of dangerous chemicals that arise from both fossil fuels and traditional nuclear energy. In effect, fusion power combines the environmental safety of renewable energy with the power output of fossil fuels, and it is a great motivation for me to study plasma physics beyond just my interest in the mathematics and the concepts.
Game Programming and Computer Graphics
I am also interested in game programming and computer graphics, two fields coming from my interest in video games. I’ve loved playing video games since I was just a kid and to me, like many other aspiring game programmers out there, it has always been interesting how they work behind the scenes. What I find most interesting differs somewhat from most, however. While I do enjoy programming the surface-level game itself, what I truly find most interesting is the larger systems that control these surface systems.
I am referring to the Game Engine, the Graphics Engine, and of course the Physics Engine. These systems are what drive most games today although not always as distinct entities from the regular game code or the surface code itself. These are the systems responsible for building the rules of reality in the game, from how things move, to how things are seen. Effectively they are to games what physical laws like Newton’s or Hubble’s are to the real world, so I am interested in them for the same reason I am interested in physics in general. This is why my second year at UCSD I decided to take a course in computer graphics and joined the Video Game Development Club at UCSD, where I worked on many interesting projects.
Physics Simulation
Of these back-end systems I most enjoy the physics simulators and physics engines because they perfectly combine my two fields of study and interests. A physics engine, if you didn’t know, is what it sounds like, the part of a program that simulates real-life physics. They can be used in many different contexts, from video games, to biomedical research, to CGI in the most popular movies. I decided last summer that because of this, I would try to make my own all-purpose physics engine using basic physics and programming concepts. You can see my process, and the basics of how physics engines work elsewhere on this site.