|
Post by 06hypersonic60 on Feb 16, 2012 1:10:56 GMT -5
I was going to do that. didn't you see the skills button in the menu picture?
^ edit. it already have boost + spindash at the same time
|
|
|
Post by Marble (LS5) on Feb 16, 2012 1:42:12 GMT -5
Got a cool idea. How about for every 30 rings you obtain, you get 1 big boost of speed, which can be preserved by keeping your speed? You can store 3 at one time. This will encourage players to platform carefully and skilfully, as well as teach them when and how to use this scarce ability.
|
|
|
Post by 06hypersonic60 on Feb 16, 2012 1:59:26 GMT -5
good idea. it reminds me of sonic riders
|
|
|
Post by 06hypersonic60 on Feb 17, 2012 7:26:32 GMT -5
New feature I'm going to add: To preform LightDash / Boost and some other features you should collect items like in SA1/2
|
|
samcrossette
Relic Team
Advanced Coder,Stage Maker & Photoshoper
Posts: 427
|
Post by samcrossette on Feb 17, 2012 8:40:37 GMT -5
New feature I'm going to add: To preform LightDash / Boost and some other features you should collect items like in SA1/2 Nice
|
|
|
Post by Marble (LS5) on Feb 17, 2012 9:15:59 GMT -5
That was actually a working feature in BSU at one point. Having to insert specific bones into the player model proved confusing, though.
|
|
samcrossette
Relic Team
Advanced Coder,Stage Maker & Photoshoper
Posts: 427
|
Post by samcrossette on Feb 17, 2012 10:24:24 GMT -5
There is a pretty easy way to do this, at least I think : _Attach the item to sonic's model and to a bone _Delete sonic model _export as a second file _show the model at the same time as sonic's one
|
|
|
Post by EightBitDragon on Feb 17, 2012 13:18:00 GMT -5
Yes, managing bones can get confusing, just look at this code I wrote which handles Freerunner's starposts' bones:
Function TurnStarpostPivots(o.tStarpost) If o\speed# > 0.0 Then o\speed# = o\speed# - 0.1 TurnEntity(o\PivotCollection0\Pivot0, -o\speed#, 0, 0) ; Pivot TurnEntity(o\PivotCollection0\Pivot1, -o\speed#, 0, 0) ; Pivot TurnEntity(o\PivotCollection0\Pivot2, -10, 0, 0) ; Star TurnEntity(o\PivotCollection0\Pivot3, -10, 0, 0) ; Star End Function
Function SetupStarpostPivots.tPivotCollection(mesh) pc.tPivotCollection = New tPivotCollection pc\Pivot0 = FindChild(mesh, "Lbone_pivot") pc\Pivot1 = FindChild(mesh, "Rbone_pivot") pc\Pivot2 = FindChild(mesh, "Lbone_star") pc\Pivot3 = FindChild(mesh, "Rbone_star") Return pc End Function Function HideStarpostBones(mesh) ; Hide the bones EntityAlpha(FindChild(mesh, "bone_root" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_root" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_base" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_pivot" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_lid1" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_lid2" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_arm" ), 0.0) EntityAlpha(FindChild(mesh, "Lbone_star" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_root" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_base" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_pivot" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_lid1" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_lid2" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_arm" ), 0.0) EntityAlpha(FindChild(mesh, "Rbone_star" ), 0.0) End Function
Function HideAllStarpostBones(m.tLODMesh) If (m\LOD0<>0) Then HideStarpostBones(m\LOD0) If (m\LOD1<>0) Then HideStarpostBones(m\LOD1) If (m\LOD2<>0) Then HideStarpostBones(m\LOD2) If (m\LOD3<>0) Then HideStarpostBones(m\LOD3) If (m\LOD4<>0) Then HideStarpostBones(m\LOD4) If (m\LOD5<>0) Then HideStarpostBones(m\LOD5) If (m\LOD6<>0) Then HideStarpostBones(m\LOD6) If (m\LOD7<>0) Then HideStarpostBones(m\LOD7) If (m\CollisionMesh<>0) Then EntityAlpha(m\CollisionMesh, 0.0) If (m\ActionMesh<>0) Then EntityAlpha(m\ActionMesh, 0.0) End Function
Function ClearStarposts() For s.tStarpost = Each tStarpost Delete s\Position.tVector FreeEntity s\Entity ; All entities are children of s\Entity -- no need to unload the children. Delete s\LOD.tLODMesh Delete s\PivotCollection0.tPivotCollection Delete s Next End Function Function ClearPivotCollection() For pc.tPivotCollection = Each tPivotCollection If (pc\Pivot0<>0) Then FreeEntity pc\Pivot0 If (pc\Pivot1<>0) Then FreeEntity pc\Pivot1 If (pc\Pivot2<>0) Then FreeEntity pc\Pivot2 If (pc\Pivot3<>0) Then FreeEntity pc\Pivot3 If (pc\Pivot4<>0) Then FreeEntity pc\Pivot4 If (pc\Pivot5<>0) Then FreeEntity pc\Pivot5 If (pc\Pivot6<>0) Then FreeEntity pc\Pivot6 If (pc\Pivot7<>0) Then FreeEntity pc\Pivot7 Next End Function Obviously, it helps to know what the names of your bones are, so naming them is a key part in managing them. All of the above is for animating the bones based on the player's speed through the starpost, but for attachments, they shouldn't be very hard to manage. Just be sure to come up with a decent naming convention for attachment bones, and hide them as they are loaded.
|
|
samcrossette
Relic Team
Advanced Coder,Stage Maker & Photoshoper
Posts: 427
|
Post by samcrossette on Feb 17, 2012 17:00:03 GMT -5
I'm thinking, waren't you guys about to release the blitz sonic source of freeruner now that it's running under UDK ?
|
|
|
Post by Th33z on Feb 17, 2012 17:36:06 GMT -5
Got a cool idea. How about for every 30 rings you obtain, you get 1 big boost of speed, which can be preserved by keeping your speed? You can store 3 at one time. This will encourage players to platform carefully and skilfully, as well as teach them when and how to use this scarce ability. wait... I smell Unleashed for Nintendo Wii.... wat
|
|
|
Post by Marble (LS5) on Feb 17, 2012 18:26:23 GMT -5
Hey 8Bit, I was curious on how someone would be able to FindChild without the game crashing if the bone is not there.
|
|
|
Post by EightBitDragon on Feb 17, 2012 19:10:39 GMT -5
You have to use FindChild to check that the bone is there first before using it to copy a mesh or do anything else.
If (FindChild(my_mesh, "whatever_bone")<>0) Then bone = CopyMesh(FindChild(my_mesh, "whatever_bone")) EndIf I tried that on the starpost mesh in a test program. The game stopped crashing when you check the bone first. I also switched from LoadAnimMesh to LoadMesh to CreateCube and it still did not crash. Also, remember to export animation even if you have 0 frames because only animated meshes will retain object names, including bone names.
And, I'm still working on Freerunner's source. I worked some on it today, so its still ongoing. No idea when I will be done with it. Sorry.
Edit: I forgot to mention, you need to export bones in order for it to work. I'm unfamiliar with how this is done in fragmotion as I use 3DS Max. In the Max B3D exporter, you have the option to export bones and bone meshes. The starpost object has both, so I'm not 100% sure if exporting bones alone will work. I'll check it out later.
|
|
|
Post by 06hypersonic60 on Feb 19, 2012 16:47:41 GMT -5
2D Camera is added in now but it's a little bit glitchy. The problem is in switching the camera from 2D/3D and 3D/2D and it's caused because the object ( a sphere ) activates and disactivates a variable which, when it's set to true 2D is on else we go back to 3D. so when the player stands on it the game won't stop switching the camera mods. And what I will do is to move sonic a little bit after colliding with the sphere to avoid this glitch.
The second glitch, is rotating sonic: When sonic is facing a direction and want's to go to the other one he sometimes does a moonwalk.
I will upload a video showing everything soon.
|
|
|
Post by 06hypersonic60 on Feb 20, 2012 7:47:10 GMT -5
Here's a video for the 2D camera.
|
|
|
Post by Relentless Scorpion (ssh) on Feb 20, 2012 14:19:07 GMT -5
Here's a video for the 2D camera. im wondering are you releasing this with my arcus boost sound or replacing it
|
|