Latest: adam_11nov2006.plan
The movement physics under went another rewrite a little while ago bringing them to what will be the final version functionality wise for the semester since there is much more to be done. That being said they improved a great deal in both concept and implementation and now, in my opinion work better then the movement in Half-Life.

I say this because the Half-Life engine suffers from the problem of compounding simultaneous multidimensional movement requests. Meaning, if your Resource has a movement speed defined as say 10 and you hold both the forward and side strafe keys at the same time to move at a 45 degree angle in Half-Life it would take the first input, and add 10 to the Y component of the movement vector. Then it would process the side strafe input and add 10 to the X component of the movement vector. The resulting vector would have a magnitude of ~14.142 units. Which in my mind, if you define 10 as the speed for something in your world then that should be the speed no if ands or buts. So in my code I accumulate all the input, then based on the input I modify the angle not the magnitude of the resulting vector so no matter how you move the magnitude of the vector will be 10. Actually saves some computation as well.

Additionally, Iíve spent time adapting my BSP loading and rendering code into the Framework these last couple days. This is going well and actually a bit faster then I expected. The BSPManagerServices now successfully loads in a v30 BSP file. There is quite a bit of a paradigm shift in how the data is rendered though which took some thinking through to come up with the new methods needed. The renderer is almost done ( Still writing functions to give it efficient access to the geometric data loaded from the BSP file ). Once I finish that I need to write some functions for the SimulationResourceManagerService which will locate each Resource it manages in a Leaf of the BSP tree when ever they move and dynamically attach them to the BSPLeafNodes as they move around. That should be it then. The new Framework should be caught up to where the old engine was before this semester started.

So exciting things to come as I move into some of the less essential things like config files (finally!) and collision detection!

- Adam

Comment: JBrown - 2006-11-11 09:53:27
The difference in the movement between your engine and HL sounds interesting. Though what implications does your method have on the sampling rate?

Comment: Adam - 2006-11-12 06:26:47
By sampling rate I'm assuming you mean how many times a second the input is checked? This is once per frame which theres not too much of a way around. But the movement will always remain constant because all of the effects of the input are time scaled for how long it took to render the last frame.

Comment: Jack - 2006-11-16 01:54:15
Here at your test results from my computer. 5.04s from start to finish. took that time with a normal stop watch, useing one hand to go forward and one to start stop the watch. you look feature with the mouse needs a cap. during one test i looked up so far that i turned my vision up side down due to looking behind me. movement is confuseing, the "w" dosen't just make you go forward "being the place you the charater is looking" it moves you in one set direction. other than that looks like your Cpp paid off! hope this helps!

Comment: Jack - 2006-11-16 01:55:34
Here at your test results from my computer.--------- 5.04s from start to finish. took that time with a normal stop watch, useing one hand to go forward and one to start/stop the watch. --------your look feature with the mouse needs a cap. during one test i looked up so far that i turned my vision up side down due to looking behind me. ---------movement is confuseing, the "w" dosen't just make you go forward "being the place you the charater is looking" it moves you in one set direction. other than that looks like your Cpp paid off! hope this helps!

Comment: Adam - 2006-11-16 09:03:03
Thanks for the testing man! The big thing that needed tested ont he verison you had was the time scaling which keeps movment speed constant across all computers. The movement system it's self has under goen several re-writes and is entirely different, feels much better. I'm almost done with integrating my renderer, I'll send ya a new version to test when I get that in.

Post a Comment
Your Name:
Your Comment:

Anti-Bot:
anti-bot

Commenting has been permanently disabled