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

Sonic World Version #Unity


Miru

Recommended Posts

Hey guys, anyone remember the BlitzSonic based game "Sonic World"?

 

 

Well, I played it and was instantly hooked on the diverse character roster, well-done levels, great music, and enemies being tougher, more varied, and more numerous than what you would expect from a BlitzSonic-based game. However, despite the fact the game is so great, it still has several flaws, most inherent to the BlitzSonic engine:

 

* The controls are kinda slippery, like in say, Sonic Universe. I know the Dreamcast era (which the game was overall trying to emulate) was generally on the slippery side, but this slipperiness still felt rather annoying,

* The game spent more than a while to load.

* The game was rather hard to edit if one lacked Blitz3D knowledge, and Blitz3D is a paid program (not to mention outdated).

* I felt that many characters should lack the spin dash, to make them even more diverse.

 

I eventually decided to test out UDK and Sonic GDK, to create my own game, but ran into technical difficulties in converting the .b3d models of the characters into UDK compatible formats, to increase the breadth of content. So, I decided to browse Sonic United for reference, and there I found a port of BlitzSonic into the Unity engine, created by neoshaman. I downloaded the port, and got Unity to work on it. I immediately thought, "Why not do a Sonic World port using this?" And so I started work on this port. This port will not just be a plain old bugfix affair; it will also have some enhanced features. An example would be amusing, cartoony death animations (but only for the females). I want to thank neoshaman for his work on porting BlitzSonic, and Ozcrash for creating Sonic World.

Edited by Miru
Link to comment
Share on other sites

Sorry for ask, but when you was trying to import the characters into UDK, have you followed the documentation steps? Those can be found here: http://udn.epicgames.com/Three/FBXPipeline.html Since it uses FBX format, any autodesk software or other softwares with an FBX exporter updated can do the work. Now, if you suceeded to import things and had trouble inside UDK, there are some basic stuff to do to make animated objects and characters work there, and a setup for making characters. If you need any help to try again I can try to help you with it.

Edited by Ricardo Raiohardt
  • Like 1
Link to comment
Share on other sites

Sorry for ask, but when you was trying to import the characters into UDK, have you followed the documentation steps? Those can be found here: http://udn.epicgames.com/Three/FBXPipeline.html Since it uses FBX format, any autodesk software or other softwares with an FBX exporter updated can do the work. Now, if you suceeded to import things and had trouble inside UDK, there are some basic stuff to do to make animated objects and characters work there, and a setup for making characters. If you need any help to try again I can try to help you with it.

Thank you very much for your help. I am now succesfully converting a Blaze model for UDK so she can be in my bigger project. By the way, I'll add a development screencap soon.

  • Like 1
Link to comment
Share on other sites

Thank you very much for your help. I am now succesfully converting a Blaze model for UDK so she can be in my bigger project. By the way, I'll add a development screencap soon.

Ah, great! Anything else, you can talk to me and I'll see a way to help you. I hope to see how things go well soon.

Link to comment
Share on other sites

I've now decided to dig through the original game's code to see what makes everything tick so I can get the up-porting at the very least spot-on, if not enhanced. I've already ported in the levels, character models, Badnik models, textures, interface elements, and a few bits of miscellaneous code from the original in, but haven't really hard-wired anything yet, although I have begun to set up a C++ Script for interpreting the XML level select, and have been going off an online tutorial to make the XML interpreter files work. However, I don't think I've acquired all the code from the original just yet. Further, I've also added levels from "Sonic Universe" and a few additional character models. I think they will probably just be bonus levels here, but maybe I will tackle a port of "Sonic Universe" once I am done with this one. 

Link to comment
Share on other sites

I had that same feeling when I play those Blitz3D games. They all feel to loose. you can die too easily.

 

The solution is surprisingly easy actually.  Instead of turning how they do now, they should rotrate their velocity relative to the ground normal, towards the desired velocity, with a clamped radian * deltaTime.  The character's own body should turn at the same rate.

Link to comment
Share on other sites

The solution is surprisingly easy actually.  Instead of turning how they do now, they should rotrate their velocity relative to the ground normal, towards the desired velocity, with a clamped radian * deltaTime.  The character's own body should turn at the same rate.

Nemox : Surprisingly easy = *&@^$(Q#YRg#h()d#&(#ygf@)( #j()@)_!()_y(*y%(*@_(@!_$&@*tui@()rq#f*uh#gf *r*  _!()_$*&^%&&_(()@_(*(^$@(**#)@&^*&!%*!($&^*^%*@#($*_!)(#()*$*@^ rate.

remember kids - you can understand geniuses.

---------------

on a serious note - can you explain that for beginners, for a stupid not as yet coder like me

Edited by Pulse0
Link to comment
Share on other sites

Nemox : Surprisingly easy = *&@^$(Q#YRg#h()d#&(#ygf@)( #j()@)_!()_y(*y%(*@_(@!_$&@*tui@()rq#f*uh#gf *r*  _!()_$*&^%&&_(()@_(*(^$@(**#)@&^*&!%*!($&^*^%*@#($*_!)(#()*$*@^ rate.

remember kids - you can understand geniuses.

---------------

on a serious note - can you explain that for beginners, for a stupid not as yet coder like me

 

I'm not sure what BlitzSonic is doing to turn characters, but I think they accelerate characters in the desired direction.  Instead, their velocity should be rotated.

 

You have a current velocity and a desired velocity.  Find the rotation from current to desired.  Clamp that angle by however much you want the character to rotate over time, or else it'll be like '06.  Then rotate the current velocity by that rotation.

Link to comment
Share on other sites

The solution is surprisingly easy actually. Instead of turning how they do now, they should rotrate their velocity relative to the ground normal, towards the desired velocity, with a clamped radian * deltaTime. The character's own body should turn at the same rate.

Alright, note taken. I'll change this up.

EDIT: It's a lot of hard work to code a bunch of XML files to interpret the levels and such. Also, it turns out the playable characters and their moves are not determined by an XML file, rather, by a code within Sonic World itself. The BlitzSonic Unity code I am currently working with is based on the original BlitzSonic, so I might have to edit it manually, but I am likely to reverse-engineer Sonic World (or ask for source code from the dev team) to obtain some more bits of code for the characters. Also, enemies are also not determined by an XML file. I'm also collecting as many BlitzSonic stages as possible because the engine is not capable of freely loading XML files for stages, and they have to be added before the game is published.

 

EDIT: Almost all the code in the "stage" file seems to be dummied out. However, when I play the tech demo that neoshaman made, it works just fine, even though the code appears exactly the same.

Edited by Miru
Link to comment
Share on other sites

  • 3 weeks later...
×
×
  • Create New...