- What is it?
- What is this 3D engine for?
- Why is it called Paradox?
- Will Paradox be open source?
- How far along is the engine?
- What are the technical limitations?
- Why Flash?
- Why in the world do the demos use the e, s, d and f keys?
- Why do I have to mouse down in order to look around?
- Are there any games planned for Paradox?
In case you missed my original announcement, Pardox is a first person 3D engine built on top of Papervision3D and Flash.
Paradox began out of an interest to explore the possibilities of a first person 3D engine in Flash. The results of my experimentation have been much better than I expected and it is now my goal to build a robust reusable first person 3D engine. The primary use case for the engine will be for gaming but, there are plenty of other potential applications I can envision using this kind of technology for.
Because I never thought I’d actually see this kind of real time 3D in Flash for at least a couple of years. And more importantly, it sounds cool!
This is the big question. I don’t exactly have an answer for it at the moment which means that for the time being, no. Whether the engine ultimately ends up open source depends on a few things. It is something I’m seriously considering and I’m very appreciative of the open source projects I’ve benefited from. I would love to give back to the community with this as my offering. However, there is already a very real possibility of commercial applications for the engine. While I’m not actively exploring or searching for commercial deals if a deal was on the table and went through the engine would not end up open source.
Not very. Its current state is that of a giant spike. It started as a proof of concept and that’s still very much what it is today. I’ve been reluctant to spend too much time on the architecture without first knowing if the engine would continue to perform as several features were added. So far so good and I’ve taken a pass at refining the technical design of the engine. I’m really happy with how it’s coming together.
Probably too many to count! Because the engine is currently entirely software rendered in Flash there are plenty of technical limitations that will demand some crafty coding to find solutions to. There is a limit to how much geometry can be used. And, the limit is low. Well designed textures and optimized geometry will be a necessity. Additionally, the amount of animation and interactivity will be limited. As will the accuracy of the physics and robustness of the AI. That said, I feel good about what is possible and am confident that well designed games can make up for the lack of power in the engine. Besides, it’s not like Flash or computational power is getting any slower. It’s a perfect time to put the infrastructure in place, even if the platform isn’t quite there yet.
It’s the most ubiquitous platform in the world and history of software. It’s an incredible platform and I have no qualms about where it is headed.
This is a popular question. The reason for this is purely because of a personal preference. I prefer to use my little finger and the keys a, q, and z for secondary tasks. With w, a, s, and d my little finger is pushed over onto the caps lock, tab, and shift keys. It’s not a new idea and really is a superior setup, you should try it.
More importantly however, this will all be user customizable through the engine preferences.
This is a technical limitation. It’s a bit of a sore point for me but a fact of life. The problem is that it is not possible to lock the mouse to the center of the scene with Flash. The cursor will eventually leave the browser and Flash will cease to capture the mouse position. Because of this there is no way to continuously spin in circles without a secondary look modifier that can be enabled or disabled. The mouse down action is my preference. However, this will be customizable and able to be mapped to keys, inverted (click to stop looking), or turned off altogether.
Yes! The design is still in the very very early stages but my plan is to build a game on top of the engine. This will be highly beneficial for the engine APIs as it will help solidify the requirements for the engine and provide a real world implementation.
If you have any additional questions feel free to ask. I’ll do my best to get them answered.
