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

SonicGDK 1.20.109 (along with playable levels inside)


Xaklse

Recommended Posts

And my framerate is starting to take a hit. Not a fault of the game, but a fault of my computer, clearly. :P
The default game settings are very aggressive, prioritizing visual acuity over performance. I suggest you to change the video settings to gain fps.
Yeh just end me a pm whenever your ready.
Will do.
Isn't the rig setup dependent on the game engine, though?
Not sure right now, I'll take a look to UDK docs.
Link to comment
Share on other sites

Isn't the rig setup dependent on the game engine, though?

Not in UDK, since it's meant to be a general game engine, though he may have to do modifications to the player's code to adapt new model animations with the movement.

I don't read very well; I'm guessing you're asking not if the rig can be changed, but if the rig has to be set up a specific way. If the engine was being made in Unreal 3 this would probably be true, but something tells me UDK removed those kind of limitations. I'm only starting to learn it so I guess the best answer would come from the documentation Xaklse is looking through.

OT: I've had this happen with both versions of the engine. I can run it just fine, but when I load up the latest version of UDK and try to open the level map, it stalls and crashes. I don't know if the map was protected though (weird way for UDK to handle it if it is) since there doesn't seem to be any uncooked source code included with the package.

Link to comment
Share on other sites

The process of creating a new character is independent of UDK. Basically the whole process can be performed with 3D tools like Max or Maya and it's long unless you use a stock generic skeleton with its animations.

Steps to follow:

  1. Create the character static mesh.
  2. Create an animation character rig.

    1. Create the skeleton with bones.
    2. Attach each bone to each part of the mesh.
    3. Check for deformities by moving each bone.

[*]Create each animation.

[*]Export to UDK...

Sources:

Animation is supported via animated skeletal meshes. Vertex-blended animation is not supported. Typically, we bring in character, vehicle and weapon data as bone animation using ActorX. Character facial animation is done with a mix of FaceFX and blend shapes. -UDN
Jeremy Ernst, Technical Animator at Epic Games, takes you through the Unreal Engine Skeletal Mesh pipeline. From getting your model from your 3D package into the editor, and getting it ready for your programmers, you will learn the steps to make your assets ready for your game. -UDN
I can run it just fine, but when I load up the latest version of UDK and try to open the level map, it stalls and crashes. I don't know if the map was protected though (weird way for UDK to handle it if it is) since there doesn't seem to be any uncooked source code included with the package.
So you downloaded the full UDK and tried to open the test map of SonicGDK? It is protected, code too.
Link to comment
Share on other sites

So you downloaded the full UDK and tried to open the test map of SonicGDK? It is protected, code too.

I wonder why UDK just crashes rather than reporting back that the map is protected. Anyway, I tried to open it since I was somewhat curious to a few of the techniques used to create the engine, and that I thought this project was meant as an open source engine for others to use and learn from.

Link to comment
Share on other sites

It WILL be open source with the first non-preview release, it isn't yet because the code is a mess (specially for someone who doesn't understand UnrealScript) and I plan to comment every line and explain most algorithms.

I ask for your patience, or ask me anything here and I'll answer you.

Link to comment
Share on other sites

Playing the waiting game to give you a chance to dress up the code sounds nice. =] The engine itself is coming along quite nicely so far.

Hmm, I just have a bit of a concern about the physics that I've noticed even in the UT2004 version of the engine. If you're running around loops and bends only holding the forward button, you'll get by just fine, but if you press A or D to strafe left or right, you can suddenly lose a lot of your speed and fall off, which is bad if you were running around corkscrews over a bottom-less pit as I remember doing in the second zone of your UT2004 demo. Would be lovely if this was fixed/changed.

Link to comment
Share on other sites

It WILL be open source with the first non-preview release, it isn't yet because the code is a mess (specially for someone who doesn't understand UnrealScript) and I plan to comment every line and explain most algorithms.

I ask for your patience, or ask me anything here and I'll answer you.

Comment every line? Really? I hope for the sake of decent readability that that's an extreme exaggeration on your part.

Link to comment
Share on other sites

If you're running around loops and bends only holding the forward button, you'll get by just fine, but if you press A or D to strafe left or right, you can suddenly lose a lot of your speed and fall off, which is bad...
That issue has already been addressed in the last release ;)
Comment every line? Really? I hope for the sake of decent readability that that's an extreme exaggeration on your part.

Is it confusing or annoying? I don't think so but I might be wrong.

codeac.png

Link to comment
Share on other sites

That's normally the way I comment when releasing source code publicly; that would definitely help someone like me out.

That issue has already been addressed in the last release ;>

The one you're working on or preview release 2? Because in release 2 the issue was still there, just seemed to work a bit better if anything. If it's fixed in the one you're currently working on though, then that's great. =]

I also forgot to mention that you can still side-jump Unreal 3 style if you hold forward (or maybe the back key/don't remember) and double-tap left or right rather than only double-tapping by itself.

Link to comment
Share on other sites

No one comments every line because it makes programming shit take forever and a day and it doesn't add anything that you couldn't convey simply by using comments on instance variables, constants, functions, parameters, major loops, and all those other things which actually can be used to describe more than a single thought which is already conveyed just by the actual code itself.

Link to comment
Share on other sites

I don't know about you, but when I look at most of the lines of code in that screenshot, I wouldn't know what it was doing even when I try to decipher what the variables and stuff is. Also you never comment everything WHILE you code. In fact, normally if you do any commenting while coding, it's only major points that you don't know if you'll remember what your logic was later. Commenting like that is normally only done after, in an attempt to help those new to the code to have a stronger chance at understanding and picking up the logic fast enough to be able to use it properly.

Link to comment
Share on other sites

I don't know about you, but when I look at most of the lines of code in that screenshot, I wouldn't know what it was doing even when I try to decipher what the variables and stuff is. Also you never comment everything WHILE you code. In fact, normally if you do any commenting while coding, it's only major points that you don't know if you'll remember what your logic was later. Commenting like that is normally only done after, in an attempt to help those new to the code to have a stronger chance at understanding and picking up the logic fast enough to be able to use it properly.

You'd understand it every bit as well or better if he just described what he was doing with every major section as long as you knew what the variables meant... which should also be easy to find out as long as that IDE has that nifty little feature that shows a tooltip for a variable that is described by the comments. If not, it's just a search away. And it saves you the trouble of typing out that description every time you want to use that variable.

And by the by, you really should get in the habit to do normal commenting while coding. It saves you the trouble of having to decipher something you just came back to and it really doesn't take long as long as you don't go overboard. At least use the java-doc based comments to plot out what your functions are doing and what the parameters mean.

Link to comment
Share on other sites

The one you're working on or preview release 2? Because in release 2 the issue was still there, just seemed to work a bit better if anything. If it's fixed in the one you're currently working on though, then that's great. =]
It's fixed in preview release 2; where do you fall off?
I also forgot to mention that you can still side-jump Unreal 3 style if you hold forward (or maybe the back key/don't remember) and double-tap left or right rather than only double-tapping by itself.
I did on purpose, it's just a placeholder for side-stepping.
[words]
So, am I right to assume that this amount of comments annoys you? Even with color highlighting?
Link to comment
Share on other sites

It's fixed in preview release 2; where do you fall off?

Gah, I'll have to try it again sometime once my slow net is freed up. =E

Also, though I can agree with DW in a normal case scenario, I guess just me personally am having a lot of trouble understanding UDK for whatever the reason may be, and all those comments really helps to baby someone like me along (not to mention I don't really find it annoying and could easily remove the comments if they somehow got in the way).

I think a good question is, are you DW specifically thinking about using or learning from the engine? I would really like to see what makes this engine tick and there's a bit of chance I might use it too, so if you're not seeking to use the engine for your own needs, I would really be appreciative if Xaklse continued commenting the way he is now.

Link to comment
Share on other sites

First, that's an irrelevant question since it really has no bearing on what I'm saying. But I'll answer the question anyway...

Heck no, if I ever take a swing at 3D again, it'll be with something crafted from the ground up by myself.But that doesn't have any relevance in the grand scheme of things though anyway. It really comes down to the fact that it's a colossal waste of time. More so when a project actually goes somewhere instead of dropping back to the initial phases whenever a fancy new engine comes out. 90% of everything coded ends up replaced at some point during the development of anything major, so excessive commenting is just dumb. And if you are really wanting to go for maximum understandability of code, you have much bigger fish to fry than explaining your attributes every time you call on them. I'd much rather spend an hour fucking around with making easier to understand classes. And there is so much more to documentation than just commenting. I think a good class diagram will take less time and do a hell of a lot more good than telling me all over the place that

if (player.isOnGround())

is a statement that evaluates whether or not the player is on the ground.

Prioritize the right shit and you might one day finish a project. Prioritize trivial bullshit that will be more than likely be completely undone (if you ever get that far), and you'll just spend a half decade going around in circles.

Link to comment
Share on other sites

DW obviously likes your project and doesn't want it to die. =]

I realize DW that my question held no place in what you were saying, but you seemed very intent on convincing him to handle his code a certain way, and I was just wondering if some interest got sparked in you somehow (yes I'm on to you and your renaming DimensionWarped to Darkwing Duck to make others believe your game was discarded rather than set under a new name ;>).

if (player.isOnGround())

If most of the code was like that there would obviously be no problems, but I might need to know that...

Normal(Z cross vector(out_ViewRotation));[/CODE]

...is meant to get the right vector, and a bulk of his present code seemed to be presented in that style; fun fun.

Link to comment
Share on other sites

Yes, that's right. I have an interest in seeing every project around here get finished. I hate seeing projects die.

As for Normal(Z cross vector(out_ViewRotation)) needing explanation, that's usually a good sign that it would be a good idea to reframe it so that it is more self-explanatory, often by adding something like a new (usually private) method that is dedicated to performing that one operation.

Link to comment
Share on other sites

×
×
  • Create New...