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

My attempt at a 3D Sonic Engine


kaos

Recommended Posts

I have recently been learning Blitz3D and I wanted to see what I could come up with.

After about a week and a half, I came up with a basic 3D sonic engine.

Although far from perfect, It gave me a chance to further increase my knowledge of Blitz3D.

The release I am posting here is actually not my latest one(I dont have it on me at the moment)but it should give people an idea of my project.

I call it KAPE - KAos Platform Engine.(And not because of "ego", I have been going by the name Kuroi as of late).

Credits -

The model is from a model swap of the Dami/Mark engine (Credit to Bagjac)

The level is mine(not texture)

The engine is mine

The skybox is from...I forgot. Ill post if I remember.

I am posting this because, Chances are I wont be working on this much more.(Of course, that could change.)

Problems -

It seems to run really slow, not to mention just wierd, on Vista, but fine on XP.

Running up a 90 degree slope isnt a problem =P

And a whole slew of other things

ToDo List - (if i get around to it)

Converting airspeed to groundspeed

Making slopes more precise.

Fix the yaw rotation on the jump(if you jump from a slope and turn...)

Move in more than one direction.(ie. not having Up for forward and L/R to turn.)

Cleaning up my code...

Controls -

Shift = Jump

Up = Forward

Left/Right = Turning

Back = Brake

W/S = Camera Zoom

A/D = Camera Height

F1 = Reset Position =P

ESC = Quit

Last minute note: It runs in fullscreen(640x480) with 32bit color.

Sorry no screenshots(maybe someone will put some up?)

KAPE - KAos Platform Engine.rar

Link to comment
Share on other sites

Oh my god PLEASE PUT THE FILES IN A READY-MADE FOLDER.

Jesus thats like the #1 reason i dont even open fangames anymore. That just pisses me off.

----

As for the engine....i actually like it. Its exponents over most of the other 3D engines people usually post here.

Im glad you got the movement down. I guess the only thing now is the amount of directions you move, and you said you're working on it already so its cool. (just make sure its more SONIC / Platformer than Tank controls. Nobody seems to do them right.)

Only issue i see is the fact that you can basically run on any surface, no matter the angle you approach it from, if you're going fast enough. Thats pretty neat, but at the same time it needs restrictions. I can see all kinds of level design issues here. Make it a requirement to have to approach the wall from a certian angle or something. I can jump off a cliff and hit a wall at 90 degrees and start running up it.

Another problem is that Jumping doesnt seem to work. He always jumps up, but in reality he should be jumping off whatever surface hes running on. (If hes running upside down, he should jump down. If hes running on a right sided slope, he should jump more to the other side. Ya know?) I like how sonic kind of automatically corrects himself to the center when running on a halfpipe.

Camera was kind of odd, but for the most part it works pretty well. Not gonna sweat that at all. Loop Camera worked great.

Seriously though, brush up on these things and you have a more than playable engine . I think i would enjoy a fangame ran on this engine.

Link to comment
Share on other sites

Only issue i see is the fact that you can basically run on any surface, no matter the angle you approach it from, if you're going fast enough. Thats pretty neat, but at the same time it needs restrictions. I can see all kinds of level design issues here. Make it a requirement to have to approach the wall from a certian angle or something. I can jump off a cliff and hit a wall at 90 degrees and start running up it.

Yeah, this is my main problem. If nothing else, most of my time goes to fixing this. I believe I need a vector for alignment as well as one for speed, but I don't quite know how to implement that just yet. Remember, I'm learning this as I go...:)

Another problem is that Jumping doesn't seem to work. He always jumps up, but in reality he should be jumping off whatever surface hes running on. (If hes running upside down, he should jump down. If hes running on a right sided slope, he should jump more to the other side. Ya know?) I like how sonic kind of automatically corrects himself to the center when running on a halfpipe.

My latest build has this fixed, I just don't have it on me at the moment...I'll release it if I get the chance.

Another problem in this build is if you stand still upside down, you will just slide and not fall.

As for the ready made folder, I'll see what I can do about that.

The tank controls...I hate it too, I'm also trying to fix that.

But yeah, thanks for the comment, and I'll fix what I can.

BTW, Does it run full speed for you?

Link to comment
Share on other sites

Oh yeah it runs perfect for me i guess. I get no slowdown. This PC is on Windows XP, Geforce 6100, 2.3 Ghz, 1.36 GB ram.

Btw, your game doesnt really use Tank controls. The movement im talking about are in the 3D engines where you move in one direction and turn, yet sonic just keeps sliding on in the direction hes going with almost zero acceleration in the direction youre turning in. Your engine doesnt have this problem.

Link to comment
Share on other sites

Btw, your game doesnt really use Tank controls. The movement im talking about are in the 3D engines where you move in one direction and turn, yet sonic just keeps sliding on in the direction hes going with almost zero acceleration in the direction youre turning in. Your engine doesnt have this problem.

Yeah, i know, but close enough, lol.

----As for speed...

I just don't know why it doesn't run on vista. So far its been tested on 4 computers (including yours).

Maybe I'll try to implement delta time...

Link to comment
Share on other sites

Im glad you got the movement down.

Lol wot? The movement had to be the most fucked up part of the engine if you ask me. It's easy to say that the player isn't as bound do his current inertia when it takes a full 6 seconds to turn around... and aside from that point, I don't really see where you could remotely be coming from.

That said, with a little tweaking, who knows. It could be worthwhile.

By the by, I had no trouble using it in Vista. Well, at least I don't think I did. Unless Vista somehow keeps the player from jumping. At all. Even making a remote motion towards looking like jumping.

EDIT: Oh, I have to use right shift to jump. That's retarded. Very retarded. Just plain stupid. NO!

Also, I think the engine might be running a tad fast on my end... like oh, I don't know... 4 times the speed it's supposed to run at? Suffice to say, the jump lasts a moderate fraction of a second.

Link to comment
Share on other sites

uh, too bad i cant test it, i'm on linux and it gave me a "memory access violation" error when i tried to run it with wine, (note: dami's engine works perfectly under wine :) ) but it sounds pretty promising, keep it up!

** taking down notes for BleSSÉ (Bastardized and Project S' engine) **

1) dont take control complaints too seriously, most complainers don't really know exactly that they want, besides that the level design decides wich control system is the most suitable.

2) note 1 applied to all other kind complaints

3) have fun making it, if the people don't like it, its their problem

Link to comment
Share on other sites

I really liked it. Although the engine is far from complete, I could see a really great Sonic game being made with this. Serph already mentioned all of the motion issues.

Also, the skybox is gorgeous. I jumped off the cliff and fell just so I could look at it.

Link to comment
Share on other sites

I'm using Windows Vista myself too. If it works slow on it, it's due DirectX7 is being wrapped over DirectX9 on Vista, that's why there are some small graphical glitches on some third party libraries and slow downs in general.

The collision system seems to be working fine. I had some troubles with mine and collision with certain geometry normals, wich after some tests I thought it was Blitz3D's fault. I'll have to check out the thing again.

Asides from that, movement and controls still need some work. It works way too fast in my end so I can't get to the loop properly. You should either add delta time movement or proper FPS cap through timers.

Also, if you want to make your game more eye candy, I suggest you take a look at the FastExtensions library :)

Link to comment
Share on other sites

Lol wot? The movement had to be the most fucked up part of the engine if you ask me. It's easy to say that the player isn't as bound do his current inertia when it takes a full 6 seconds to turn around... and aside from that point, I don't really see where you could remotely be coming from.

I can actually go where im planning to go in his engine. In other engines i have to slide to where im trying to go. In comparison, i enjoy his movement a good bit better than most others. I didnt say it was perfect or anything...

And yeah i forgot that. Right Shift = nono.

Link to comment
Share on other sites

Every engine cant be like Mark&Dami/ Naka's engine, DW. In all truth it didnt bother me that much.

The wall running thing is odd when you can just jump on a vertical wall and stick to it, but besides that i dont see a reason to go anal over the physics. Its kind of like compaining about Werehog having stretchy arms, yet overlooking the fact he derives from a BLUE bipedal talking hedgehog that can break the sound barrier and beyond without disintegrating.

That said, i really dont mind the physics in this engine. Im obviously not having the same problems you are, as turning on my computer is more than passable. If he wants to work on the physics then i guess he can, but it doesnt really bother me. It is a fangame afterall, and he can still make good levels with it.

Link to comment
Share on other sites

Im actually having alot of fun being able to run on practically any surface i land on. It kind of feels like Sonic the Hedgehog Galaxy, except you just replace the Gravity gimmick with a "keep moving really fast" gimmick.

I dunno, maybe after fixing that, you can turn it into a special ability or something for limited use? Its really fun lol.

I actually would enjoy levels that instead of only focusing on platforming and gimmicks would instead just be High-speed levels that focused on finding ways to traverse the level.

Thats kind of how i always wanted a Next-Gen sonic game to function anyway. If you're gonna make it High-speed and Linear, theres nothing wrong with that as long as you still give the player plenty to do.

Imagine SA2's Green Forest, but instead of the rope swinging gimmicks and rails, there was nothing but tree trunks and huge, thick branches to run off of. Instead of having to use springs and vines to get to the canopy, instead you gain speed to run UP Trees and across crossing branches, jump from tree to tree and platform to platform and other scripted environmental objects to run off of and continue to find interesting ways to get to the destination.

I dont know, thats just me making an odd concept out of the current condition of your engine. Im just saying you DO need to fix the " i can scale any platform i want" thing, but i believe that if you wanted, you could make it a technique and gameplay gimmick for sonic to be able to still scale 90 degree walls and stuff like that (like he does in the cartoons/Anime/Opening CGs) as long as you, i dunno, hold a button down and are going an adequate speed.

doing that SHOULD take away your velocity, but if you implement a Dash function like in Sonic Rush / Unleashed, then you yet again have a sort of built-in gameplay gimmick that can be applied to every stage for new paths and stuff. You just have to know when/where to allow it through cleaver design. Instead of using the dash just to go hella fast, make them WANT to save it just for being able to do really cool stuff with the environemnt whenever they activate it. This allows you to eliminate alot of need for spamming springs.

Sorry, this is just something i was thinking about in the situation I was coding this engine.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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