Alice screenshot
Alice

Alice is an advanced block-based programming environment designed to simplify the creation of animations, interactive narratives, and simple games in 3D. Unlike puzzle-based coding platforms, Alice encourages learning through creative exploration, making it an ideal tool for both beginners and those with some experience in programming. Alice aims to teach logical and computational thinking skills, fundamental programming principles, and serves as an introduction to object-oriented programming.

Developed with the goal of engaging diverse and underserved groups in computer science education, Alice is accompanied by a wide range of supplemental tools and teaching materials. These resources are designed to be used across various age groups and educational levels, from middle school to university. Alice is widely used in both formal and informal educational settings, including classrooms, after-school programs, and summer camps. It has applications in a variety of subjects, from visual and language arts to introductory programming and Java courses.

Features of Alice:

  • Scene Editor:
    • Adding Objects: Easily add and manage 3D objects within the scene to build rich, interactive environments.
    • Positioning Objects: Place objects precisely within the 3D space, ensuring accurate spatial relationships.
    • Rotating Objects: Rotate objects in 3D space, allowing for dynamic and realistic animations.
    • Resizing Objects: Adjust the size of objects to fit the scene or narrative requirements.
    • Manipulating Object Joints: Fine-tune object movement by controlling individual joints, providing greater animation flexibility.
    • Using One Shots: Apply quick, predefined actions to objects for efficient animation creation.
    • Moving The Camera: Navigate the 3D scene by moving the camera, offering different perspectives and views.
    • Using Camera Views: Switch between multiple camera views to enhance storytelling and animation quality.
    • Using Camera Markers: Set markers for the camera to follow, ensuring smooth transitions and tracking within scenes.
  • Code Editor:
    • Using Procedures: Simplify programming by using built-in procedures that perform specific tasks within the scene.
    • Manipulating Object Joints: Further control object movement by programming joint-specific actions.
    • Creating Custom Procedures: Design custom procedures to tailor object behaviors and interactions to specific needs.
    • Adding and Using Parameters: Enhance procedures by adding parameters, allowing for dynamic and reusable code.
    • Using Camera Markers: Integrate camera markers within code to automate camera movements and transitions.
    • Exporting and Importing Modified Classes: Reuse and share custom object classes across different projects.
    • Using Do Together: Simultaneously execute multiple actions, enabling complex animations and interactions.
    • Using Functions: Utilize functions to calculate values and make decisions within your code.
    • Using Events: Respond to user input or changes in the environment with event-driven programming.
  • Animation:
    • Understanding Move, Turn, Or Roll: Master basic animation techniques to bring 3D objects to life.
    • Manipulating Object Joints: Fine-tune animations by controlling object joints for more realistic movements.
    • Using Joint Arrays: Animate groups of joints together for synchronized actions.
    • Manipulating Biped Joints: Create lifelike humanoid animations by controlling bipedal joint movements.
    • Biped Walk Cycle: Implement walk cycles for humanoid characters, ensuring smooth and realistic movement.
  • Interactivity:
    • First Person Camera: Create immersive experiences by setting up a first-person camera perspective.
    • Setting Up a Timekeeper: Track time within your project, useful for game mechanics and timed events.
    • Setting Up a ScoreKeeper: Manage scoring systems for games, adding competitive elements to your projects.
    • Setting Up Proximity Detection: Trigger events when objects come within a certain distance of each other.
    • Setting Up Collision Detection: Detect and respond to collisions between objects, crucial for interactive projects.
  • Audio:
    • The Basics of Using Audio: Incorporate audio elements into your projects, from background music to sound effects.
    • Adding Background Music: Enhance the atmosphere of your scenes with continuous background music.
    • Matching Sound to Animation: Synchronize sound effects with animations for a more immersive experience.
    • Creating Custom Audio in Audacity: Use Audacity to create and edit custom audio tracks for your projects.
    • Changing File Formats in Audacity: Convert audio files to different formats compatible with Alice.
  • VR Programming:
    • Overview of VR Input Mapping: Understand the basics of input mapping for VR interactions.
    • VR Locomotion On Rails: Implement a guided movement system within VR environments.
    • VR Locomotion Direct Control: Allow users to control movement directly within the VR space.
    • VR Locomotion Teleportation: Enable teleportation mechanics for moving around in VR.
    • VR Locomotion Puppeteer: Use puppeteering techniques for more natural VR movements.
    • VR Object Interaction Point and Click: Allow users to interact with objects using a point-and-click interface in VR.
    • VR Object Interaction Click and Move: Enable click-and-move interactions for object manipulation in VR.
    • VR Using Controller Objects (Hands): Integrate hand controllers for a more immersive and interactive VR experience.

Alice offers a comprehensive and flexible environment for learning and teaching programming concepts. Its diverse feature set supports a wide range of educational activities, making it a valuable tool for both educators and students alike.

Alice - Changelog:

  • VR improvements:
    • Optional conversion on open of any world with cameras.
    • Convert cameraMakers as well.
    • Better placement of hand and headset.
  • Extend Centering in Camera to the Main camera and make it usable by double click on scene tree
  • Improvements to Find in Code and Gallery Search logic. Handle odd characters and multiple terms. Searches more aspects of models, including resource names and localized identifiers.
  • Change getDistanceTo to accept SThing instead of the stricter STurnable to match other distance functions.
  • Improved RTL text handling in both say/think and 3D TextModel.
  • Better handling of Project Thumbnails and shown in more places.
  • Improve icon handling
  • I18N – Pull recent changes in from lokalise.com.
  • Update javafx.
  • Bug fixes. Many to prevent the Red Queen.
Download Alice:
For windows 64 bit:
Size: 1.33 GB - Download
Alice v3.6.0.3 for windows 32 bit:
Size: 1.34 GB - Download