<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=How_to_Make_an_RPG_Overworld</id>
	<title>How to Make an RPG Overworld - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=How_to_Make_an_RPG_Overworld"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=How_to_Make_an_RPG_Overworld&amp;action=history"/>
	<updated>2026-05-05T15:08:53Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=How_to_Make_an_RPG_Overworld&amp;diff=1684&amp;oldid=prev</id>
		<title>Patarakin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=How_to_Make_an_RPG_Overworld&amp;diff=1684&amp;oldid=prev"/>
		<updated>2022-07-21T08:33:14Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 11:33, 21 июля 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key digida:diff:1.41:old-1683:rev-1684 --&gt;
&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=How_to_Make_an_RPG_Overworld&amp;diff=1683&amp;oldid=prev</id>
		<title>scratch&gt;CrazyBoy826: move hatnote to {{note}} below</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=How_to_Make_an_RPG_Overworld&amp;diff=1683&amp;oldid=prev"/>
		<updated>2022-03-08T03:43:40Z</updated>

		<summary type="html">&lt;p&gt;move hatnote to {{note}} below&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;An [[Role-Playing Game|RPG]] overworld is the map or background of an RPG project. It can often [[Scrolling (sprites)|scroll]] with the main character&amp;#039;s movement to allow the viewer to travel among a rather large world. Other objects such as enemies in the world need to therefore have positions relative to the scroll of the background. The player&amp;#039;s perspective is looking down at the character, rather than the player looking at the character from the side.&lt;br /&gt;
{{note|This tutorial assumes you have sufficient knowledge of [[Scrolling (sprites)|scrolling]]. If you need a refreshment, please read over that article.}}&lt;br /&gt;
&lt;br /&gt;
== Main Idea ==&lt;br /&gt;
In the RPG, the player figuratively moves but remains with a static [[X Position (value)|x]] and [[Y Position (value)|y]] position. The world that is visually behind the character moves opposite the character due to the limitations of the [[stage]]&amp;#039;s size compared to the world&amp;#039;s.&lt;br /&gt;
&lt;br /&gt;
== Main Character Movement ==&lt;br /&gt;
Assuming scrolling is utilized for the gameplay, the following script can be placed in the main character sprite to scroll the background:&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when gf clicked //or during a moment movement is proper&lt;br /&gt;
go to x: (0) y: (0) //centers the character&lt;br /&gt;
forever&lt;br /&gt;
if &amp;lt;key [right arrow v] pressed?&amp;gt; then&lt;br /&gt;
change [scroll x v] by (-1) //to &amp;quot;move&amp;quot; right, scroll the background left&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;key [left arrow v] pressed?&amp;gt; then&lt;br /&gt;
change [scroll x v] by (1)&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;key [up arrow v] pressed?&amp;gt; then&lt;br /&gt;
change [scroll y v] by (1)&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;key [down arrow v] pressed?&amp;gt; then&lt;br /&gt;
change [scroll y v] by (-1)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Making Boundaries ==&lt;br /&gt;
Boundaries set limits on how far the world can be scrolled. The player sprite, who controls all scrolling, can have a modified script shown below to set boundaries of the world:&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when gf clicked //or during a moment movement is proper&lt;br /&gt;
go to x: (0) y: (0) //centers the character&lt;br /&gt;
forever&lt;br /&gt;
if &amp;lt;&amp;lt;key [right arrow v] pressed?&amp;gt; and &amp;lt;(scroll x) &amp;gt; (-960)&amp;gt;&amp;gt; then //-960 is the boundary&lt;br /&gt;
change [scroll x v] by (-1) //to &amp;quot;move&amp;quot; right, scroll the background left&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;&amp;lt;key [left arrow v] pressed?&amp;gt; and &amp;lt;(scroll x) &amp;lt; (960)&amp;gt;&amp;gt; then&lt;br /&gt;
change [scroll x v] by (1)&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;&amp;lt;key [up arrow v] pressed?&amp;gt; and &amp;lt;(scroll y) &amp;lt; (720)&amp;gt;&amp;gt; then&lt;br /&gt;
change [scroll y v] by (1)&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;&amp;lt;key [down arrow v] pressed?&amp;gt; and &amp;lt;(scroll y) &amp;gt; (-720)&amp;gt;&amp;gt; then&lt;br /&gt;
change [scroll y v] by (-1)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enemy Movement ==&lt;br /&gt;
Enemies in an RPG often move to bring more excitement and challenge to the game. An enemy who remains still may not be as difficult to defeat as one who moves. Enemies must scroll with the over world because only the main character remains in a static position. When the world scrolls due to the player&amp;#039;s movement, the enemy has to scroll &amp;#039;&amp;#039;with&amp;#039;&amp;#039; the background to justify the movement properly. The first step is to create the enemy sprites, which can be drawn in the [[Paint Editor|paint editor]] or imported. Enemies may have movement that differs from one another. To generate random movement in the over world, the following script can be used or relate to one&amp;#039;s needs:&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when I start as a clone //assuming there are multiple enemies&lt;br /&gt;
go to x: (pick random (-220) to (220)) y: (pick random (-160) to (160)) //generates near the player&lt;br /&gt;
set [off x v] to ((x position) - (scroll x)) //justifies x position with the background&lt;br /&gt;
set [off y v] to ((y position) - (scroll y)) //justifies y position&lt;br /&gt;
forever&lt;br /&gt;
go to x: ((scroll x) + (off x)) y: ((scroll y) + (off y))&lt;br /&gt;
if &amp;lt;([y position v] of [character v]) &amp;lt; (y position)&amp;gt; then //if character below enemy&lt;br /&gt;
change [off y v] by (-2) //moves down&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;([y position v] of [character v]) &amp;gt; (y position)&amp;gt; then //if character above enemy&lt;br /&gt;
change [off y v] by (2) //moves up&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;([x position v] of [character v]) &amp;lt; (x position)&amp;gt; then //if character left of enemy&lt;br /&gt;
change [off x v] by (-2) //moves left&lt;br /&gt;
end&lt;br /&gt;
if &amp;lt;([x position v] of [character v]) &amp;gt; (x position)&amp;gt; then //if character right of enemy&lt;br /&gt;
change [off x v] by (2) //moves right&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
Create a variable named &amp;quot;battle&amp;quot;. When the battle starts, this will keep the battle from repeating over and over again.&lt;br /&gt;
Lastly, use these scripts:&lt;br /&gt;
&amp;lt;scratchblocks&amp;gt;&lt;br /&gt;
when flag clicked&lt;br /&gt;
forever&lt;br /&gt;
 if &amp;lt;&amp;lt;touching [enemy v]?&amp;gt; and &amp;lt;not &amp;lt;(battle) = (1)&amp;gt;&amp;gt;&amp;gt; then&lt;br /&gt;
 broadcast [battle v] //Make this the broadcast that starts the battle sequence.&lt;br /&gt;
 set [battle v] to (1)&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/scratchblocks&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Role-Playing Game]]&lt;br /&gt;
* [[Turn-Based RPG]]&lt;br /&gt;
* [[Scrolling (sprites)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Tutorials|RPG Overworld]]&lt;br /&gt;
[[Category:RPGs]]&lt;br /&gt;
[[Category:Game Design Tutorials|RPG Overworld]]&lt;/div&gt;</summary>
		<author><name>scratch&gt;CrazyBoy826</name></author>
	</entry>
</feed>