Omega Basic is a full development kit developed in Java for developing games and applications for mobile devices. Being a kit it contains a compiler, builder and editor along with various other items such as example code, manual etc.
If you didn't know, Java is a programming language which can run on any operating system support the Java Virtual Machine (VM) without the need of recompilation etc. So I write a Java app on my Windows computer, and as long as I make allowances for certain differences e.g. Windows '\' and Unix '/' it will work on a mac, unix and linux.
Java is pretty terrible with GUI design because of it having to run on different operating systems. Therefore, it is a bit cumbersome developing big editors with it, and then it has a habbit of becoming slow (eclipse and jbuilder

).
Quote: "Or does this mean that Omega Basic has it's own IDE, but Synergy is also compatible with it?"
Omega Basic has a simpler 'Omega Basic only' editor for use on Windows, Linux, Mac, Unix, Solaris...
Synergy IDE is a Windows only editor that benefits from the latest technologies.
Quote: " ahhhhhhhhh gotcha. So Omega just simplifies Java?"
It does both, you can write programs like this
Dim PlayerX = 0
Dim PlayerY = 0
Dim PlayerHealth = 100
Rem max health should be a array that stores each level's max
Dim PlayerLevel$[10]
Dim MaxHealth$[10]
Rem enemyhealth should be set at the beginning of each round
Dim EnemyHealth = 0
Rem these should be bars to show up the rounds
Dim PlayerTurn = 0
Dim EnemyTurn = 0
Rem movemode 1 = walking, 2 is running, 3 is talking mode
Dim MovementMode = 1
Rem state battle indicates if you are in a battle mode or not
Boolean StateBattle = false
Dim CurrentKey
Dim Checked=0
Dim mode = 0
Rem the next variables are for the main menu
Boolean KeyPressed = false
Boolean NewGame = true
Boolean LoadGame = false
Boolean ExitGame = false
Dim MenuText$[4]
MenuText$[0] = "New Game"
MenuText$[1] = "Password"
MenuText$[2] = "Exit Game"
MenuText$[3] = "o"
Try
Rem Load and set up the sprites.
Image logoimage, "/Logo.png"
Sprite logo, logoimage
Image logoimage2, "/Name.png"
Sprite logo2, logoimage2
Image MenuBack, "/MenuBack.png"
Sprite MenuBG, MenuBack
Catch IO
Print "Error - Cannot load image"
End
EndCatch
EndTry
Canvas myCanvas()
Action Paint()
if LastKey() = 0 then
KeyPressed = false
Endif
If Mode = 0 Then
Cls
Sprite.draw logo
ElseIf Mode = 1 Then
Cls
Sprite.draw logo2
Else
Cls
Sprite.draw MenuBG
SetColor 255,255,255
Font Prop,Bold,Large
DrawText MenuText$[0],55,90
DrawText MenuText$[1],55,120
DrawText MenuText$[2],55,150
if NewGame = true Then
DrawText MenuText$[3],40,90
Elseif LoadGame = true Then
DrawText MenuText$[3],40,120
Else QuitGame = true Then
DrawText MenuText$[3],40,150
EndIf
EndIf
EndAction
Rem This is called when a key is pressed.
Action KeyPressed()
CurrentKey = GetKey()
If Mode < 2 Then
Rem Next screen.
if Currentkey = 53 Then
Mode = Mode + 1
EndIf
Endif
if Mode = 2 Then
if Currentkey = 56 and KeyPressed = false Then
MenuMoveDown()
KeyPressed = true
EndIf
if Currentkey = 50 and KeyPressed = false Then
MenuMoveUp()
KeyPressed = true
EndIf
EndIf
Repaint()
EndAction
Action Loop 1000
Repaint()
EndAction
EndCanvas
SetDisplay myCanvas
Listener myCanvas
Function MenuMoveDown()
Checked=0
If NewGame = true Then
Newgame = false
LoadGame = true
ExitGame = false
Checked=1
EndIf
If LoadGame = true and Checked=0 Then
Newgame = false
LoadGame = false
ExitGame = true
Checked=1
EndIf
If ExitGame = true and Checked=0 Then
Newgame = true
LoadGame = false
ExitGame = false
Checked=1
EndIf
EndFunction
Function MenuMoveUp()
Checked=0
If NewGame = true Then
Newgame = false
LoadGame = false
ExitGame = true
Checked=1
EndIf
If LoadGame = true and Checked=0 Then
Newgame = true
LoadGame = false
ExitGame = false
Checked=1
EndIf
If ExitGame = true and Checked=0 Then
Newgame = false
LoadGame = true
ExitGame = false
Checked=1
EndIf
EndFunction
Which is 100% pure Omega Basic code with no Java in sight, or you can write in 100% pure J2ME, but use the Omega Basic API's to make life easily a la Dark Game SDK.