Lyvathon

 

LyvaTeach lets you create your own web-based apps/games using both the Lyvathon scripting language and LyvaTags (an HTML work-alike). These apps are hosted by LyvaTeach. Both Lyvathon and LyvaTags are open source and Java-based. Alternatively, Jython is used to develop web-based apps written in Python. Many (but not all) of these web-based apps are meant to educate the end-user.

Client-Side

  • Convert Lyvathon code to JavaScript at compile-time
  • For free-form displays, convert LyvaTags code to HTML

Server-Side

  • Convert Lyvathon code to LVC (compiled) format at compile-time
  • LVC code is interpreted at run-time (similar to byte code)

Game Move Types

  1. Single-User
  2. Dual-User
  3. Turn-based
  4. Real-time (slow)
    • 20 seconds: local interactions
    • 10 seconds: upload/download player moves/game-state
    • Repeat
  5. Real-time (fast)
    • 15 seconds: local interactions
    • 5 seconds: upload/download player moves/game-state
    • Repeat

Game Screen Size

  • Fixed: same for all players
  • Free-Form: web page based on LyvaTags code
  • Double-Size:
    • Twice the size of fixed
    • Lines/arcs 2 pixels thick
    • Images stretched to twice normal size
    • Text size (in points) is doubled
  • Same game can support fixed and double-size players simultaneously

Graphics

  1. Line (horizontal)
  2. Line (vertical)
  3. Line (diagonal, 45 degrees)
  4. Rectangle
  5. Rectangle (filled)
  6. Triangle (right isosceles)
  7. Triangle (filled)
  8. Circle
  9. Circle (filled)
  10. Ring
  11. Arc (45-degree increments)
  12. Pie (45-degree increments)
  13. Ring (45-degree increments)
  14. Image
  15. Image (transparent)
  16. Text

User Input

  • Click:
    • isright = Y/N
      • touch-screen: click on (toggle) half-filled circle icon
    • isdbl = Y/N
    • objidx
    • (x, y): relative
    • z value:
      • Text: charidx
      • Graphic: inner/outer = 0/1
      • Line: exact = 0, off by one pixel = 1
  • String:
    • Printable chars.
    • ASCII (0, 1):
      • Enter, Backspace
  • Command:
    • ASCII (2 - 5): Up, Down, Left, Right
    • ASCII (13 - 24): F1 - F12
    • ASCII (65 - 90): A - Z, with Ctrl/Alt
    • LShift, RShift, Ctrl, Alt

Lyvathon Projects

  1. Web app: ImageTree
    • Learn server-side Java programming
  2. Lyvathon console-mode
    • Release code on SourceForge
  3. Web-based terminal window
  4. Lyvathon desktop-mode
  5. LyvaTags parser
  6. LyvaTags-to-HTML converter
  7. Lyvathon-to-JavaScript converter
  8. Lyvathon on server
    • Lyvathon libraries: add lots of code modules
  9. Lyvathon app: ImageTree
  10. Jython alternative (Python for the JVM) enables LyvaTeach apps to be written in Python instead of Lyvathon
  11. Closed Source Projects:
    1. LyvAIDE: LyvAthon Integrated Development Environment
      1. Core functionality
      2. Syntax highlighting
      3. Code-completion
      4. Unlimited undo/redo
    2. Port LyvAIDE to Windows
    3. Add indexed search to Lyvathon library
    4. LyvaTeach.org website
      1. Perform beta testing
      2. Launch
      3. Accept credit card payments (paid tutor royalties)

ImageTree App

  • Handle directory tree of image files
  • Folder mode:
    • Display list of ancestor folder names
    • Display sub-list of sub-directories
    • If current folder contains image files:
      • Display link to those images as: [ $ ]
  • Super-grid mode:
    • Display grid of first image in each sub-directory
    • Current folder name ends with underscore
  • Grid mode: display grid of images
  • Image mode: display single image
  • Commands:
    • Up: go to parent
    • Down: go down a level
    • Left: go to previous sibling/screenful of images
    • Right: go to next sibling/screenful of images
    • Click:
      • go down a level (or select ancestor folder)
      • magnify on/off
    • Crop: use in image mode
[ Back to Top ]