Page 1 of 1

2.82 SSP Mode-Variables not carried forward? & new UI

Posted: April 14th, 2015, 11:42 am
by palm tree dreamin
Hi there,
I am new here. You can call me Myst.
I am hoping someone can help me with this.
In 2012, I began with Sandbox , using version 2.71. I was looking for an rpg game builder. SB wasn't quite what I was looking for, at the time, so I just left it on my machine. Recently, I re-discovered the sidescroller-SSP mode, and how to launch it properly, so the camera angle is correct, duh. It was impressive, once I began to understand how it works. After weeks of testing and documenting, I was just about to begin building when I saw the change log for 2.82. There are moving enemies and platforms? That's just what I was looking for! How great is that??

Unfortunately, the ONE thing, I feel my sidescroller needs to have, seems to be missing from 2.82:
In 2.71, any armor, weapon/projectiles, coins, and lives all transferred to the the next map I loaded from the end checkpoint. In 2.82, it appears they do not. Am I correct? Is it no longer possible to transfer player stats to the next level in SSP mode?

I really want to have the platform and enemy movement, but I also want to have whatever the player has in the hud continue into the next level. I want them to be able to buy stuff with their coins or extra lives. I want them to get the special armor in one level and return to a previous level to use it to be able to "complete" that level (get all the coins, bananas, whatever). This worked in 2.71.

I downloaded 2.82 yesterday, and I have not quite figured out the ui replacement for guis. I got the uis functioning for the game, but since I don't know if the syntax is actually correct, I don't know if that could be messing with the level transitions.

Here is my 2.82 UI code from mygame.cfg file:

Code: Select all


// This is the checkpoint for the end of the game, where you get your password and continue on to the next level.
	checkpoint_0 = [
	showendlevel 
	//old showgui win
 ]

//This is the end level gui. It can be placed on a checkpoint end level item.

UIMenu "endlevel" [ 
	uivlist 0 [
		uitext "**** Congratulations! ****"  2 
		uispace 0 0.025 // this is a spacer! The larger the number the bigger the space
		uitext "Hey, you made it! You finished this level! Well done!"  1.5
		uitext "Here is your password, for the next level. Be sure to write it down!"  1.5
		uitext "PASSWORD = xxxx  (passwords are case sensitive!)"  1.5
		uitext "Just click the button, below, to continue on to Level 2!"  1.5
		uitext "If you are done playing the game, just click the Goodbye button."  1.5
		uitext "You can return and use your password, to continue your game."  1.5
		uitext "Note: If you forget, you will have to start at the beginning."  1.5
		uispace 0 0.025 

//The variable/alias "mapactionname" is written into the 2.71 main game as "temp" If you use it anywhere, be sure to define it.
//*********************** CHANGE THIS EVERY LEVEL!!!  ********************
	mapactionname = "mytemp2"	
		UIButton "Head Over To Level 2, Now!" [ map $mapactionname ] 
		uispace 0 0.025  
		UIButton "Goodbye - Exit Game Now!" [quit]
		uispace 0 0.025 
	]
]	"You Win!" 

So, to sum it up:
1. Is it possible to carry health, lives, armor, projectiles, and coins into the next level, using 2.82?
1a. If not, or if it would be easier, how would I go about getting the enemy animation and platform code (oh yes and the box explosion code) into 2.71 and recompiling?

2. Is my UI formatted correctly, or how should it be formatted for better function?

BTW- I don't know c++, but the syntax is similar to some other codes I have worked with. If I know which chunks of code need to go on what cpp/h page and the format/syntax does not have to change, I think I can figure it out.

Sorry, if my post is too long. Thanks, for any assistance with this!

Credendo Vides

Re: 2.82 SSP Mode-Variables not carried forward? & new UI

Posted: April 21st, 2015, 9:13 am
by Hirato
If you're still interested in the RPG side of things, you could perhaps check out Lamiae: https://github.com/Hirato/lamiae


Your GUI will work just fine.
It's not exemplary but it will do the job.
And I can't comment much more without seeing the rest of it in action as well.


As for the why items don't transfer to different levels, that's simply due to how the SSP module was mis-designed.
If one level defined all the items a certain way - for whatever stupid reason I decided to let people define all the tokens - and you then went to another level that defined items completely differently, you'd either crash or see some really glitchy behaviour, and people can just reset this willy-nilly too.
That change was basically to avoid that from switching levels, doesn't really fix the cause, only alleviates the symptom...
The entire thing needs to get redone from scratch, I had next to no idea what I was doing back then; I just tried to poorly ape whatever quin did for sauermod.

It shows a lot in the RPG module of sandbox too, the first iteration took a lot of inspiration from eisenstern, along with all of its problems of being static, rigid, but very simple and aproachable. I started to crave more complexity so I ended up tacking on a lot of stupid, very badly coded stuff - if you go grab an old release, somewhere around 2.6.x - I don't remember, our SVN's not up anymore with the changelog - I did some catastrophically dumb stuff, for example, I had a reference enumerator that numbered every entity in the game from 0 upwards, this included maps, and this changed all the time, and there was some really dodgy scripting slots that could take these numbers. Basically the entire thing was an awful unsalvageable mess. Incidentally this is why the Eisenstern reborn project just failed, there were about a dozen coders all adding hacks upon hacks onto more hacks until it's just a complete broken mess no one wanted to fix.
The SSP module is in a pretty similar state.

Re: 2.82 SSP Mode-Variables not carried forward? & new UI

Posted: April 24th, 2015, 8:23 am
by palm tree dreamin
Thank you, Hirato!
Since the rpg I was making was really for my own pleasure, I just used Bethesda's Morrowind construction set. Still, it took a couple of years for me to get the land the way I wanted, gather all the assets (music, models, etc), develop the storyline, and dialog. I suppose that is why I became interested in the sidescroller. I can make fun games, one level at a time, as simple or complicated as I like, and it only takes a few days for a level. Near instant gratification.

Judging from what you say about the coding, I suppose the SSP mode is not the place to learn C++. No matter. The mode works for me.

I was able to transfer the code for the monsters and the platforms to 2.7.1, by searching the new 2.8.2 SSP files for the references and adding/replacing the relevant parts. So far, it works for my machine. I have 2 levels semi-finished and am just linking them together today. I used a gui to transfer to the next map.
If one level defined all the items a certain way - for whatever stupid reason I decided to let people define all the tokens - and you then went to another level that defined items completely differently, you'd either crash or see some really glitchy behaviour, and people can just reset this willy-nilly too.
I not sure I understand tokens. You're talking about things like "addcoin rpg/objects/coin/copper 1"? Since there might be maps by many different people, if I play my map, then switch to your map, there might be contradictory definitions? Since I am only designing for one game, this won't be an issue(I hope).
What about the scripts? Do I need to make sure that the script "box_1" is only defined one time throughout the levels or can that slot be changed on each map?

As bad as you say the code is, it is pretty fun! I like the camera angle of the side scroller. Now, if you could add a camera angel option and timer to either fps or rpg mode, then anyone using that system could create a side scroller and you could forget about making over the SSP.

If you don't mind, I have a couple of more questions...

Since there are no triggers... Is there a command that I can put into a script to make the player respawn, either at the save or start checkpoint? I have tried heaps of code, but it always says "unknown command" or edit only command.
I would like to have the player find the "big coin" before completing the level. If they haven't found it yet, the player is presented with a gui that tells them they need to find it and moves them to the previous checkpoint until they do. I also want to use it for the player when the time runs out.

Also, I understand that the trigger system is in fps game mode. Did you try to add this to SSP? Could I take the trigger code and put it in my game, or do you think it might break something? I would like to be able to script something like a door or gate opening, or something disappearing.

Thanks, again, for your help!

Credendo Vides :D

Re: 2.82 SSP Mode-Variables not carried forward? & new UI

Posted: April 29th, 2015, 8:56 am
by Hirato
palm tree dreamin wrote:
If one level defined all the items a certain way - for whatever stupid reason I decided to let people define all the tokens - and you then went to another level that defined items completely differently, you'd either crash or see some really glitchy behaviour, and people can just reset this willy-nilly too.
I not sure I understand tokens. You're talking about things like "addcoin rpg/objects/coin/copper 1"? Since there might be maps by many different people, if I play my map, then switch to your map, there might be contradictory definitions? Since I am only designing for one game, this won't be an issue(I hope).
I mean people can reset the list of items whenever they want to, the command iirc, was 'resetpickups"
Let's say you pick up a weapon, this weapon is item #5, so you have a link to item #5.
You then transfer to a new map, and then item #5 is actually a sack of coins, but you still try to treat item #5 as a weapon on the character. *CRASH*
What about the scripts? Do I need to make sure that the script "box_1" is only defined one time throughout the levels or can that slot be changed on each map?
It would be a once per level thing, unless you do it inside ssp/game.cfg - keep in mind the content is saved in the art cfg.
As bad as you say the code is, it is pretty fun! I like the camera angle of the side scroller. Now, if you could add a camera angel option and timer to either fps or rpg mode, then anyone using that system could create a side scroller and you could forget about making over the SSP.
Having sort of "Pseudo cutscenes" purely for third person camera control without taking control away from the player has been on my todolist for a while now.

Since there are no triggers... Is there a command that I can put into a script to make the player respawn, either at the save or start checkpoint? I have tried heaps of code, but it always says "unknown command" or edit only command.
I would like to have the player find the "big coin" before completing the level. If they haven't found it yet, the player is presented with a gui that tells them they need to find it and moves them to the previous checkpoint until they do. I also want to use it for the player when the time runs out.
The closes you have is /kill, which If i recall correctly, was changed into /nap for reasons.
Also, I understand that the trigger system is in fps game mode. Did you try to add this to SSP? Could I take the trigger code and put it in my game, or do you think it might break something? I would like to be able to script something like a door or gate opening, or something disappearing.
I haven't tried, I wanted to attempt my own thing, but I never got around to it.
You're welcome to try though.
Lamiae has its own stuff and also really awesome area triggers.

You can probably add a function to get the player's current position and compare it with a bunch of lists in cubescript to simulate triggers.
Basically how the guy who did the really awesome anticube2 map handled triggers (which you should totally check out).


Re: 2.82 SSP Mode-Variables not carried forward? & new UI

Posted: May 23rd, 2015, 5:47 am
by palm tree dreamin
I just wanted to say thanks, Hirato, for all your help and update about my progress with SB.
If you're still interested in the RPG side of things, you could perhaps check out Lamiae: https://github.com/Hirato/lamiae
I did download the program and the codeblocks nonming version, but I am still running 32 bit windows xp and it throws some 64 bit error and won't compile. So, I guess I will have to wait until I upgrade to my next laptop...
The closes you have is /kill, which If i recall correctly, was changed into /nap for reasons.
I tried the commands kill and nap, but they didn't work in SSP. No matter, I found the command in the source and copied it over, now it does. Since it was not quite what I was looking for, I made a "go_back" respawn command that works fine. I also made a couple of others, like hurt player, heal player, and set music volume.

The trigger system is now in my SSP. It took some entities changes(fps to ssp), but seems to work, just fine. Doors open instantly, but the disappear trigger seems to lag a little(a lot longer than pickups). Maybe I will have to tweak that a little.

I also managed to add a script slot for the platforms. Adding the platform script took me the last couple of weeks, because I don't know C++ and could not figure out how to get the darn thing to recognize I was touching it. I got it to run my script easily, but it would only run it when the platform was hitting the platformroute. Still, through tinkering, I finally figured out that I had put the code in the wrong place (update). When I moved it over to the render section, it worked like a dream. This means that I can use a "pounder" model, to come up/down from the ground/ceiling, and if the player touches it, ouch!

This has been a really fun adventure in coding, especially since I just have to hack away. As long as it functions on my machine, I am happy. There are only a few more things I want to do with the source code, before I get back to level building. Again, thank you for all your help about the game. It really gave me the courage to just jump into the source code, and make the game the way I wanted.

~Credendo Vides :D

Re: 2.82 SSP Mode-Variables not carried forward? & new UI

Posted: May 24th, 2015, 12:31 am
by Hirato
To build lamiae for 2bit only, just select '32bit release' from the build target dropdown.

Otherwise, it's good to know you're having fun!