Currently, real-time animation has become an indispensable requirement in many cases, driven by demonstrations and more interactive interfaces. When an animation involves an object rebounding on the screen or being affected by gravity, a physical engine is necessary.
Farseer physics engine (farseer physical engine) was designed to meet this need, though it was first written for 2D games. We interviewed Jeff Weber, farseer's designer.
Why did you decide to start this farseer physical engine project first?
I created the farseer physical engine because I wanted to use. Net for some 2D physical games. I want to find a good hosting serviceCodeThe 2D physical engine allows me to create a game in my own way. But not much is found, and they do not contain all the features I need.
However, there is a very interesting C ++ physical engine called box2d, which is written by Erin catto. It has most of the features I need and I am confident that I can add additional features, so I decided to use it as a basis for hosting my own physical engine. Farseer physical engine is such an engine.
Note:The box2d engine mentioned above already has a new version of Erin catto. They have similar concepts, but farseer is built based on an earlier version of the box2d engine.
Before that, do you have any background in the physical engine or have you learned something?
I have a bachelor's degree in mathematics since very early. But I never had the chance to actually use it [Note:Mathematical knowledge] I started to develop games as a hobby about six years ago. Therefore, I have been trying to include some physical things in my project. Just mention that these physical aspects always end development after one demonstration or another, rather than a completed game.
I also had the honor to work in a truck driving simulator project for about a year, and then return to the real role I have been working for several years as a. Net Development Consultant. For that project, we used an Open Dynamics Engine (ODE) with a hosted. Net package ).
So, right, we have some experience in physical and physical engines, but farseer physical engine is my first "finished" project out of my daily work.
When you create a function library like farseer, Which of the following is the preferred choice if you have to make a choice in terms of ease of use and flexibility?
Making farseer easy to use is my primary goal. I even wrote "Keep It Simple" on my whiteboard. (In fact) some of my earlier versions of Object-level relationships were too complex at the beginning. They had too many abstract classes, interfaces, and finally-level inheritance classes; then I remembered that I kept the simple principle and reconstructed everything to meet this goal. I am very happy to develop it in this way.
I usually try to find a balance between strong functionality, flexibility, ease of use, and timely completion. If I had to favor someone, I would still maintain the simple and beautiful principle.
Have you considered compatibility with non-Microsoft runtime such as mono?
No. Does it sound selfish? But I actually created a farseer for my own needs. I don't need mono and I don't have any plans to use it in the near future, so I never really considered it. I will leave this job to others. I guess it should be easily transplanted, because this engine does not actually rely on many non-. NET Framework core things.
In general, what do you think about how Silverlight and xNa are used to create software like this? Can they provide the required functions, or do you have to do many additional things on your own?
I like these two frameworks and borrowed some features to farseer. Farseer is almost identical on both platforms. The Silverlight version needs to create some mathematical structs to correspond to the same struct in xNa, but the only difference is that each version needs to be compiled with a different. NET Framework version. The demo works normally. Bill Reiss of blue rose games transplanted the farseer physical Engine and Its demo to Silverlight. It is really a good idea to do this porting. I'm very glad that he has done it for me.
Currently, I have moved my attention away from xNa for a while, so I have paid more attention to Silverlight. I can do some things on the screen and make it run faster on Silverlight than xNa. This is mainly because the 2D Vector Plotting mechanism is built in Silverlight. I hope Microsoft can also create a XAML Parser for the xNa framework.
I also like the idea of creating games for the web. I think the future is bright.
What future plans do you have for farseer?
My future plans mainly focus on solving the reality of the farseer physical engine.Usage Problems. After the upgrade, I will continue to upgrade it to make it more useful.
The idea/code can be submitted by users, or added when I need some new features for a game being written. I already have some excellent content submitted by users in the user forum, and I have started to merge the content into the engine.
In general, I like to use this engine to create games developed by my leader and want to get some extra revenue from them. I currently have a Silverlight game under development. I don't think it is like most existing web games. (I know, they all said) the strange thing is that since I started game development as a hobby for 5 or 6 years, it was my first game to be completed.
The farseer physical engine can be downloaded from the codeplex website.
View Original English text:Introducing farseer-an open source physics engine for Silverlight and xNa
Http://www.infoq.com/cn/news/2007/11/Farseer.