Difference between revisions of "Getting Started"
(Added note about adding love to PATH.) |
|||
(65 intermediate revisions by 25 users not shown) | |||
Line 3: | Line 3: | ||
Download the latest version of LÖVE from [http://love2d.org/#download the website], and install it. If you're on Windows and don't want to ''install'' LÖVE, you can also just download the zipped executables and extract them anywhere. | Download the latest version of LÖVE from [http://love2d.org/#download the website], and install it. If you're on Windows and don't want to ''install'' LÖVE, you can also just download the zipped executables and extract them anywhere. | ||
− | + | To find out which version of LÖVE is installed, run the following command: | |
− | < | + | <source lang="bash"> |
love --version | love --version | ||
− | </ | + | </source> |
+ | |||
+ | Note that you may need to add the directory where LÖVE resides to your system's PATH variable, in order to be able to run it from the command line. | ||
== Making a Game == | == Making a Game == | ||
− | To make a minimal game, create a folder anywhere, and open up your favorite | + | To make a minimal game, create a folder anywhere, and open up your favorite text editor. [http://www.sublimetext.com Sublime Text] is a pretty good one for all operating systems, and it has Lua support built in. Create a new file in the folder you just created, and name it <code>main.lua</code>. Put the following code in the file, and save it. |
<source lang="lua"> | <source lang="lua"> | ||
Line 21: | Line 23: | ||
LÖVE can load a game in two ways: | LÖVE can load a game in two ways: | ||
− | * From a folder. | + | * From a folder that contains a main.lua file. |
− | * From a .love file | + | * From a [[LÖVE Game File|.love file]] that has a main.lua file in the top-most directory level (aka root) |
− | + | ||
− | + | For creating .love files see [[Game Distribution]]. | |
+ | ---- | ||
===Windows=== | ===Windows=== | ||
− | + | [http://studio.zerobrane.com ZeroBrane Studio], [[Sublime Text]], [[Notepad++]], and [[SciTE]] allow you to launch the game from within their code editors. | |
− | |||
− | + | Otherwise, the easiest way to run the game is to drag the folder onto either love.exe or a shortcut to love.exe. Remember to drag the folder containing <code>main.lua</code>, and not <code>main.lua</code> itself. | |
− | + | You can also launch the game from the command line: | |
− | |||
− | |||
− | |||
− | |||
− | + | <source lang="powershell"> | |
+ | "C:\Program Files\LOVE\love.exe" "C:\games\mygame" | ||
+ | "C:\Program Files\LOVE\love.exe" "C:\games\packagedgame.love" | ||
+ | </source> | ||
− | <code> | + | You can create a shortcut to do this; simply make a shortcut to love.exe, right-click on it and select "Properties", and then put the command line you want in the "Target" box for the shortcut. |
− | love --console | + | |
− | </ | + | On Windows, there is a special command-line option which will attach a console to the window, allowing you to see the result of <code>print</code> calls (equivalent to setting <code>t.console=true</code> in [[conf.lua]] or running <code>lovec.exe</code> (since [[0.10.2]])): |
+ | <source lang="bash"> | ||
+ | "C:\Program Files\LOVE\love.exe" --console | ||
+ | </source> | ||
+ | |||
+ | ---- | ||
===Linux=== | ===Linux=== | ||
− | On Linux, you can use | + | On Linux, you can use one of these command lines: |
− | < | + | <source lang="bash"> |
− | love /home/path/to/ | + | love /home/path/to/gamedir/ |
love /home/path/to/packagedgame.love | love /home/path/to/packagedgame.love | ||
− | </ | + | </source> |
− | + | If you installed LÖVE system-wide, you can double click on .love files in your file manager as well. | |
− | + | ---- | |
+ | === macOS === | ||
− | + | On macOS, a folder or .love file can be dropped onto the love application bundle. On the Mac Terminal (command line), you can use love like this (assuming it's installed to the Applications directory): | |
− | + | <source lang="bash">open -n -a love "~/path/to/mygame"</source> | |
− | + | However, the above method will not output printed text to the terminal window. To do that, you will need to execute the love binary inside the application bundle directly: | |
− | + | <source lang="bash">/Applications/love.app/Contents/MacOS/love ~/path/to/mygame</source> | |
− | < | + | You can set up an alias in your Terminal session to call the binary when you use <code>love</code> by adding an alias to your <code>~/.zshrc</code> file (Z shell configuration file). |
+ | |||
+ | Open the file with | ||
+ | <source lang="bash">open -a TextEdit ~/.zshrc</source> | ||
+ | |||
+ | You may have to run | ||
+ | <source lang="bash">touch ~/.zshrc</source> | ||
+ | first if the file does not yet exist. | ||
+ | |||
+ | Then paste in the following code and save the file: | ||
+ | <source lang="bash"> | ||
# alias to love | # alias to love | ||
alias love="/Applications/love.app/Contents/MacOS/love" | alias love="/Applications/love.app/Contents/MacOS/love" | ||
− | </ | + | </source> |
+ | |||
+ | Now you can call love from the command line like Linux and Windows: | ||
+ | |||
+ | <source lang="bash"> | ||
+ | love ~/path/to/mygame | ||
+ | </source> | ||
+ | |||
+ | if this doesn't works you should reload the .zshrc file like this: | ||
+ | <source lang="bash"> | ||
+ | source ~/.zshrc | ||
+ | </source> | ||
+ | and try it again. | ||
− | + | ---- | |
+ | === Android === | ||
+ | As long as you have LÖVE for Android installed from the Play Store or another source and assume you didn't download/use the "embed" suffix flavor, the following methods will work: | ||
+ | |||
+ | * Transfer your game folder to <code>/sdcard/Android/data/org.love2d.android/files/games/lovegame</code> (<code>/sdcard/lovegame</code> also works in Pie and earlier) where <code>main.lua</code> is found at <code>/sdcard/Android/data/org.love2d.android/files/games/lovegame/main.lua</code>. In Android 11 or later, these directories only accessible through MTP in PC. Then run LÖVE for Android. | ||
+ | |||
+ | * Transfer/download a .love of your game to the device and click on it. Some file explorers will run the .love using LÖVE for Android. If it does not you can install ES File Explorer which will. If you use Dropbox, you can use that to open .love files. May not work in Android Nougat or later due to Android restrictions. | ||
+ | |||
+ | |||
+ | If you have more questions, consider reading [https://github.com/love2d/love-android/wiki/FAQ---Frequently-Asked-Questions Android-specific FAQ]. If your question is not listed, then feel free to ask in the forums or the Discord. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ---- | ||
+ | === iOS === | ||
+ | |||
+ | In order to run LÖVE for iOS, it must first be compiled and installed. To do that, you’ll need macOS, [https://developer.apple.com/xcode/ Xcode 7 or newer], and the LÖVE for iOS source code downloadable from the [https://love2d.org home page]. | ||
+ | |||
+ | * If the <code>libraries</code> folder isn't present in the <code>love/platform/xcode/ios</code> folder, download the iOS libraries from the [https://love2d.org/ homepage], and place the <code>iOS/libraries</code> folder from the zip there. They contain the third-party library dependencies used by LÖVE. | ||
+ | |||
+ | * Open the Xcode project found at <code>love/platform/xcode/love.xcodeproj</code> and select the <code>love-ios</code> target in the dropdown menu at the top of the window. | ||
+ | |||
+ | * You may want to change the Build Configuration from Debug to Release for better performance, by opening the "Edit Scheme..." menu from the same dropdown selection. | ||
+ | |||
+ | * Choose either an iOS Simulator device or your plugged-in iOS device in the dropdown selection to the right of the previous one, and click the Build-and-Run ▶︎ button to the left, which will install LÖVE on the target device after compiling it. | ||
+ | |||
+ | |||
+ | LÖVE on iOS includes a simple list interface of games that are installed (until you [[Game Distribution|fuse]] a .love to it for distribution.) | ||
+ | |||
+ | * To put a .love file on the iOS Simulator after LÖVE is installed, drag the file onto the iOS Simulator’s window while it’s open. LÖVE will launch if it’s not running already. If another game is currently active you may need to quit LÖVE for the new game to show up (press Shift-Command-H twice to open the App Switcher menu on the iOS Simulator.) | ||
+ | |||
+ | * To put a .love file or game folder on your iOS device after LÖVE is installed, you can either download it with the Safari, or transfer it from your computer through iTunes when your device is connected: open iTunes, go to the iOS device which has LÖVE installed, go to the ‘Apps’ section and scroll down and find LÖVE, and add the .love file or game folder to LÖVE’s Documents section. On more recent iOS and Mac versions, you can use Airdrop to transfer your .love file from your Mac to where LÖVE is installed. | ||
+ | |||
+ | |||
+ | See the [[Game Distribution]] page for creating Fused LÖVE games on iOS and distributing them. | ||
+ | |||
+ | |||
+ | Note: for those interested in creating a LÖVE game directly on iOS, the Textastic app (available on the Apple App Store for purchase) can utilize SublimeText's packages-- one of which is a LÖVE package. You can follow these instructions to load that LÖVE package into the Textastic app on your iOS device to author LÖVE code directly on your iOS device. You'll then need to follow the earlier instructions on how to zip up that code into a .love file but then can either export that .love file to a LÖVE app running on your iOS device or an external device running a LÖVE application. | ||
+ | |||
+ | Instructions: | ||
+ | |||
+ | #Purchase the iOS Textastic app on the App Store | ||
+ | # Create a folder in Textastic (while inside the Textastic app "Local Files" section or in the iOS Files app under the Textastic folder) called "#Textastic" | ||
+ | # go to https://github.com/szensk/subllualove in Safari on your iPad | ||
+ | # tap the green "Code" button and select "Download ZIP" | ||
+ | # Unzip the file in the Files app. This will create a folder called "subllualove-master" | ||
+ | # Move or copy that folder into the folder "On my iPad/Textastic/#Textastic/". This is equivalent to this folder in Textastic: "Local Files/#Textastic/". | ||
+ | # In Textastic, go to Settings (gear wheel on the bottom left portion of the app) -> Other and tap "Reload Customizations" | ||
+ | # In File Properties (document looking icon on top right portion of the app) -> Syntax Definition, there is now a new item "LOVE (*.lua)" that you can select after opening a .lua file. | ||
+ | |||
+ | If you have any questions on this process, please contact the Textastic developer (very responsive by email support) | ||
− | |||
− | |||
− | |||
− | |||
== Next steps == | == Next steps == | ||
* [[Tutorial:Callback_Functions]] will teach you the basic structure of a love game. | * [[Tutorial:Callback_Functions]] will teach you the basic structure of a love game. | ||
− | * [[:Category:Tutorials]] are the next piece of reading | + | * [[:Category:Tutorials]] are the next piece of reading. |
+ | * [[Main Page|Wiki]] The LÖVE wiki. | ||
+ | |||
+ | == Other Languages == | ||
+ | {{i18n|Getting_Started}} | ||
[[Category:LÖVE]] | [[Category:LÖVE]] |
Latest revision as of 23:41, 20 October 2024
Contents
Get LÖVE
Download the latest version of LÖVE from the website, and install it. If you're on Windows and don't want to install LÖVE, you can also just download the zipped executables and extract them anywhere.
To find out which version of LÖVE is installed, run the following command:
love --version
Note that you may need to add the directory where LÖVE resides to your system's PATH variable, in order to be able to run it from the command line.
Making a Game
To make a minimal game, create a folder anywhere, and open up your favorite text editor. Sublime Text is a pretty good one for all operating systems, and it has Lua support built in. Create a new file in the folder you just created, and name it main.lua
. Put the following code in the file, and save it.
function love.draw()
love.graphics.print("Hello World", 400, 300)
end
Running Games
LÖVE can load a game in two ways:
- From a folder that contains a main.lua file.
- From a .love file that has a main.lua file in the top-most directory level (aka root)
For creating .love files see Game Distribution.
Windows
ZeroBrane Studio, Sublime Text, Notepad++, and SciTE allow you to launch the game from within their code editors.
Otherwise, the easiest way to run the game is to drag the folder onto either love.exe or a shortcut to love.exe. Remember to drag the folder containing main.lua
, and not main.lua
itself.
You can also launch the game from the command line:
"C:\Program Files\LOVE\love.exe" "C:\games\mygame"
"C:\Program Files\LOVE\love.exe" "C:\games\packagedgame.love"
You can create a shortcut to do this; simply make a shortcut to love.exe, right-click on it and select "Properties", and then put the command line you want in the "Target" box for the shortcut.
On Windows, there is a special command-line option which will attach a console to the window, allowing you to see the result of print
calls (equivalent to setting t.console=true
in conf.lua or running lovec.exe
(since 0.10.2)):
"C:\Program Files\LOVE\love.exe" --console
Linux
On Linux, you can use one of these command lines:
love /home/path/to/gamedir/
love /home/path/to/packagedgame.love
If you installed LÖVE system-wide, you can double click on .love files in your file manager as well.
macOS
On macOS, a folder or .love file can be dropped onto the love application bundle. On the Mac Terminal (command line), you can use love like this (assuming it's installed to the Applications directory):
open -n -a love "~/path/to/mygame"
However, the above method will not output printed text to the terminal window. To do that, you will need to execute the love binary inside the application bundle directly:
/Applications/love.app/Contents/MacOS/love ~/path/to/mygame
You can set up an alias in your Terminal session to call the binary when you use love
by adding an alias to your ~/.zshrc
file (Z shell configuration file).
Open the file with
open -a TextEdit ~/.zshrc
You may have to run
touch ~/.zshrc
first if the file does not yet exist.
Then paste in the following code and save the file:
# alias to love
alias love="/Applications/love.app/Contents/MacOS/love"
Now you can call love from the command line like Linux and Windows:
love ~/path/to/mygame
if this doesn't works you should reload the .zshrc file like this:
source ~/.zshrc
and try it again.
Android
As long as you have LÖVE for Android installed from the Play Store or another source and assume you didn't download/use the "embed" suffix flavor, the following methods will work:
- Transfer your game folder to
/sdcard/Android/data/org.love2d.android/files/games/lovegame
(/sdcard/lovegame
also works in Pie and earlier) wheremain.lua
is found at/sdcard/Android/data/org.love2d.android/files/games/lovegame/main.lua
. In Android 11 or later, these directories only accessible through MTP in PC. Then run LÖVE for Android.
- Transfer/download a .love of your game to the device and click on it. Some file explorers will run the .love using LÖVE for Android. If it does not you can install ES File Explorer which will. If you use Dropbox, you can use that to open .love files. May not work in Android Nougat or later due to Android restrictions.
If you have more questions, consider reading Android-specific FAQ. If your question is not listed, then feel free to ask in the forums or the Discord.
iOS
In order to run LÖVE for iOS, it must first be compiled and installed. To do that, you’ll need macOS, Xcode 7 or newer, and the LÖVE for iOS source code downloadable from the home page.
- If the
libraries
folder isn't present in thelove/platform/xcode/ios
folder, download the iOS libraries from the homepage, and place theiOS/libraries
folder from the zip there. They contain the third-party library dependencies used by LÖVE.
- Open the Xcode project found at
love/platform/xcode/love.xcodeproj
and select thelove-ios
target in the dropdown menu at the top of the window.
- You may want to change the Build Configuration from Debug to Release for better performance, by opening the "Edit Scheme..." menu from the same dropdown selection.
- Choose either an iOS Simulator device or your plugged-in iOS device in the dropdown selection to the right of the previous one, and click the Build-and-Run ▶︎ button to the left, which will install LÖVE on the target device after compiling it.
LÖVE on iOS includes a simple list interface of games that are installed (until you fuse a .love to it for distribution.)
- To put a .love file on the iOS Simulator after LÖVE is installed, drag the file onto the iOS Simulator’s window while it’s open. LÖVE will launch if it’s not running already. If another game is currently active you may need to quit LÖVE for the new game to show up (press Shift-Command-H twice to open the App Switcher menu on the iOS Simulator.)
- To put a .love file or game folder on your iOS device after LÖVE is installed, you can either download it with the Safari, or transfer it from your computer through iTunes when your device is connected: open iTunes, go to the iOS device which has LÖVE installed, go to the ‘Apps’ section and scroll down and find LÖVE, and add the .love file or game folder to LÖVE’s Documents section. On more recent iOS and Mac versions, you can use Airdrop to transfer your .love file from your Mac to where LÖVE is installed.
See the Game Distribution page for creating Fused LÖVE games on iOS and distributing them.
Note: for those interested in creating a LÖVE game directly on iOS, the Textastic app (available on the Apple App Store for purchase) can utilize SublimeText's packages-- one of which is a LÖVE package. You can follow these instructions to load that LÖVE package into the Textastic app on your iOS device to author LÖVE code directly on your iOS device. You'll then need to follow the earlier instructions on how to zip up that code into a .love file but then can either export that .love file to a LÖVE app running on your iOS device or an external device running a LÖVE application.
Instructions:
- Purchase the iOS Textastic app on the App Store
- Create a folder in Textastic (while inside the Textastic app "Local Files" section or in the iOS Files app under the Textastic folder) called "#Textastic"
- go to https://github.com/szensk/subllualove in Safari on your iPad
- tap the green "Code" button and select "Download ZIP"
- Unzip the file in the Files app. This will create a folder called "subllualove-master"
- Move or copy that folder into the folder "On my iPad/Textastic/#Textastic/". This is equivalent to this folder in Textastic: "Local Files/#Textastic/".
- In Textastic, go to Settings (gear wheel on the bottom left portion of the app) -> Other and tap "Reload Customizations"
- In File Properties (document looking icon on top right portion of the app) -> Syntax Definition, there is now a new item "LOVE (*.lua)" that you can select after opening a .lua file.
If you have any questions on this process, please contact the Textastic developer (very responsive by email support)
Next steps
- Tutorial:Callback_Functions will teach you the basic structure of a love game.
- Category:Tutorials are the next piece of reading.
- Wiki The LÖVE wiki.
Other Languages
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info