Open Surge Forum

A fun 2D retro platformer inspired by Sonic games and a game creation system

You are not logged in.

Announcement

Our community has moved to Discord! https://discord.gg/w8JqM7m

#1 2019-10-23 01:12:58

SGWaS
Member
Registered: 2017-08-29
Posts: 92

OutRun minigame (legacy)

Hey, it's been a while since I posted here.

Before I get into what I made this topic about, I'm really impressed at all of the work that's been done over the past year with the Open Surge Engine and the SurgeScript language, especially with the fact that it is entering into SAGE. I may look into learning SurgeScript in the future, but since 0.5.0 still supports the legacy script, I will continue with that for my Sonic in the MSS fangame for now.

I've done a couple things with the fangame since I last commented on it, like updating it to 0.5.0 to make it compatible with SurgeScript and have widescreen support. Probably the most interesting thing I've done since that time is something I made just recently, which is a small minigame for the end of Silent Sands Act 1 (the level with the whale chase) where Sonic gets into the Ferrari from OutRun and the player controls the car in a pseudo-3D environment, reminiscent of the aforementioned Sega arcade game. The fangame is supposed to have lots of Sega references in it, so I think having this section is pretty cool as not only a reference, but to show off the capabilities of the engine.

Right now I only have screenshots, but I will probably share a bit of the code (and/or all of the assets) in a little bit. The code might be a bit useless anyway since it's in the legacy language, but it would still be neat to share anyway I think. smile

s008.png

s010.png

s011.png

s012.png

s014.png

Last edited by SGWaS (2019-10-23 01:18:54)


-SGWaS

Offline

#2 2019-10-23 17:16:47

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,272
Website

Re: OutRun minigame (legacy)

Hey SGWas, that's quite interesting! Do you have multiple cars on the road? Seems amazing! big_smile

You might consider to release this minigame alone, so beginners can learn from you.

SGWaS wrote:

The fangame is supposed to have lots of Sega references in it, so I think having this section is pretty cool as not only a reference, but to show off the capabilities of the engine.

It's what we say: you can make all types of games with Open Surge, not just platformers. You're giving proof.

SGWaS wrote:

I may look into learning SurgeScript in the future, but since 0.5.0 still supports the legacy script

It's a good idea to work with SurgeScript from now on, even for future compatibility, because the legacy scripting will be dropped.

SGWaS wrote:

Before I get into what I made this topic about, I'm really impressed at all of the work that's been done over the past year with the Open Surge Engine and the SurgeScript language, especially with the fact that it is entering into SAGE

Thanks! The project has evolved a lot, indeed.

Great work man, looking forward to seeing your demo wink

Offline

#3 2019-10-24 01:47:15

SGWaS
Member
Registered: 2017-08-29
Posts: 92

Re: OutRun minigame (legacy)

Well, although I don't want to release a MOD of this, I can provide all of the assets and the code to run it in an existing version of the game.

https://drive.google.com/open?id=1a3uzl … mJYRGMiJog

It does take a bit of setup though.

Essentially what should be done for setup is...

1. (optional) Placing however many of the "brick44" objects you may need to act as an invisible wall just above the Ferrari so Sonic can't jump over it to continue through the level (I included 21 of these objects named as such, and only one can be used at a time in the setup since ferrari.obj is programmed to destroy these 21 objects only once; repeated use of the same "brick44x" object will result in only one getting destroyed).

2. Placing "killplayer2" on the right side of what would be the road and "killplayer3" on the left; these two objects send the car off the road and kill the player if they go too far on either side of it.

If I would recommend a number for the offset from the bottom invisible barrier to put them at, it would be (216, 80) for killplayer2 and (-248, 80) for killplayer3. Just play around with it and see what works, but it should look roughly like the image here:

unknown.png
Apologies for sloppy handwriting, doing it with a mouse is not an easy task for me... hmm

Anyway, after that is done, everything should play fine. You can control the Ferrari's movement from left to right, collect rings and avoid (or run into) hazards such as spikes and an assortment of other cars (8 different types are included and functional, and 2 are used in the default code). I may explain how exactly all of this works in another post, and I will admit that there is definitely room for optimization in this (which is most evident by the mere existence of a setup process, when the brick44 and killplayer objects could be spawned automatically from the Ferrari object file. I may fix that in the future).

Despite that, I hope that this is at least an interesting piece that I made here. smile

Last edited by SGWaS (2019-10-24 01:54:53)


-SGWaS

Offline

#4 2019-10-24 02:48:46

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,272
Website

Re: OutRun minigame (legacy)

SGWaS wrote:

Placing however many of the "brick44" objects you may need to act as an invisible wall just above the Ferrari so Sonic can't jump over it to continue through the level

Why not declare player "None" in the .lev file, so you don't have to worry about the player at all? Player "None" disables the platformer physics completely. It's used for cases like this (also menus, etc.)

SGWaS wrote:

I will admit that there is definitely room for optimization in this (which is most evident by the mere existence of a setup process, when the brick44 and killplayer objects could be spawned automatically from the Ferrari object file. I may fix that in the future).

One suggestion would be to let the car run at full speed within a range in the x-axis that you define in your code, rather than setting up these killplayer objects. In SurgeScript, this range could be easily set up with public variables. smile

SGWaS wrote:

Anyway, after that is done, everything should play fine. You can control the Ferrari's movement from left to right, collect rings and avoid (or run into) hazards such as spikes and an assortment of other cars (8 different types are included and functional, and 2 are used in the default code).

The creativity is amazing, and it makes me happy to see that every once in a while you guys come up with non-platformer bonuses. Now if you could make a background compatible with the racing game, put some trees and etc. that would be an amazing polishing big_smile Feels like to play a retro SEGA game.

Offline

#5 2019-10-24 21:05:35

SGWaS
Member
Registered: 2017-08-29
Posts: 92

Re: OutRun minigame (legacy)

Alexandre wrote:

Why not declare player "None" in the .lev file, so you don't have to worry about the player at all?

I do know about using "None" for the player, and I decided not to use that here since the OutRun minigame will be activated within a level that has Sonic set as the player in the .lev file--basically just as a neat and unique way to end off the level while referencing another Sega game, which is a recurring theme in Sonic in the MSS.

Thank you for the suggestions though, they will help with me when developing this further. I may also use the pseudo-3D technique for the game's special stages in later zones. big_smile


-SGWaS

Offline

#6 2019-12-26 05:47:51

Just John 43
Member
From: UK
Registered: 2019-12-26
Posts: 25

Re: OutRun minigame (legacy)

Oh wow, this is amazing and seeing this gives me hope when I read "your imagination is the limit".

I would like to do something similar for special stages based on the minecarting from Sonic 2 on the SMS in my own game.

Offline

#7 2021-07-09 22:57:46

Alexandre
Administrator
From: Brazil
Registered: 2009-01-27
Posts: 3,272
Website

Re: OutRun minigame (legacy)

I am reuploading this work for the purpose of historical preservation.

Title: OutRun minigame by SGWaS
Made for: early Open Surge 0.2.0 (use build 760+)
Year: 2019

Download

You need early Open Surge 0.2.0 to use this work.

Offline

Board footer

Powered by FluxBB  hosted by tuxfamily.org