-
Posts
434 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Posts posted by Haydenmango
-
-
Hi peoples. I've been working on a little snowboarding game for a while now and I wanted to share it.
ROGUE SNOWBOARDING is a snowboarding game inspired by Tony Hawk N64, SSX Tricky and 1080 Snowboarding. The concept is to mash old school arcade board sports with a roguelike design.
Result is -
pretty neat arcade snowboarding mechanics, maps with some procedurally placed objects, randomly generated leaderboard scores to beat, permadeath, rpg stats, unlockables for other modes, and more.
Career mode with 4 difficulty tiers and a final halfpipe map. Get a high enough score on the leaderboard to move to the next tier. Try to avoid taking too much damage because if you die it's game over.
Trick Attack mode where you can play with maps and boards you've unlocked from career mode. Maps leaderboard scores are based on your highest score on that map to add some extra replayability.
You can get the game from my dropbox here - https://www.dropbox.com/sh/pcgrhz62d4ugce3/AAAWKZTtC9ySULSvAZr88U-ja?dl=0
Let me know if you have any questions or feedback!
- 2
-
Oh wow I had no idea System:Set/GetProperty() saved/read a cfg file, derp. Shows how much I mess with file system stuff I guess haha. I'll just use that instead of making my own system, thanks!
-
Hi all!
I've been trying to get a save file system working and I've got to the point where I can write the savefile.txt as well as the data I'd like within it. Now I'm trying to read the data I've written on startup to apply the savefile changes. I am stuck trying to figure out how to use Stream:Seek() and Stream:ReadLine() to do this.
Here is what my code currently looks like:
savefile=FileSystem:ReadFile("snowboardingsavefile.txt") --create savefile if it doesnt exist if savefile==nil then savefile = FileSystem:WriteFile("snowboardingsavefile.txt") --setup first time window resolution gfxmode.x = System:GetProperty("screenwidth",gfxmode.x) gfxmode.y = System:GetProperty("screenheight",gfxmode.y) windowstyle = Window.Fullscreen System:SetProperty("fullscreen","1") --write graphics settings to savefile savefile:WriteLine(gfxmode.x) --x resolution savefile:WriteLine(gfxmode.y) --y resolution savefile:WriteLine(1) --fullscreen local quality=System:GetProperty("lightquality") savefile:WriteLine(quality) quality=System:GetProperty("terrainquality") savefile:WriteLine(quality) quality=System:GetProperty("texturedetail") savefile:WriteLine(quality) quality=System:GetProperty("anisotropicfilter") savefile:WriteLine(quality) quality=System:GetProperty("verticalsync") savefile:WriteLine(quality) --write audio settings to savefile System:SetProperty("currentsong","0") System:SetProperty("ambientvolume","0") System:SetProperty("musicvolume","0") System:SetProperty("effectvolume","0") savefile:WriteLine(0) --currentsong savefile:WriteLine(0) --ambientvolume savefile:WriteLine(0) --musicvolume savefile:WriteLine(0) --effectvolume --write unlocked maps to savefile last maplocked={} maplocked[1]=false maplocked[2]=true savefile:WriteLine(0) savefile:WriteLine(1) else --apply savefile maplocked={} for a=1,14 do savefile:Seek((a-1)) System:Print(savefile:ReadLine()) System:Print(savefile:GetPos()) savefile:Seek((a-1)) if a>12 then if savefile:ReadLine()=="1" then maplocked[a-12]=true else maplocked[a-12]=false end elseif a==12 then System:SetProperty("effectvolume",savefile:ReadLine()) elseif a==11 then System:SetProperty("musicvolume",savefile:ReadLine()) elseif a==10 then System:SetProperty("ambientvolume",savefile:ReadLine()) elseif a==9 then System:SetProperty("currentsong",savefile:ReadLine()) elseif a==8 then System:SetProperty("verticalsync",savefile:ReadLine()) elseif a==7 then System:SetProperty("anisotropicfilter",savefile:ReadLine()) elseif a==6 then System:SetProperty("texturedetail",savefile:ReadLine()) elseif a==5 then System:SetProperty("terrainquality",savefile:ReadLine()) elseif a==4 then System:SetProperty("lightquality",savefile:ReadLine()) elseif a==3 then System:SetProperty("fullscreen",savefile:ReadLine()) elseif a==2 then System:SetProperty("screenheight",savefile:ReadLine()) elseif a==1 then System:SetProperty("screenwidth",savefile:ReadLine()) end end end
So my problem is that ReadLine() isn't returning the next line I expect it too. I'm not sure what values to input into Seek() to move to the next line in my text file. Any help would be very much appreciated!
I'll also attach the text file this script creates on my computer to this post to show what it looks like.
-
Oh, nice!
Didn't know widget:SetRange() was a thing. Just tested it out with my gui and it's working perfectly. Would be cool to add that command under one or more of the sliders you make in the documentation example.
Thanks Josh!
-
I created an audio options menu that has sliders for different sound sources. The problem is the sliders range seems to be 0-9 and I want it to be 0-10. I looked in the documentation, these forums, and through the slider script but can't figure out how to change the range.
Is there anyway to change the slider range?
-
Update: Looks like Josh decided to work on this!
-
So based on the lack of direct responses to my question "Is there no way to add more constraint/tightness to hinge joints?" I will assume the answer is that there is currently no way to do this.
If there is a way to do this someone please tell me, I really really really want to get this to work properly. I've had so many ideas for using joint physics lately but 90% of these ideas (pretty much any idea involving moving joints) won't work accurately without the ability to constrain/tighten the joints.
If there really is no way to do this currently could this topic be moved to the suggestion box please?
-
In my edit I describe how this occurs with just csg boxes and hinge joints as well. You can play the Castle Defender game on the workshop to see it happening for yourself.
Is there no way to add more constraint/tightness to hinge joints?
- 1
-
I mean the tightness of a free spinning joint.
For example: Parent and child of hinge joint are both children of a jumping character. The child of the hinge joint is way too slow to follow the character while they are jumping or even walking slowly.
So if I used a weapon or even hair as the child it would appear to be floating behind the player as it catches up.
Is there any sort of constraint or tightness value I can tweak to make the child react quicker?
edit: Come to think of it I had the same issue in my Castle Defender demo game I made. The enemies were made of csg boxes connected by hinge joints so when you picked them up they could ragdoll. The issue appeared when the enemies were moved quickly or thrown as the connected body parts of the enemies would fly in every direction instead of holding together (it was pretty funny in that game though so I never thought to look into it).
-
Is there any way to increase how fast the child of a hinge joint reacts?
I am trying to add physics based dangling accessories to an animated character for fun and it is working but the hinge joint reacts too slowly to the movements which makes it look weird.
Just for extra info I'm not currently in the beta.
-
I lost all my favorite photos on my old computer sadly.
All I have left are a couple of videos on my youtube channel and I watch them occasionally to reminisce. It's not a photo but here's my favorite hiking compilation video I made that captures some of my favorite hikes in Hawaii.
2:59-3:42 is the best part
- 2
-
I ran into this as well when making custom collision shapes for my trees. All my trees in my game (Hunt For Food) are un-collapsed just to keep their physics shape and I'm quite sure that is hurting performance.
It would be ideal if the collision shape could be kept but the collision mesh child removed when collapsing a model.
-
It takes a few minutes, maybe 5-10 minutes, to recache when you change the visibility. Do you think that was the cause of the delay after you set it to public, or was it a really long time?
Yeah that could've been it but I did wait around 5 minutes to see if it would show up on the launcher after changing the visibility. It's definitely possible that I just didn't wait long enough though, I would need to test it again to be sure.
-
Finally got my game to show up after deleting it from my workshop and publishing a new public version.
What was weird was that the first time I uploaded my game as private it wouldn't show up (which is intended I guess) but even after changing it's viewing mode it still would not show up. Bug report can be closed I guess.
-
thats not how character controller works.
I know that now but the way it works was unexplained until this thread existed which is why I was confused.
The current documentation mentions nothing about slowing down on slopes so I assumed that my character controller was moving at a consistent speed.
-
I published a private version of my game Snow Rider to the workshop but it is not showing up in the game launcher after 30+ minutes of restarting it constantly. The game is appearing in my workshop and I can subscribe to it and edit it.
Is there a limit on the amount of shown games on the game launcher?
I ask because there are 99 games showing for me currently which seems fishy...
I am running in 3840x2160 resolution if that makes any difference.
edit- tested game on friends-only and public viewing modes and restarted the game launcher each time but my game still doesn't show.
-
Does it even pay to use physics? Just align the board to the terrain and move it without physics engine. Messing around with forces would probably result in clumsy controls for the player. In snowboarding games you don't normally fall when doing straight down, it's usually when doing tricks and not landing them right, which probably would suck and be less epic with real physics systems.
I have learned that I should probably use simulated physics for snowboarding games instead of actual physics and will do that in the future. I did use physics for collisions with vegetation and rocks to hurt the player but that could probably be simulated as welI. Also it was simply easier for me to just use the character controller and it's commands rather than creating my own new system due to the time constraint of the tournament.
I just thought that the character controller should move at a set consistent speed since there was no documentation saying otherwise. I believe that any slowing down on slopes should be handled by the user but am fine if this is the way it will stay. At least I know how it works now.
-
u want snowboard slide effect u change friction, not movespeed. that cause issue. not engine fault.
too much movespeed u make player flying in the air. u not see this in ur example because it happen very quickly.
And that explains why it happens going uphill too right?
-
-
The player controller was never intended for making a snowboarding game, although that might be a good use if we can figure out a way to make it work. I have never heard of anyone using it in this manner until maybe an hour ago.
I have recently tried another approach to this, that never saw the light of day, but it was a failed attempt and I am working with the author of Newton physics to make something better. I don't know if this will solve your particular case, and I am not attempting to make anything except a basic character controller, but it is something I have been experimenting with:
http://newtondynamics.com/forum/viewtopic.php?f=9&t=9014
I can't really say anything more than that right now because I don't know what will actually work. I'd like to be able to provide more robust player physics, but I am still figuring out how.
I'd say just publish the game, with the understand it isn't going to be perfect in the time allotted, and maybe it is a new usage of the player physics I did not think of that can be incorporated into future development.
All I have to say is I am using very basic character controller commands to make an arcade snowboarding game. It is not ultra realistic, it is just jumping and moving around so it really shouldn't require some super complex character controller. I do hope to see improvements to this issue in the future since it affects literally every project using character controllers for movement.
The game will be published because it works pretty damn well even with all the issues. I should have it published later today or tomorrow.
i dun have the problem.
yes you do, go test it using the same script changes I did In the video I linked to you and you will get the same results. I doubt you will though, just seems like you want to be annoying.
-
curious, ur making snowboard game. did you change physics config or something? friction? elasticity?
i use character controller in terrain many times, not got this problem ever. so problem likely on ur end.
Watch this:
Then read the response by Josh -
I don't see anything out of the ordinary here. The player cannot climb a slope steeper than 45 degrees, and it makes sense that it might slow down when going up a hill.
It can slow down when going down a slope, because the character is periodically "airborne" and has less traction for small moments of time.
You have this problem too, it's not on my end. Stop making baseless accusations.
-
Alright so you don't want to do anything about this and are basically just saying this is intended. Close the bug report, it's done.
I think you will be surprised how well the character controller works in my snowboarding game (even with all these bugs) based on how impossible you think it is.
Also can you document this "feature" somewhere so people know what to expect?
-
I don't think the character controller is appropriate for a snowboarding game. I wouldn't even attempt to use physics for such a thing, because the physics of snowboarding are really complex. I would probably do this with a pick command with a radius, and keeping track of velocity myself.
........ thanks. I have a pretty good set up and this is the one major issue holding back my game so you telling me to completely rethink my game because you are unwilling to address this issue (that affects more than just snowboarding games) is very disappointing. You didn't even attempt to answer my question -
Basically: Why is there some sort of invisible code forcing the player to slow down when slopes are above 20 degrees and can that be removed so that I can have more control over my game?
If not could these things at least be documented somewhere so that people don't have to go through all the frustration of figuring out why their character is slowing down for no reason?
-
Well slowing down to half of the speed you enter into SetInput shouldn't be ordinary because it ruins any game where movement speed is important.
When going down the slope I can confirm you slow down while not being airborne. So that doesn't really make any sense.
In my tournament game you are a snowboarder going down slopes and you slow down once the downhill slope gets >20 degrees. This ruins your momentum and it doesn't make any sense because you are going downhill. This specific bug (feature?) completely ruins my game.
Basically: Why is there some sort of invisible code forcing the player to slow down when slopes are above 20 degrees and can that be removed so that I can have more control over my game?
If not could these things at least be documented somewhere so that people don't have to go through all the frustration of figuring out why their character is slowing down for no reason?
Rogue Snowboarding
in Showcase
Posted
That's great to hear, thanks Josh!
I did spend a lot of time tuning the player mechanics, they should be pretty solid. Still going to change the maps more and fix some other issues probably. The map design in particular could be much better with more variety and depth if I develop it further.
Pretty happy with how it all turned out, thinking of trying surfing next!