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

New Game Maker Studio Sonic Engine


Recommended Posts

Taking a little break from Edge of Darkness, I decided to try and recreate Emerald Hill Act 1 in the Studio engine. I learned that I could just stretch out the terrain masks instead of making new ones. It's working out pretty well, actually.

 

7CGhODj.png

XMFAlxF.png

dDzoA5p.png

 

Perhaps this could be used as an example level in Aero's future builds of this engine, if the level is good enough.

 

After SAGE I'll probably complete the rest of it and post it on here and Youtube.

Link to comment
Share on other sites

level_goto_next() can send the player to the next level on demand, but does anyone know how to do the same for a specific level? Like, for a level select or to reset to the beginning without resetting stored data...

 

At the time, I didn't think about needing to skip ahead to specific levels. Use this script for now:

 

/// level_goto(room)
 
// get next room
objProgram.level = argument0;
 
// start level
transition_titlecard(objProgram.level, 24);
  • Like 1
Link to comment
Share on other sites

 

At the time, I didn't think about needing to skip ahead to specific levels. Use this script for now:

/// level_goto(room)
 
// get next room
objProgram.level = argument0;
 
// start level
transition_titlecard(objProgram.level, 24);

Awesome, works like a charm!

Edited by Riseodvi
Link to comment
Share on other sites

  • 1 month later...

New version now available! Here's a changelog: (it is also included with the editable)

GENERAL NOTES

 
New control scheme for global game functionality:
Alt + F4: force-quit.
F3: Double window size.
F4: Fullscreen.
F5: Scanlines.
"C" key: Free-roaming state. (Debug mode only)
 
Made various adjustments to code complexity too numerous to list.
Added inline documentation to almost all scripts.
objPath and objExampleQuicksand are now depreciated. (See "Rooms\Zones\Examples" for new examples)
Added proper Sonic 2 Title Card and Sonic 1 drown popup. (See "Objects\Scene\Overlays")
"Perfect Bonus" now added to objScoreCard.
Music queuing and playback is now handled by objMusic. (See "Objects\Game")
Direct playback overriding the priority queue is possible. (music_play)
Music overlays (eg. 1up music) now have their own playback function. (music_play_overlay)
Global sound effect volume can be adjusted. (audio_set_volume_sound)
Basic loading and saving functionality is available. (See "Scripts/Game/File")
On failure, the input_check* functions now return -1, not 0.
Can now "pause" the game from anywhere. (game_set_active)
Can travel directly to a specific scene as long as you know its scene index number. (scene_goto)
in_view now accepts a second argument for adjusting the offset of the view boundary.
The transition_* scripts were merged into transition_to. (See "Scripts/Scene/Overlays/Transitions")
Player bounding box size is now determined at character selection. (player_change_character)
State and state change scripts were merged together; state changes are now accessed by calling the corresponding state script using a negative number as an argument (usually -1; some special cases use lower numbers, such as jumping)
Listener position now updated in objZone instead of objPlayer.
DASH-style angle detection implemented for those wanting to construct custom masks. (See "Objects\Scene\Zone Objects\Parents\Collider")
objBridge code reworked to be one single platform instead of several smaller ones.
objSignPost must be deliberately touched now; simply passing its x-position is no longer enough.
objWater is now a customizable object that can be stretched to "fill" specific areas. (See "Rooms\Zones\Examples" for example usage)
Water-running can be disabled per-instance of objWater.
objConveyorBelt created in response to confusion around objExampleMovingPlatformH. The later no longer works like a conveyor belt.
objExampleCorkscrew now available. (See "Objects\Scene\Zone Objects\Specific\Examples")
 
 
RESOURCE CHANGES
 
SPRITES
New: sprTitleCardBorder (in "Scene\Overlays\Title Card")
New: sprTitleCardGame (in "Scene\Overlays\Title Card")
New: sprDrownPopup (in "Scene\Overlays")
New: sprWaterMask (in "Scene\Zone Objects\General\Water")
New: sprKnucklesFlipReverse (in "Scene\Zone Objects\Player\Characters\Knuckles")
New: sprSonicFlipReverse (in "Scene\Zone Objects\Player\Characters\Sonic")
New: sprTailsFlipReverse (in "Scene\Zone Objects\Player\Characters\Tails")
New: sprRhinobotDust (in "Scene\Zone Objects\Specific\Enemies\Rhinobot")
New: sprExampleConveyorBelt (in "Scene\Zone Objects\Specific\Examples")
New: sprExampleCorkscrew (in "Scene\Zone Objects\Specific\Examples")
 
Removed: sprExampleBreakableDebris
Removed: sprExampleQuicksand
Removed: sprPath
 
Edited: sprExampleEnemy renamed sprRhinobot
 
 
SOUNDS
Edited: bgmClear, bgmDrowning, bgmGameOver changed into .wav files.
Edited: bgmTest renamed bgmZoneEH
 
 
BACKGROUNDS
New: backScanlines (in "Game")
 
 
SCRIPTS
New: audio_set_volume_sound (in "Game\Audio")
New: music_play (in "Game\Audio")
New: music_play_overlay (in "Game\Audio")
New: load_controls (in "Game\File")
New: load_settings (in "Game\File")
New: save_controls (in "Game\File")
New: save_settings (in "Game\File")
New: scene_goto (in "Game\Program")
New: game_set_active (in "Game\Program")
New: collision_box_vertical (in "Scene\Genera\Collision")
New: transition_to (in "Scene\Overlays\Transitions")
New: player_reaction_corkscrew (in "Scene\Player\Physics\Reactions\Specific")
New: player_reaction_sign_post (in "Scene\Player\Physics\Reactions")
New: player_reaction_water (in "Scene\Player\Physics\Reactions")
New: player_get_surface_angle (in "Scene\Player\Physics\Rotation")
New: player_get_surface_angle_air (in "Scene\Player\Physics\Rotation")
New: player_set_wall (in "Scene\Player\Physics\Update")
New: player_is_slipping (in "Scene\Player\State\Functions")
New: player_is_debugging (in "Scene\Player\State\Specific")
 
Removed: transition_fade
Removed: transition_titlecard
Removed: player_landing
Removed: player_is_slide_standing
 
Edited: audio_clear_priority renamed music_delete
Edited: audio_play_priority renamed music_play_priority
Edited: audio_set_priority renamed music_add
Edited: level_goto_next renamed scene_goto_next
Edited: angle_distance renamed distance_to_angle
Edited: player_collision_ceiling renamed player_get_collision_ceiling
Edited: player_collision_floor renamed player_get_collision_floor
Edited: player_collision_object renamed player_get_collision_soft
Edited: player_collision_wall renamed player_get_collision_wall
Edited: player_movement_air renamed player_move_air
Edited: player_movement_ground renamed player_move_floor
Edited: player_update_ramp renamed player_can_launch
Edited: player_get_terrain_angle renamed player_get_angle
Edited: player_wall_eject renamed player_get_wall_offset
Edited: player_get_reaction renamed player_react
Edited: player_update_cliff renamed player_set_cliff_facing
Edited: player_get_terrain renamed player_set_floor
Edited: player_get_terrain_list renamed player_set_local_list
Edited: player_floor_transfer renamed player_set_mask_rotation
Edited: player_slope_factor renamed player_set_slope_friction
Edited: all player_state_* and player_is_* scripts were merged together; see general notes
Edited: player_state_standby renamed player_is_waiting
 
 
TIME LINES
New: animKnucklesCorkscrew (in "Zone Objects\Player\Characters\Knuckles")
New: animSonicCorkscrew (in "Zone Objects\Player\Characters\Sonic")
New: animTailsCorkscrew (in "Zone Objects\Player\Characters\Tails")
New: animShieldLightning (in "Zone Objects\Player\Effects")
 
Removed: animShieldLightningFront
Removed: animShieldLightningBack
 
 
OBJECTS
New: objMusic (in "Game")
New: objSceneObject (in "Scene")
New: objDrownPopup (in "Scene\Overlays")
New: objCurveConcaveAuto (in "Scene\Zone Objects\General\Terrain Masks\Experimental")
New: objExampleConveyorBelt (in "Scene\Zone Objects\Specific\Examples\Moving Platforms")
 
Removed: objInputDummy
Removed: objCapsuleSwitch
Removed: objPath
Removed: objExampleQuicksand
 
Edited: objProgram renamed to objGame
Edited: objTitlecard renamed objTitleCard
Edited: objScorecard renamed objScoreCard
Edited: objLevel renamed objZone
Edited: objField renamed objTrigger
Edited: objNonSolid renamed objColliderSoft
Edited: objSolid renamed objColliderHard
Edited: objSceneObject renamed objZoneObject
Edited: objExampleEnemy renamed objRhinobot
Edited: objExampleBackground1 renamed objExampleBack1
Edited: objExampleBackground2 renamed objExampleBack2
 
 
ROOMS
New: zoneTest3
 
Edited: startup renamed roomStart
Edited: test_level renamed zoneTest
Edited: test_level_2 renamed zoneTest2

Edited by VectorSatyr
  • Like 2
Link to comment
Share on other sites

  • Recently Browsing   0 members

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