(69 replies, posted in General)

Glad to see things moving smile

Regarding the old scripting system I have quite a few things to say. most are indeed related to scripting, others to some things I found in the engine that I believe could be changed for the best.

So, first off we have this: The scripting API is very simple to learn, and allows beginners to quickly implement behaviors into objects in the game. Though simple, it offers also more advanced features like fast loops (which NOTE: will most likely freeze your computer if you don't know what you're doing roll ), retrieving data through internal functions and allowing you to create your own functions with the execute command! It's marvelous, I mean it! Though if I am honest, the engine could be improved and offer users more real-time control of some things.

  • Allowing private variables to be set per instance, in the editor and through scripting

Using parent/child relations to take care of this is exhausting. Why not let the engine assign one ID to each object and display it in the editor? Maybe even showing a little info on mouse hover. maybe the mouse could behave a bit differently, as in today you have modes for group, brick, object and built in objects. how about an "info" mode where you can only click objects to edit their starting properties (variables)?

  • some nitpicks and annoyances

Collision rectangle for the player is hard coded, noticeable in interaction between player and bricks. no matter how big the sprite, the collider fits into a small gap. if the sprite is smaller than this collider, it causes the player sprite to apparently collide with something it is not touching, when in reality the physics collider is doing this.

Background visible in editor, if possible let us set its parameters and load/save BG and BRK from there smile

The possibility to build a brickset just by loading separate images for each brick. maybe a separate tool.

characters should be allowed to stop on slopes. depending on what the creator is trying to do, this might be blessing or damnation. in my case, since i'm not focusing on sonic fangames or games inspired by sonic, it's a damnation. if this could be defined through scripting it would be perfect. you could do anything from slippery ice to spider man cool

it would be nice to have the sonic physics affect every objects using the "gravity" command, because objects don't know how to go over a slope without some workarounds like a "while" loop in the object's script constantly pushing the object up when it overlaps a floor brick.

creating local multiplayer games shouldn't be so hard and require so much working around. I'm not sure how to tackle this, but something like "set_controller playerX" rather than the usual "observe player" and "set_inputmap" BUT don't remove the latter, as it allows for so much more, like objects that manage extra controls or hotkeys.

that's all i can report for now. if I find something new I'll keep you posted smile

I mean, in an on_collision condition, is there a way to know where both objects are touching? I'm not sure what you mean with "bounding box method"

Hi all, it's been a while smile

so I decided to pick up Open Surge again, as my engine of choice to create an arcade game.

One thing that struck me, is if it is even possible to determine the middle point of a collision, like where one object intersects the other. That I was never able to figure out, and don't even know if it is technically possible with the current API.

thoughts? roll


(32 replies, posted in General)

I'm eager to try. Any chance you will add some of my hacks as optional features?


(32 replies, posted in General)

Alexandre wrote:

I've been working on improving our scripting language.

Sounds interesting. Any specifics?

Also, how's the A5 port going?


(1 replies, posted in General)

I believe the cutscenes use that technique. you might want to look in the cutscene scripts


(32 replies, posted in General)

Bump roll

What's up? I miss working with this engine ^_^


(3 replies, posted in General)

I'd recommend you to try GraphicsGale, as it can export sprite sheets and lets you align and center your sprites with frame-by-frame or animated preview.

It saved me a lot of trouble with putting sprites on grids and centering them.

I reccomend you switch over to Vim or Notepad++, as they are more suitable for programming, with automatic bracket completion and line count, for example

Race the Hedgehog wrote:

Yes, I'm using an KZR's older build. Thank you for making this possible

Ah the multiplayer hack, man it's been a while... I just followed Alexandre's instructions, all I really did was compiling the executable tongue

That should be made official, by the way.

I would say, create 4 invisible players, attach an object to each one and control the animations (and possibly attributes like speed, strength, jump height, etc) with variables and script commands. Sounds hard, but will give you a lot more flexibility.


(11 replies, posted in General)

play the music track as a sound effect. in theory, you can even program a basic sequencer inside the engine through scripting only.

If you make a big vertical object that moves right, and several other objects that play a sound effect when they collide with the big one, you can build levels that are actually songs smile


(32 replies, posted in General)

I believe we all agree, the main usability issue is the navigation through items/bricks/objects. Like said on the other topic, if we had some sort of selection screen, instead of going through all one by one, that would save the level designers a lot of time.


(7 replies, posted in General)

So here are a few of my own:

Background preview

This is possible and fast. I did it with my little coding knowledge, it just needs to be turned into an official feature.

Brick/Object/Item selection window

By pressing a key, a tabbed window would pop-up, showing the available stuff that can be placed in a level. Click on something and it becomes the thing you are going to place next.

Group editor

Building upon the previous concept, editing groups could be done in a place inside the editor, or even just by selecting a bunch of stuff.


(2 replies, posted in Game assets)

I vote for the double jump/hover thing. Tails' flight kind of broke the game IMO


(7 replies, posted in Off-topic)

Open Surge is coded with plain C not C++.
It will inevitably be ported to C++ to use Allegro 5, unless there is something else going on that I don't know of.


(32 replies, posted in General)

TheSeventhEmerald wrote:
Alexandre wrote:

yes, there will be improvements to the PC version also.

Please, improved level editor... please, improved level editor... please, improved level editor...

Could I help mocking up and planning an improved level editor? I've been trying so many engines, I think that a better level editor would be a great starting point to make the community more active and also to make it easier to add content to the game.

Maybe even integrate the loose tools for bricksets and sprites in the editor, as a later update. Look at Platfinity, a game from a friend of mine. It lets you edit all about the game inside the game



(32 replies, posted in General)

When can we expect to see the first changes/improvements?


(32 replies, posted in General)

Alexandre, is the engine as we know it, going to get something new? I mean are you just porting to Android, or in the process also improving the PC version?

the strings $TUTORIAL_1_TITLE_ and $TUTORIAL_1_MSG_ are most likely not defined in the language file.


(32 replies, posted in General)

It's been more than a year since the last source code revision. Is Open Surge really moving forward? Something was said about the Allegro 5 port being in the works, but nothing new was said ever since. Is Open Surge dead or just taking a long rest until Alexandre gets some time off? I worry that this promising project might be left abandoned due to lack of motivation from its creator, and the community in general.


(3 replies, posted in Off-topic)

If PNG with alpha channel was supported, that would be easy to make in a graphic editor. Unfortunately, the engine only supports solid transparency, that means, a pixel is transparent or it is not. set_alpha only makes the whole sprite semi-transparent, in an uniform way. There is currently no way to make a fading transparency.

that looks great!

Hello gang,

I need an administrator, or two, or a bunch, that are responsible, active in the forums and can manage the Facebook page and post regularly.

I manage a few pages already, and I'm working on projects not related to Open Surge, so I don't have the time to do it by myself.

I could pick the people, but I prefer that the community votes on those that show interest.

It is necessary that you write good English to make good posts and engage more people around the world. If your English is not good, you can still invite people to like the page. That will bring more people to the community, and take Open Surge out of the obscurity.

Looks like the rebirth of Open Sonic cool

Great Job!