Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

3D 360 Engine - Early Tests


Recommended Posts

OK, so some of you have seen screenshots of this on the Post Your Screenshot thread, and a few of you have already played it.

This one is a complete rewrite of the version shown on the screenshots, with the code better organized and a lot of new stuff implemented, like motion conversion when going on/off the ground, jumps depending on the ground direction, and a new method for angle detection... It's still not as optimized or as good as I want it to be, but it's now stable enough to be available for download.

It's meant to extend the original MD experience to the third dimension, so most of the motion works exactly like it does in 2D.

Before you play, here is some information:

  • It isn't anything special, just a basic movement test with Sonic. Don't get hyped.
  • This is not the same level from the screenshots, but instead our good old friend, "wireframe zone"... I've changed it so I could more easily create level geometry for testing without worrying with pretty graphics.
  • The control is W, A, S, D + Mouse right now. Clicking jumps. It's not 100% like a First Person Shooter, because the control is also analog, but some of you may find it awkward... Don't worry, since on this rewrite I've abstracted the control source, and so I can implement basically any kind of control scheme. The analog part is also partially implemented.
  • Sonic's animation is terrible, because I'm not a pretty good animator, and haven't implemented multiple animations yet (Or sonic's state machine, for that matter). Think of it as a placeholder.
  • Some specific stuff in the movement is missing (Falling from the ceiling, for example). Will be implemented.
  • Press the 'C' key to toggle between the normal camera and "vomit mode". You'll understand why it has this name when you play it.
  • I'll release info on how it works soon, along with b3d source code.
  • EDIT: Oh, there's no framelock yet! It may run wild on your computer, if it's a pretty good one. It may also run somewhat slower because it's on windowed mode... If you guys want I can upload a fullscreen version.

Enjoy! http://sonicunited.org/hsfqmtif/forum/attachment.php?attachmentid=455&d=1189134404

3D360.rar

  • Like 1
Link to comment
Share on other sites

Better than I could do, but that's not saying much. I couldn't do anything at all because it's so god damn slippery. I found it impossible to do anything. That, and the camera needs alot of work. I don't want to have to constantly control it while I slip through the stage, some behind placement would be nice.

Link to comment
Share on other sites

What C does is determines whether or not to normalize the camera's rotation based on Sonic's or to keep it somewhat centered rotationally.

Here's what it does:


[COLOR="RoyalBlue"]If[/COLOR] KeyHit(46) [COLOR="RoyalBlue"]Then[/COLOR] c\mode = [COLOR="RoyalBlue"]Not[/COLOR] c\mode

...

[COLOR="RoyalBlue"]If[/COLOR] c\mode [COLOR="RoyalBlue"]Then[/COLOR]
[COLOR="RoyalBlue"]EntityType [/COLOR]c\entity, 0
[COLOR="RoyalBlue"]PositionEntity [/COLOR]c\entity, [COLOR="RoyalBlue"]EntityX[/COLOR](c\target\entity), [COLOR="RoyalBlue"]EntityY[/COLOR](c\target\entity), [COLOR="RoyalBlue"]EntityZ[/COLOR](c\target\entity)
[COLOR="RoyalBlue"]RotateEntity [/COLOR]c\entity, c\turn\x, c\turn\y, 0, c\target\mdl_align\y, c\target\mdl_align\z, 2 [COLOR="Yellow"]; 2 = Align Local Y Axis[/COLOR]
[COLOR="RoyalBlue"]EntityType [/COLOR]c\entity, 3
[COLOR="RoyalBlue"]MoveEntity [/COLOR]c\entity, 0, 0, -c\dist
[COLOR="RoyalBlue"]Else[/COLOR]
[COLOR="RoyalBlue"]EntityType [/COLOR]c\entity, 0
[COLOR="RoyalBlue"]PositionEntity [/COLOR]c\entity, [COLOR="RoyalBlue"]EntityX[/COLOR](c\target\entity), [COLOR="RoyalBlue"]EntityY[/COLOR](c\target\entity), [COLOR="RoyalBlue"]EntityZ[/COLOR](c\target\entity)
[COLOR="RoyalBlue"]RotateEntity [/COLOR]c\entity, 0, 0, 0
[COLOR="RoyalBlue"]AlignToVector [/COLOR]c\entity, c\target\mdl_align\x, c\target\mdl_align\y, c\target\mdl_align\z, 2 [COLOR="Yellow"]; 2 = Align Local Y Axis[/COLOR]
[COLOR="RoyalBlue"]TurnEntity [/COLOR]c\entity, c\turn\x, c\turn\y, 0
[COLOR="RoyalBlue"]EntityType [/COLOR]c\entity, 3
[COLOR="RoyalBlue"]MoveEntity [/COLOR]c\entity, 0, 0, -c\dist
[COLOR="RoyalBlue"]EndIf[/COLOR][/CODE]

I keep changing the entity type to disable and enable collisions.

Mark, I'm very impressed. Would you mind if I got a little involved with this?

No problem ;D

Link to comment
Share on other sites

Nice, the physics is fairly good for 3d, a little off, but all in all good.

Also, that code you quoted, it isn't opengl or any programs I know of for making 3d games. What did you program this in?

OpenGL isn't (technically) a program. The engine is made with Blitz Basic 3D.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...