Difference between revisions of "uLove"

m (Unused internal link -> Wikipoidia)
m (Linky linky)
Line 5: Line 5:
  
  
uLove is a standard subset of functionality intended to reduce Love's binary and memory footprint, and capability requirements. it is specifically intended for targetting devices and contexts that have limited capabilities or permissions, such as portable gaming devices (Dingoo, WIZ, etc), mobile devices (Mobile phones, PDAs, Nanonotes, etc), or constrained contexts (web plugins).
+
[[uLove]] is a standard subset of functionality intended to reduce Love's binary and memory footprint, and capability requirements. it is specifically intended for targetting devices and contexts that have limited capabilities or permissions, such as portable gaming devices (Dingoo, WIZ, etc), mobile devices (Mobile phones, PDAs, Nanonotes, etc), or constrained contexts (web plugins).
  
 
While any port of love may provide features beyond those defined in uLove, it not generally permitted to remove features.
 
While any port of love may provide features beyond those defined in uLove, it not generally permitted to remove features.
  
* [[uLove]] archive files are ''explicitly'' Zip files. (Rather than "nominally", as in [[Love]]).
+
* uLove archive files are ''explicitly'' Zip files. (Rather than "nominally", as in [[LÖVE]]).
* [[uLove]] ''must'' support [[image font]]s, it specifically ''may omit'' [[vector font]]s (such as [[TTF]]).
+
* uLove ''must'' support [[image font]]s, it specifically ''may omit'' [[vector font]]s (such as [[TTF]]).
* [[uLove]] ''must'' provide a default font, with a size appropriate to the target device, in the same instances that Love would provide a default font. However, this font is ''permitted'' to not be, or be named after, "[[Vera Sans]]".
+
* uLove ''must'' provide a default font, with a size appropriate to the target device, in the same instances that Love would provide a default font. However, this font is ''permitted'' to not be, or be named after, "[[Vera Sans]]".
* [[uLove]] ''must'' support [http://en.wikipedia.org/wiki/Vorbis Ogg Vorbis] Audio, it ''may'' omit all other audio formats.
+
* uLove ''must'' support [http://en.wikipedia.org/wiki/Vorbis Ogg Vorbis] Audio, it ''may'' omit all other audio formats.
* [[uLove]] ''must'' support [http://en.wikipedia.org/wiki/Portable_Network_Graphics PNG], and Uncompressed [http://en.wikipedia.org/wiki/Truevision_TGA Targa (TGA)] image formats. It ''may omit'' all other image formats.
+
* uLove ''must'' support [http://en.wikipedia.org/wiki/Portable_Network_Graphics PNG], and Uncompressed [http://en.wikipedia.org/wiki/Truevision_TGA Targa (TGA)] image formats. It ''may omit'' all other image formats.
* [[uLove]] ''may'' omit [[love.mouse]], [[love.keyboard]], and [[love.joystick]]. Though a uLove host will likely provide at least one of them, none of them are required.
+
* uLove ''may'' omit [[love.mouse]], [[love.keyboard]], and [[love.joystick]]. Though a uLove host will likely provide at least one of them, none of them are required.
* [[uLove]] ''may'' omit [[love.physics]].
+
* uLove ''may'' omit [[love.physics]].
  
 
In addition to the above constraints, [[Lovers]] must also recognise that:
 
In addition to the above constraints, [[Lovers]] must also recognise that:
* Many devices running [[uLove]] have limited memory, often 32MB ''or less''.
+
* Many devices running uLove have limited memory, often 32MB ''or less''.
* Many devices targeted by [[uLove]] have considerably less processing power than standard systems.
+
* Many devices targeted by uLove have considerably less processing power than standard systems.
* Many devices running [[uLove]] have low resolutions, in the vien of 320x240 ''or less''.
+
* Many devices running uLove have low resolutions, in the vien of 320x240 ''or less''.
* [[uLove]] is targeted at many disparate devices, uLove games should use functions such as those in [[love.joystick]] and [[love.graphics.checkMode]] to determine the device's capabilities, and adjust themselves accordingly.
+
* uLove is targeted at many disparate devices, uLove games should use functions such as those in [[love.joystick]] and [[love.graphics.checkMode]] to determine the device's capabilities, and adjust themselves accordingly.
* Many devices targeted by [[uLove]] have limited controls, usually one [[d-pad]] and four [[face button]]s (A, B, Start, Select, or equivilent) is all that can be relyed on.
+
* Many devices targeted by uLove have limited controls, usually one [[d-pad]] and four [[face button]]s (A, B, Start, Select, or equivilent) is all that can be relyed on.
 
* Many devices running uLove entirely lack mouse support, those that do present mice have touch surfaces. bare in mind that:  
 
* Many devices running uLove entirely lack mouse support, those that do present mice have touch surfaces. bare in mind that:  
 
:*Touch surfaces usually lack precision.
 
:*Touch surfaces usually lack precision.
 
:*Touch surfaces do not usually allow the pointer to be moved without also generating either a click or mousedown event.
 
:*Touch surfaces do not usually allow the pointer to be moved without also generating either a click or mousedown event.
 
:*Touch surfaces are absolute, rather than relative pointing devices. (that is, the mouse is always moved to a specific location, never by a delta).
 
:*Touch surfaces are absolute, rather than relative pointing devices. (that is, the mouse is always moved to a specific location, never by a delta).

Revision as of 21:34, 6 June 2010

uLove is only a proposal at this stage, feel free to add your thoughts


uLove is a standard subset of functionality intended to reduce Love's binary and memory footprint, and capability requirements. it is specifically intended for targetting devices and contexts that have limited capabilities or permissions, such as portable gaming devices (Dingoo, WIZ, etc), mobile devices (Mobile phones, PDAs, Nanonotes, etc), or constrained contexts (web plugins).

While any port of love may provide features beyond those defined in uLove, it not generally permitted to remove features.

  • uLove archive files are explicitly Zip files. (Rather than "nominally", as in LÖVE).
  • uLove must support image fonts, it specifically may omit vector fonts (such as TTF).
  • uLove must provide a default font, with a size appropriate to the target device, in the same instances that Love would provide a default font. However, this font is permitted to not be, or be named after, "Vera Sans".
  • uLove must support Ogg Vorbis Audio, it may omit all other audio formats.
  • uLove must support PNG, and Uncompressed Targa (TGA) image formats. It may omit all other image formats.
  • uLove may omit love.mouse, love.keyboard, and love.joystick. Though a uLove host will likely provide at least one of them, none of them are required.
  • uLove may omit love.physics.

In addition to the above constraints, Lovers must also recognise that:

  • Many devices running uLove have limited memory, often 32MB or less.
  • Many devices targeted by uLove have considerably less processing power than standard systems.
  • Many devices running uLove have low resolutions, in the vien of 320x240 or less.
  • uLove is targeted at many disparate devices, uLove games should use functions such as those in love.joystick and love.graphics.checkMode to determine the device's capabilities, and adjust themselves accordingly.
  • Many devices targeted by uLove have limited controls, usually one d-pad and four face buttons (A, B, Start, Select, or equivilent) is all that can be relyed on.
  • Many devices running uLove entirely lack mouse support, those that do present mice have touch surfaces. bare in mind that:
  • Touch surfaces usually lack precision.
  • Touch surfaces do not usually allow the pointer to be moved without also generating either a click or mousedown event.
  • Touch surfaces are absolute, rather than relative pointing devices. (that is, the mouse is always moved to a specific location, never by a delta).