The community evolutionary script project for RMVX
This is a little fun idea I came up with while drunk.
The basic idea is to apply the 5 word story to a script. I.e. each member built a little on the script.
Since writing a script and writing an easy is not the same there are some differences.
I don't expect anything useful to come out, I just expect some fun :D
Rules
Any posts which does not build on a script are completely ignored. I.e. they don't count in the 3-posts rule.
Rule 1: Choose a script from the last 3 submissions (up to)
You have to a script from the last 3 submissions to build on.
Remember that disqualified submissions does not count.
There are two cases where the choice is limited: (Note that the cases may not be mutually exclusive)
Rule 2: Code restrictions
Rule 2.1 Only one section
Do not write code which uses more than one sections.
Rule 2.2 Stay in RGSS2
No Win32API calls, no file creations, no shell executions, etc.
Rule 2.3 Sprites as only form of visual output
Any visual output must be made using a sprite.
Rule 2.4 Comments
Comments are allowed and are ignored in terms of effect on the script.
There are basically no comment restrictions.
Rule 3: Disqualification
A submissions can be disqualified.
Disqualified submissions are ignored in Rule 1.
I will occasionally check up on this topic and disqualify posts if necessary.
Rule 3.1 Handling 'bad' submissions
By bad submissions I mean submissions which will be disqualified in due time.
There will be a period of time from a bad script is submitted until it is disqualified.
In this time period it is still counted among the 3 submissions in Rule 1
Do not pick the submissions if you can see that it will be disqualified.
You are responsible for checking up on the script you pick being ok.
Follow-up disqualification is a definite possibility. (Avalanche disqualification)
Rule 3.2 Rule violations
Any Rule 2 violation causes immediate disqualification.
Also of follow up scripts. (Think avalanche effect)
Blatant disregard of Rule 4 & 5 will also cause avalanche disqualification.
Rule 3.3 Errors
Syntax errors cause an avalanche disqualification.
For other errors it's a bit more tricky, since it's not feasible to guarantee
You must be able to start the script and exit without problems.
This rule may be amended if necessary. I will give a notification in that case.
Rule 4: Additions
You may add up to 5 new effective code lines to the script.
Rule 5: Modifications
You may alter up to 3 effective code lines.
This includes removal of script lines.
Note that if you remove one statement and add another in its place it only counts as a modification.
If you add two statements in its place it counts as one modification and one addition.
In doubt you can look at the grammar for the ruby language with 1 effective code line = 1 statement (stmt)
Rule 6: Submission
Add this in the top of your post if it is a submission:
If the post does not contain this line it is not considered as a submission.
This (first) post is considered a submission as a special case since it defines the initialize scene.
Be sure to post the entire script and not just the section you have edited.
To ensure the sanity of your fellow scripts please wrap the code in [ruby ][/ruby] or [code ][/code] tags (With the space removed naturally)
It is also a good idea to tell which submission you have picked.
Initial Scene
[ruby]class Scene_OurScene
def main
start # Start processing
perform_transition # Perform transition
post_start # Post-start processing
Input.update # Update input information
loop do
Graphics.update # Update game screen
Input.update # Update input information
update # Update frame
break if $scene != self # When screen is switched, interrupt loop
end
Graphics.update
pre_terminate # Pre-termination processing
Graphics.freeze # Prepare transition
terminate # Termination processing
end
def start
@sprite = Sprite.new
@sprite.x = 304
@sprite.y = 224
@sprite.bitmap = Bitmap.new(32, 32)
@sprite.bitmap.fill_rect(0, 0, 32, 32, Color.new(196,196,196))
end
def perform_transition
Graphics.transition(10)
end
def post_start
# Nothing yet
end
def update
if Input.press?(Input::C) || Input.press?(Input::B)
$scene = nil
elsif Input.press?(Input::LEFT)
@sprite.x -= 9
elsif Input.press?(Input::DOWN)
@sprite.y += 9
elsif Input.press?(Input::UP)
@sprite.y -= 9
elsif Input.press?(Input::RIGHT)
@sprite.x += 9
end
end
def pre_terminate
# Nothing yet
end
def terminate
@sprite.dispose
end
end
[/ruby]
*hugs*
This is a little fun idea I came up with while drunk.
The basic idea is to apply the 5 word story to a script. I.e. each member built a little on the script.
Since writing a script and writing an easy is not the same there are some differences.
I don't expect anything useful to come out, I just expect some fun :D
Rules
Any posts which does not build on a script are completely ignored. I.e. they don't count in the 3-posts rule.
Rule 1: Choose a script from the last 3 submissions (up to)
You have to a script from the last 3 submissions to build on.
Remember that disqualified submissions does not count.
There are two cases where the choice is limited: (Note that the cases may not be mutually exclusive)
- There are less than 3 submissions in the topic. This limits the choice to the amount of submissions.
- One of your submissions is among the last 3 submissions. This limits the choice to the submissions made after your own. (Yes, this effectively prevents double submissions)
Rule 2: Code restrictions
Rule 2.1 Only one section
Do not write code which uses more than one sections.
Rule 2.2 Stay in RGSS2
No Win32API calls, no file creations, no shell executions, etc.
Rule 2.3 Sprites as only form of visual output
Any visual output must be made using a sprite.
Rule 2.4 Comments
Comments are allowed and are ignored in terms of effect on the script.
There are basically no comment restrictions.
Rule 3: Disqualification
A submissions can be disqualified.
Disqualified submissions are ignored in Rule 1.
I will occasionally check up on this topic and disqualify posts if necessary.
Rule 3.1 Handling 'bad' submissions
By bad submissions I mean submissions which will be disqualified in due time.
There will be a period of time from a bad script is submitted until it is disqualified.
In this time period it is still counted among the 3 submissions in Rule 1
Do not pick the submissions if you can see that it will be disqualified.
You are responsible for checking up on the script you pick being ok.
Follow-up disqualification is a definite possibility. (Avalanche disqualification)
Rule 3.2 Rule violations
Any Rule 2 violation causes immediate disqualification.
Also of follow up scripts. (Think avalanche effect)
Blatant disregard of Rule 4 & 5 will also cause avalanche disqualification.
Rule 3.3 Errors
Syntax errors cause an avalanche disqualification.
For other errors it's a bit more tricky, since it's not feasible to guarantee
You must be able to start the script and exit without problems.
This rule may be amended if necessary. I will give a notification in that case.
Rule 4: Additions
You may add up to 5 new effective code lines to the script.
Rule 5: Modifications
You may alter up to 3 effective code lines.
This includes removal of script lines.
Note that if you remove one statement and add another in its place it only counts as a modification.
If you add two statements in its place it counts as one modification and one addition.
Let's say that we want to swap x and y then one way to do it is:
[ruby]temp = x
x = y
y = temp
[/ruby]
This counts as 3 effective code lines.
You can put it all one line by using ;
[ruby]temp = x; x = y; y = temp
[/ruby]
This still counts as 3 effective the code lines. If you use parallel assignment you get this:
[ruby]x, y = y, x
[/ruby]
That is 1 effective code line.
So there is no reason not to structure it nicely with spacing and line-braking and etc.
Using special language features is encouraged.
[ruby]temp = x
x = y
y = temp
[/ruby]
This counts as 3 effective code lines.
You can put it all one line by using ;
[ruby]temp = x; x = y; y = temp
[/ruby]
This still counts as 3 effective the code lines. If you use parallel assignment you get this:
[ruby]x, y = y, x
[/ruby]
That is 1 effective code line.
So there is no reason not to structure it nicely with spacing and line-braking and etc.
Using special language features is encouraged.
To run delete everything section except Main.
Replace that with this:
[ruby]# Create scene
$scene = Scene_OurScene.new
# Call main method
while !$scene.nil?
$scene.main
end
# Fade out
Graphics.transition(30)
[/ruby]
Insert a new section. You can copy the script from a post in there and you should be able to run it.
Replace that with this:
[ruby]# Create scene
$scene = Scene_OurScene.new
# Call main method
while !$scene.nil?
$scene.main
end
# Fade out
Graphics.transition(30)
[/ruby]
Insert a new section. You can copy the script from a post in there and you should be able to run it.
Rule 6: Submission
Add this in the top of your post if it is a submission:
[size=150]Submission[/size]
If the post does not contain this line it is not considered as a submission.
This (first) post is considered a submission as a special case since it defines the initialize scene.
Be sure to post the entire script and not just the section you have edited.
To ensure the sanity of your fellow scripts please wrap the code in [ruby ][/ruby] or [code ][/code] tags (With the space removed naturally)
It is also a good idea to tell which submission you have picked.
Initial Scene
[ruby]class Scene_OurScene
def main
start # Start processing
perform_transition # Perform transition
post_start # Post-start processing
Input.update # Update input information
loop do
Graphics.update # Update game screen
Input.update # Update input information
update # Update frame
break if $scene != self # When screen is switched, interrupt loop
end
Graphics.update
pre_terminate # Pre-termination processing
Graphics.freeze # Prepare transition
terminate # Termination processing
end
def start
@sprite = Sprite.new
@sprite.x = 304
@sprite.y = 224
@sprite.bitmap = Bitmap.new(32, 32)
@sprite.bitmap.fill_rect(0, 0, 32, 32, Color.new(196,196,196))
end
def perform_transition
Graphics.transition(10)
end
def post_start
# Nothing yet
end
def update
if Input.press?(Input::C) || Input.press?(Input::B)
$scene = nil
elsif Input.press?(Input::LEFT)
@sprite.x -= 9
elsif Input.press?(Input::DOWN)
@sprite.y += 9
elsif Input.press?(Input::UP)
@sprite.y -= 9
elsif Input.press?(Input::RIGHT)
@sprite.x += 9
end
end
def pre_terminate
# Nothing yet
end
def terminate
@sprite.dispose
end
end
[/ruby]
*hugs*