[Announcement] SMC 2.0.0 release plan

Talk about Maryo and Mario :)

Moderator: SMC Team

[Announcement] SMC 2.0.0 release plan

Postby Quintus » 23 Apr 2014 11:49

Warm greetings to all remaining SMC users... I want to announce to you how releasing SMC 2.0.0 has been planned to be done. I suggested this process to Luiji (who is currently porting SMC to CEGUI 0.8, which could make it into 2.0.0), and he agreed it to be good. So I hope we can stick to it, but of course I have to warn you that everything is preliminary and may be subject to change. We will not release a broken version of SMC; if it needs more time, we will delay the release.

That being said, I hereby announce

The SMC 2.0.0 Release Plan

The release process for SMC 2.0.0 consists of two parts. In the first phase we will implement new features we think that should go into SMC. You are very welcome to make suggestions about them. In the second phase, we will stop implementing new features (or rather, if we implement further ones, they won’t go into SMC 2.0.0) and instead concentrate on bugfixes. Therefore, when the second phase is entered, the maximum number of features in SMC 2.0.0 has been settled on. If a feature then turns out to be too hard to fix, we may still decide to remove it from the game again, either postponing it for the next release or dropping it alltogether.

The day of the day of the feature freeze has been decided to be 2014-07-31. From the 1st August on we will not add new features to SMC 2.0.0. Until this day, you can freely make suggestions about what to include and what to improve. For this, you are free too discuss this in the forums, but we want to be clear that only things that have a GitHub issue ticket will be implemented. Luiji and I will actively be monitoring these forums, but if you want to make sure something doesn’t escape us, open a ticket over at GitHub. This makes it for us developers much more easy to keep the overview over all your feature requests.

On the day of the feature free we will

  1. Create a new branch in the repository called release-2.0.0. Everything specifically related to the upcoming version will be done on that branch. The devel branch will then be heading for the next version after that.
  2. Release the first Beta version of SMC 2.0.0, precompiled for both Ubuntu 14.04 LTS Trusty Tahr 64-bit and Windows 32-bit. For other platforms, we ask the community to compile the sourcecode on the release-2.0.0 branch and provide precompiled binaries if you want that. Note you can flawlessly run the 32-Bit Windows version on 64-Bit Windows. This limitation is currently imposed by our version of the MXE crosscompilation toolchain and will probably be targetted later.

The first beta version will be very buggy. It is therefore required that you test it. We depend on your, the community’s, feedback to make it work properly. Every two weeks after the feature freeze we will be releasing a new Beta version for you to test. We will continue doing this until no new bugs pop up. That will be the time we will release the first Release Candidate (RC) of SMC 2.0.0. If no new bugs are discovered within two weeks, this will be the final version of SMC. If new bugs are found, we will fix them and immediately issue a new release candidate, again waiting two weeks for new bugs. This will be repeated as long as necessary, but generally the vast number of bugs are intended to be squashed in the beta phase. So ideally, we have exactly one Release Candidate.

End Of The SMC 2.0.0 Release Plan

Up until the feature freeze day you can support us by making new feature requests or by pointing out old feature requests on the SMC forums. After the feature freeze, please test (of course you are free to compile the development version before the feature freeze and test as well). And, please spread the word. This is essentially our plan to bring back SMC to live again.

Valete,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby datahead » 02 Jun 2014 13:57

Here are some thoughts I had on the release plan:
* Once 07-31-14 passes, I would suggest prioritizing features based on what looks like it can be completed within (semi) reasonable time. The priority would be getting a release out the door that has the major features such as scripting as well as things such as lava or larry-the-bomb-enemy that have substantial work invested. New releases are what bring new people to SMC (along with an updated website and proper distribution channels). This is why I've been marking my issues in Github as "NOT SLATED FOR NEXT SMC RELEASE". Feel free to challenge me on a ticket if you think one looks doable by the next release.
* For the 2 week testing timetable, you'd have to check with people beforehand to see who is available to test. Ideally they'd need to spend some hours playing the game and trying to break it. If only two or three people tested, this would not be as thorough as 5-10 people. It sounds like you're effectively allowing 2 2-week cycles, which gives a minimum of a month's testing. This might be a workable minimum time frame.
* Do you know anyone who could make a youtube video "calling for testers"? If we had both windows and Linux executables at this point, it would be easier to draw more people in.
datahead
SMC Team
SMC Team
 
Posts: 185
Joined: 31 Dec 2007 01:55
Location: Columbus, Ohio - United States

Re: [Announcement] SMC 2.0.0 release plan

Postby mrvertigo27 » 13 Jun 2014 05:39

datahead wrote:Here are some thoughts I had on the release plan:
* Do you know anyone who could make a youtube video "calling for testers"? If we had both windows and Linux executables at this point, it would be easier to draw more people in.



I have around 8k subscribers I could try to do something if i had a windows exe to play on the channel of the testing branch with the new shiz.
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: [Announcement] SMC 2.0.0 release plan

Postby mrvertigo27 » 13 Jun 2014 05:55

I've got a group of YouTubers that would love to give it some playtime. I'll need about a 1 week lead time before launch and a windows exe to give out to said youtubers. I can't promise miracles but between us we have like 30k subscribers so something may pop!
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: [Announcement] SMC 2.0.0 release plan

Postby Quintus » 13 Jun 2014 11:06

I’m pleased you hold up your offer :-). I will build a Windows executable for you, and indeed I was planning to do so since a week or so, but I wanted to make sure it isn’t buggy as hell. It’s all in development, and the development version tends to crash frequently, although I hope to have fixed most problems. The world editor still crashes, though.

I will upload a win32 executable later today. Please, try it and tell me if you experience any problems, as it still is a development version.

When we enter the beta phase, win32 executables will be released along with it, and they should be more stable. You have to decide whether you want to wait that long or just start right out with the development version.

Vale,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby Quintus » 14 Jun 2014 00:19

I have compiled a win32 version of the current devel HEAD at commit f622f579b4e0efa731032722bb8900b1cc952d84. You will need 7-zip to decompress the archive.

http://ftp.pegasus-alpha.eu/public/smc/SMC-f622f57.7z

Note that this is an unstable development version. It may crash anytime. Also, while scripting, new enemies, etc. are already included, there currently are no levels using it. I have posted some levels on the forums that use scripting, but I guess they aren’t high-quality levels. I will do my best to create better ones, and I hope other people from the forums contribute some good levels. You probably just want to play around with the level editor and test it out. The scripting API is documented online.

As said, you should probably wait until the beta phase before making a video of playing it. This thing is unstable and incomplete. But this way you can at least have a look at it :-)

For running it, just double-click on the smc.exe file in the bin/ folder. No installation required, and you can delete the folder to remove SMC from your computer again.

Vale,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby datahead » 15 Jun 2014 00:33

I’m pleased you hold up your offer

I second that appreciation. Thank you, Mr. Vertigo.

Maybe once I start helping out with the code, we can build windows executables on a semi-regular basis, if there are people interested in checking it out. It's always good to get more eyes on something.
datahead
SMC Team
SMC Team
 
Posts: 185
Joined: 31 Dec 2007 01:55
Location: Columbus, Ohio - United States

Re: [Announcement] SMC 2.0.0 release plan

Postby mrvertigo27 » 15 Jun 2014 04:09

im playing with this right now. I'll get it sent to a couple other youtubers soon!
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: [Announcement] SMC 2.0.0 release plan

Postby datahead » 15 Jun 2014 04:26

im playing with this right now. I'll get it sent to a couple other youtubers soon!

If anyone is able to provide video of bugs they produce, that'd be really useful. Otherwise at least a detailed explanation is of course needed. I was talking with Quintus about whether we could build a video capture feature directly into SMC, recording something like the last 5 minutes of game play.

EDIT: We also need to tell them to try out the level editor (with really new things like Larry the bomb).

If they're like me, they'll probably enjoy checking out a dev version. Thanks again.
datahead
SMC Team
SMC Team
 
Posts: 185
Joined: 31 Dec 2007 01:55
Location: Columbus, Ohio - United States

Re: [Announcement] SMC 2.0.0 release plan

Postby mrvertigo27 » 15 Jun 2014 05:16

I've sent it to quite a few YouTubers. I can't promise they'll all do it because most don't cover games like this but we can hope :)
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: [Announcement] SMC 2.0.0 release plan

Postby simpletoon » 15 Jun 2014 09:17

Which git repository is the current development based on? I'd like to see if it can compile on Debian Wheezy.
The following are some ideas. I haven't followed development for a long time, so some of these may already be added or worked out some way or another.

Reusable level segments or dungeon pieces. I remember making a patch for this in the past but don't know what happened with it. The way it worked, if I remember correctly, was that a level exit/beam could specify a target level/entry but also a return level/entry, which would get pushed onto a return stack. Then another level exit/beam existed that was simply a "return" exit, it would pop the information off of the return stack and use it to return to the correct place. Then a level dungeon could be reused because the "calling" level would control where the dungeon's final exit returned to. Maybe this can be accomplished in scripting?

Another idea I was thinking about once was taking the particle emitter code and making it where it could emit enemies. I'm not sure how it would set the properties of the newly created enemies though, or how that would be managed in the gui.

Force fields that push/pull the player. Maybe re-use the ambient sound emitter but apply it to a force that affects the player's x and y velocity (min and max distance, min and max force). If the force is a positive force, it would push the player away, if the force is a negative force, it would pull the player toward it. Perhaps also a flag to make it only affect the player horizontally or vertically.

BSP/grid for collision detection. I remember some levels with many sprites would slow down due to collision detection if a lot were on the screen at once due to every sprite detecting collision with every other sprite.
simpletoon
MVP
MVP
 
Posts: 185
Joined: 12 Jan 2008 01:12

Re: [Announcement] SMC 2.0.0 release plan

Postby Quintus » 15 Jun 2014 11:20

simpletoon wrote:Which git repository is the current development based on? I'd like to see if it can compile on Debian Wheezy.


It’s my fork on GitHub.

simpletoon wrote:Reusable level segments or dungeon pieces.


I’m not sure if I understand your idea. It sounds like your’re referring to the sublevel feature we already have in SMC 1.9?

simpletoon wrote:Another idea I was thinking about once was taking the particle emitter code and making it where it could emit enemies.


You can easily spawn enemies with scripting now.

Code: Select all
f = Furball.new
f.start_at(200, -100)
f.direction = :right
f.show


simpletoon wrote:Force fields that push/pull the player.


There was a similar idea utilizing fans some time ago, but it has not yet been implemented. Force fields are an interesting alternative, though.

simpletoon wrote:BSP/grid for collision detection. I remember some levels with many sprites would slow down due to collision detection if a lot were on the screen at once due to every sprite detecting collision with every other sprite


If you have a lot of massive objects on the screen at once, the game indeed tends to slow down. Rewriting the collision handling will take time, but should be done some time probably.

mrvertigo27 wrote:im playing with this right now. I'll get it sent to a couple other youtubers soon!


Many thanks, and let’s hope for the best. And as said, for the scripting stuff we just miss levels. Sad, but true. The feature is there, but unused currently.

Vale,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby simpletoon » 15 Jun 2014 20:50

Quintus wrote:It’s my fork on GitHub.


Great. I'll see if I can get it to compile. Which version of CEGUI does it use, so I can see if I need to manually build a custom version? (A problem with using Debian Stable is packages can sometimes get out of date).

Quintus wrote:I’m not sure if I understand your idea. It sounds like your’re referring to the sublevel feature we already have in SMC 1.9?


I don't know about 1.9 (installing it now to check), but I think a sublevel's exit back must specify exactly where to go back to. For example, the following levels:

Code: Select all
S = Start/entry
E = Exit to sublevel
R = Entry return from dungeon

L1: S---------E(D1)-------------R--------------
D1: S-------------E(L1:R)

L2: S---------E(D2)-------------R--------------
D2: S-------------E(L2:R)


Level L1 must use sublevel D1 because the exit from sublevel D1 must go back to level L1.
Level L2 must use sublevel D2 because the exit from sublevel D2 must go back to level L2.
So, even if D1 and D2 are the same exact design, they must be different actual levels.

With the idea of a level return stack:

Code: Select all
S = Start/entry
E = Exit to sublevel
R = Entry return from dungeon
Ret = Return to level based on return stack

L1: S---------E(to: D:S1 ret:L1:R)-------------R--------------
L2: S---------E(to: D:S1 ret: L2:R)-------------R--------------

D: S1------S2-------Ret


In level 1, when the player takes the exit, it would push L1:R onto the return stack, then when the dungeon reaches a return exit, it would pop the value of the return stack to determine where to go next, instead of specifying location directly. In this case L1:R. In level 2, the player would go to the same dungeon, so it is being reused and not copied, but when the player reaches the return, it pops off L2:R instead and returns to that location. Because it is a stack, a sublevel could also also do the same thing, have an exit that specifies a return location, then when the a return is reached, pop of the top of the stack. This could be used to make some tricky levels:

Code: Select all
L1: S---------E(to: D:S1 ret:L1:R)-------------R--------------
L2: S---------E(to: D:S1 ret: L2:R)-------------R--------------

D: S1------S2-----E(to: D:S2 ret: D:S1)-------Ret


In this case, in the dungeon, if you take the first exist (E), it you take you back to the middle of the dungeon and keep pushing D:S1 onto the return stack. For each time you take the wrong dungeon exit (E), you will have to take the correct exit (Ret) to get back to the correct level.

This could even be used in the same level to create some complicated features:

Code: Select all
| S2                                                                             Ret
|-----------------------------------------------------------------------------------------
|S     E(S2, ret S4)   |  S4     E(S2, ret S5)  | S5              Exit
|-----------------------------------------------------------------------------------------


In this case, you start at S and play till you get to the wall, and beam top of the level at S2. The end of the top takes you back to S4, where you play until you get to another wall and beam back to S2 again. At the end of the top, this time it takes you to S5 where you play to the level exit.

Quintus wrote:
You can easily spawn enemies with scripting now.

Code: Select all
f = Furball.new
f.start_at(200, -100)
f.direction = :right
f.show



That is nice. Can it be controlled by a timer? With start_at, can it be based on another object, to avoid absolute coordinates when moving things around? An idea may be to create an event block that is entirely passive in the game but seen in the level editor, can respond to timers, player touch, etc, and execute a script segment based on that. It could also be used for positioning and maybe even to contain values.

Code: Select all
// this represents the block that the player touched, or a timer event fired on, or something
// this.value represents custom user data that can be used by the script.  Each block in the game would have its own user data.
// Also, I don't really know Ruby, so this is just an example of an idea)
count = isset(this.value.count) ? this.value.count : 0
d = abs(player.x - this.x)
if(count < 3 && d < 64 && d > 24)
{
    f = Furball.new
    this.value.count = count + 1

    f.start_at(this.x, this.y + this.height - f.height) // So in the level editor, the bottom of the block is where the enemy will start at
    if(player.x < this.x)
        f.direction = :left
    else
        f.direction = :right
    f.show
}
this.set_timeout(2000) // In 2 seconds, fire an event on this block again.


I've cloned the rep on my computer and I'll see if I can get it to compile later and if I can work on a couple of those ideas. How are changes being sent in? Patches, or make a clone on Github? (Sorry about the long post. Maybe this should be split to a separate thread.)
simpletoon
MVP
MVP
 
Posts: 185
Joined: 12 Jan 2008 01:12

Re: [Announcement] SMC 2.0.0 release plan

Postby mrvertigo27 » 15 Jun 2014 21:02

this is from a friend of a friend but he seems to be able to recreate a crash doing this

i cant report the bug and my friend wont
[3:54:16 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: [3:51 PM] Legacy:

<<< Level 1: Enter the Yellow Tube before the Yellow Door.
Collected all of the coins.
Into silver tube to finish level.

Level 2: Collect all of the coins on the green platforms
Jump while climbing vines to climb a lot faster
After climing the vines and getting the "Flower Power" Jump down and stay on the low path
Go inside of the silver tube
Run through the Danger tube
Go Into the silver tube then into the Yellow Door
Enjoy the crash
[3:54:22 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: thats exacaly what he did
[3:54:37 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: oh and he was holding A the whole time
[3:55:18 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: i cant report the bug sincei cant make an acount
[3:55:28 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: says my ip is blocked
[3:55:44 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: im asuming since im useing blockless (a DNs THing)
[3:55:52 PM] Justin Emo Chipmonk Wyatt | GameMode5 recruiter: and my friend is just an lazy ass


i can't test at the moment as I'm rendering videos but hopefully this helps
I'm A YouTube Gaming Commentator https://www.youtube.com/user/Spitfire25565
User avatar
mrvertigo27
SMC Team
SMC Team
 
Posts: 2316
Joined: 20 Aug 2009 16:10
Location: the state of insanity

Re: [Announcement] SMC 2.0.0 release plan

Postby Quintus » 15 Jun 2014 22:26

simpletoon wrote:That is nice. Can it be controlled by a timer? With start_at, can it be based on another object, to avoid absolute coordinates when moving things around? An idea may be to create an event block that is entirely passive in the game but seen in the level editor, can respond to timers, player touch, etc, and execute a script segment based on that.


Yes, that’s all possible. Have a look at the scripting documentation. That website is regenerated every night from the most recent commit on the devel branch.

simpletoon wrote:Which version of CEGUI does it use


Currently, we are still on CEGUI 0.7.x, but Luiji is porting to CEGUI 0.8.x. I hope we can have CEGUI 0.8 support for 2.0.0.

simpletoon wrote:So, even if D1 and D2 are the same exact design, they must be different actual levels.


Ahh, now I understand. That would be a nice thing especially for bonus areas. Well, you can change the target of a level exit already with scripting, but there is no way to access the parent level from scripting currently. But I can imagine this common enough to directly implement it in C++, probably introducing a new kind of level exit that just works — as you say — on a stack.

simpletoon wrote: How are changes being sent in? Patches, or make a clone on Github?


Preferably you make a PR on GitHub, but I will accept patches as well. Please use $ git format-patch if you want to send in patches. You can send patches via the forum, open a ticket on GitHub or email patches directly to me (quintus ät quintilianus döt eu). Note you may want to hang around in the IRC channel #secretmaryo on freenode.net, I try to be online there as much as possible.

simpletoon wrote:(Sorry about the long post. Maybe this should be split to a separate thread.)


LUIJI!! YOU ARE NEEDED!

Seriously, I’m currently trying to get hold of FluXy to take over the forum administration.

mrvertigo27 wrote:this is from a friend of a friend but he seems to be able to recreate a crash doing this


As said, it’s a development version. I will look on the crash.

Regarding bug reports: Please direct people to the GitHub issue tracker. That makes tracking bugs much easier, and I’ve never heard people having problems with creating accounts on GitHub.

Valete,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby datahead » 15 Jun 2014 23:45

simpletoon wrote: I'd like to see if it can compile on Debian Wheezy.

Quintus was helping me with some build problems I've had and essentially posted a guide for Ubuntu at http://smc.quintilianus.eu/viewtopic.php?id=37
If you get errors on SDL_ttf like I did, this may be really helpful. Then again, I'm not sure if Ubuntu instructions will work on Debian (though I know Ubuntu is based on Debian).

simpletoon wrote:BSP/grid for collision detection. I remember some levels with many sprites would slow down due to collision detection if a lot were on the screen at once due to every sprite detecting collision with every other sprite.

We've had some recent discussions on the future direction of both rendering and physics in SMC. OpenGL Rendering has to be rewritten no matter what. I'm going to post a thread on this some time semi-soon in the Development section on this site. It does not make sense to start a firestorm of discussion in this discussion thread on it.

Quintus wrote:You can easily spawn enemies with scripting now.

This is a wonderful feature, but I'd still like to see something implemented that's easy for non programmers to use.
Can installed scripts be exposed only as functions to non programmers so that they could point and click on them?
Otherwise I'd really be interested in us eventually looking into a point and click layer on top of scripting for non programmers to use.
datahead
SMC Team
SMC Team
 
Posts: 185
Joined: 31 Dec 2007 01:55
Location: Columbus, Ohio - United States

Re: [Announcement] SMC 2.0.0 release plan

Postby simpletoon » 16 Jun 2014 04:27

Thanks, Ive just successfully compiled it on Debian Wheezy.

I installed some packages, ruby, rake, cmake.
I compiled Boost 1.55.0 according the that page, but I didn't have to remove my older dev libs. It worked fine with just -DBOOST_ROOT.
I didn't have the SDL issue with missing .pc files.
Started it with LD_LIBRARY_PATH=... ./testinstall/bin/smc and it worked.

I'll look around the code and see what has changed since back then. I may try to create the level return stack again.
simpletoon
MVP
MVP
 
Posts: 185
Joined: 12 Jan 2008 01:12

Re: [Announcement] SMC 2.0.0 release plan

Postby simpletoon » 16 Jun 2014 07:25

I've worked some on the return stack feature. More details are at this forum post.
simpletoon
MVP
MVP
 
Posts: 185
Joined: 12 Jan 2008 01:12

Re: [Announcement] SMC 2.0.0 release plan

Postby Quintus » 16 Jun 2014 14:35

simpletoon wrote:Thanks, Ive just successfully compiled it on Debian Wheezy.


Nice. So I know I’m not the only one who can compile it. May I ask you if you want to help datahead with the compilation a bit? He seems to have some boost problems you didn’t encounter.

Vale,
Quintus
Come to our fork of SMC: https://secretchronicles.org
Quintus
SMC Team
SMC Team
 
Posts: 354
Joined: 14 Sep 2010 18:05

Re: [Announcement] SMC 2.0.0 release plan

Postby datahead » 16 Jun 2014 18:39

Quintus wrote:May I ask you if you want to help datahead with the compilation a bit? He seems to have some boost problems you didn’t encounter.

We were already PM'ing back and forth. I'll give it a try again when I get a chance. Thanks to both of you.
datahead
SMC Team
SMC Team
 
Posts: 185
Joined: 31 Dec 2007 01:55
Location: Columbus, Ohio - United States

Next

Return to General

Who is online

Users browsing this forum: No registered users and 4 guests

cron