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 Re: Assets » Repaint of game image » 2019-11-27 00:14:29

Yes:

The images I shared here are public domain.

Done smile

#4 Assets » Repaint of game image » 2019-11-25 00:04:41

lainz
Replies: 5

I draw it again in corel draw and added effects in corel photo paint
https://www.dropbox.com/s/jr0oxex1xv7fq … e.png?dl=0

#6 Re: General » The new stable version » 2019-11-17 13:24:25

Good release. Finally playable levels with enemies too. wink

#7 Re: General » Use HTTPS » 2018-07-01 17:07:30

Ok, I see. It's a really good idea to have an own server with a big project like this.

#9 Re: General » Use HTTPS » 2018-06-17 00:56:16

Good to hear that the community is growing smile

If you change your mind, there is a setting in source forge project page, where you can toggle https on easily.

Congratulations for all your achievements.

#10 Re: General » Open Surge 0.5.0 » 2018-06-16 14:44:31

Thanks for the new version!

#11 Re: Off-topic » Need a reliable image host » 2018-06-16 14:42:58

G.E.R. wrote:

In this situation, I began to use a domain from my old site, because it's the best option. All image-hostings that I knew, at some point either stop working, or deleting images. You can registered a domain on any free-platform (for example, UcoZ get 400 MB is free).
Alexandre proposed using GitHub, but I think it is not best thought now.

No, I propossed to use GitHub, and is still the best for now, Microsoft didn't ruined it yet smile

#12 General » Use HTTPS » 2018-06-16 14:40:51

lainz
Replies: 6

Hi, please enable HTTPS into this forum and website. So logins are more secure.

#13 Re: General » Open Surge Wikia » 2018-05-29 18:15:09

I think if you know how to program, you must read and write some english, else you can't find any help online.

#14 Re: Games » Open Sonic JS » 2018-05-23 14:45:25

Thanks, but I just found it smile

Is really simply to code with it:

- Install node.js https://nodejs.org/es/

Then, open a terminal, and type this:

npm install -g http-server
npm install -g webpack
npm install -g babel-loader
npm install -g babel-core
npm install -g babel-preset-es2015

That does these things:
- http-server is to run a local server, to run the game
- webpack 'compiles' the js into a js that you can distribute online
- babel is a tool to convert modern JS features to an older version, so it can run in any old browser as well, (features like modules for example "import" keyword)

Then you have two commands to develop:
- http-server is to run the game
- webpack is to 'compile' the game into a distributable bundle that you can upload somewhere, like in github pages

#15 Re: Games » Open Sonic JS » 2018-05-22 01:19:30

That was done by hand not with Emscripten so is easily customizable.

In the readme are the details on how to run it locally. Just install node.js

#16 Games » Open Sonic JS » 2018-05-21 15:18:27

lainz
Replies: 7

Hi, I started porting Open Surge to JS, and then I realized with a search that's already done by someone else big_smile

https://github.com/clarkeadg/opensonic-js

You can even play it online
https://clarkeadg.github.io/opensonic-js/

#17 Re: General » My first SurgeScript » 2018-05-20 13:28:45

CharlyTx wrote:
Alexandre wrote:
CharlyTx wrote:

Although currently I don't know if it's useful, is it possible to have multidimensional arrays? Could be possible to import surgescript libraries to not have to rewrite the same algorithms over again?

Yes, you just write an array of arrays. Like:
matrix = [ [1, 0], [0, 1] ];

I tried to work with matrices data like this one:

arr = [[1,8,15,22,29],[2,9,16,23,30]];

For example:

 Console.print("Hello, world!" + arr[2][3]);

but I keep getting errors. I've tried the following formats:

arr[x][y]
arr.get(x,y)
arr.get(x).get(y)

Trying to access only by x gives me null.

What am I doing wrong?

Arrays are 0 based, in your example [2][3] doesn't exist. In your array exists
[0..1][0..4]

#18 Re: Assets » Open Surge Language Editor » 2018-05-20 13:25:32

CharlyTx wrote:

Thanks

You're welcome.

Maybe this changes in time, with the new scripting system Alexandre created. Maybe instead of external language files can be all done with his scripting objects?...

#19 Re: General » Introducing SurgeScript (released! v0.5.2) » 2018-05-20 13:24:10

Alexandre wrote:
SynfigMaster91 wrote:

Hi! How is the integration of SurgeSript going? smile

I'm about to disclosure information about the upcoming Plugin system. You'll be able to extend the language the way you see fit, pretty much the same way modders can extend the game. I'll be using the new Plugin system to build the bridge between Open Surge and SurgeScript.

If you can't wait, I've already published documentation about a new thing called Factory. It's an advanced thing, and an application of the Plugin system. Read more at: https://alemart.github.io/surgescript/t … s/#factory

Also, get in touch with me on GitHub (and YouTube!) to see more.

I'm gonna release new information soon. smile

Cool smile

#20 Re: General » My first SurgeScript » 2018-05-20 00:30:14

I like how you organized the units. Few functions in each unit and all strictly related. Like the vector 2d unit.

For now the unit conversion goes well with no major problems.

In the v2d unit however I've coded it in OOP way, but I also keep the functions mapping these to class methods.

Things that can't be done in the same way includes memory swap : a to b and b to a. But when time comes to use that the best will be to "inline" that functions or in other words just copy and paste the swap where it's used.

Memory is handled automatically. I hope JS is fast enough to run it fine.

For the graphics I'm planning on using pixi.js that's hardware accelerated. But I'm too far to that point right now.

#21 Re: Off-topic » My website and stuff » 2018-05-16 12:53:36

For file storage, you can use SourceForge downloads, or GitHub releases.

#22 Re: General » My first SurgeScript » 2018-05-15 12:17:12

That's in the plans.

Great.

Yesterday I started the port of Open Surge to HTML5.
https://github.com/lainz/opensurge

I know that can be done automatically with Emscripten, but I want to learn what you coded and how.

I think It will take forever, and I'm not sure if I will finish it. But is a good experience smile

Edit: If someone wants to run it (currently test of methods only) need to use a modern browser, since I'm using JS modules. In Firefox it should be enabled changing a setting. In chrome and Edge is enabled by default.

#23 Re: General » My first SurgeScript » 2018-05-15 01:25:58

Alexandre wrote:

No, I'm not considering interaction between the two systems.

The idea is to let the old system be replaced completely, eventually.

Perhaps a thin layer of compatibility could be added, but I don't want to drag the old system too much. Why do you ask?

                        My homepage | Rapid brickset editor 2

I  computer science.

If this will be a new fresh air... what about using more recent allegro, that's hardware accelerated?

#24 Re: General » My first SurgeScript » 2018-05-13 14:28:54

Is like the C# is available in Unity. Events that are fired on game loop and so on.
Really good piece of software you did!

#25 Re: General » Making a website with SurgeScript » 2018-05-13 02:25:53

Alexandre wrote:

Regarding the game, I would like that users have the ability to just put their scripts on a folder like scripts/ and let the game just work without any issues.

Yes, is the best.

Alexandre wrote:

Suppose that you have a single instance of an object, say, SceneManager, and that you need to use it frequently in the game. How would you import it into your script?

What you are saying is a global variable, or static methods, or a mix of both.

With global variable, if the unit is in the imports section, that variable is available for that unit and objects inside.

like

// in scenemanager.ss, somewhere
GlobalSceneManager = spawn(SceneManager);

import 'scenemanager.ss'

GlobalSceneManager.doSomething() //.. call of the global variable, the advantage on this is that the state is stored in the global, and any unit that imports it can access (read, write) the state of this global

With static methods, if the unit is in the imports section, the class methods are available with no need to instantiate them.

import 'scenemanager.ss'

object SceneManager {
  hello_string_never_recheable_from_static_methods (variable visible only for an instance)
  static hello_static_string (global variable inside a class, visible outside)
  static fun doSomething...
}

SceneManager.doSomething() //.. with no need to instantiate

What I know, is that static methods only uses the data inside of them, and also static fields. But they don't have a 'state' of the normal fields.

So you can implement globals or static class methods.

Or something better, like an object that's global

global object SceneManager {

}

it can be instantiated automatically by the engine, or instantiated only the first time by the code

The name of the object is SceneManager, and you call it like SceneManager.doSomething()..

Board footer

Powered by FluxBB  hosted by tuxfamily.org