|
| |  | | Features History | Latest version: 1.0.10 |  |
| This page shows features added in the past, features currently in progress, and ideas for future releases.
Version x.y.z (ideas for future versions)
| Idea | Comments | | Custom menu | Custom menu to allow more features, such as menu skinning, icons, etc. | | Pause / Resume toggle | Pause menu option does not become "resume" when paused. (may require re-design of menu system) | | Alpha-blended objects / custom ink effects | Would really require higher level functions. May be impossible with current functionality of Jamagic. | | Primatives | Options to set objects to associate with primative shapes (rectangles + ellipses) to allow better normal angle calculation and realistic physics simulations. | | Zoom feature | Although zooming the displayed surfaces would be easy, it would cause slowdown and may be difficult to impliment mouse position detection. | | Multiple screen support | Seems to be more work than gain, so unlikley in near future. | | Save / Load settings | Add the ability to save / load current window & player setup. | | Port to C++? | Once I know enough C++, large parts of JAM could possibly be ported into C++ shared libraries for speed improvements. May also allow more control over drawing (i.e. alpha blending & custom ink effects :P) |
Version 1.0.14 (ideas scratchpad)
| Idea | Comments | | Auto save/load player setup | Automatically save and load the player setup, including chosen controller, key mappings, and button mappings for all gamepads/joysticks. This will allow players to return to the game with no need to repeat the setup, and re-plug devices which are immediately configured for the game. | | Still more controlls | Progress bars, Spinners (aka Throbbers), Text areas, Toggle switches and Tree views planned. Text areas may be delayed until 1.0.16. | | Icon selectors | Based on the code already used for the JAMedit add object fragment (see screenshots) - will allow 32-bit (alpha transparent) .ico files but NOT 32-bit PNGs or icon libraries (.ico files with multiple image formats). | | Face Recognition | Add face recognition to the Webcam object, for identifing face position, size, rotation, and basic expression. Tests with this are promising, but still at a very early stage. |
Version 1.0.12 (in development)
| Feature | Progress | Comments | | Hardware Acceleration |   | The ever-ellusive feature makes a comeback, and this time it's here to stay. JAM can now (optionally) render hardware accelerated, but there's still a lot to convert before it gets a genuine speed-boost. Most features still work, and it is 100% compatable with non-HWA-aware objects and fades. | | Keyboard navigation |   | Tab and Shift-tab can now be used to cycle through interactive objects (currently Button, Checkbox, Radio button and Scrollbar). When an object is selected, any keyboard input is sent to the object. This allows space-to-press, arrows-to-select, up/down/left/right/page up/page down to scroll. This makes using programs created in JAM more intuitive, and opens the way for edit objects and more. | | Cursor changing |   | Objects can now define a favoured mouse cursor which is automatically displayed when the mouse is over the object. This is currently only used by the edit object (to display an I-beam when enabled). | | Yet more user controls |   | Edit object added. Selectors, lists and spinners still to go. | | Gamepad button mapping |   | Allow actions to be named by the programmer, and assigned to generic buttons (i.e. R1, START, SQUARE, A, etc.) When a controller is chosen, it's R1, START, etc. button locations are found in a database and combined with these choices for initial mappings. The user can then edit the mappings through setup windows. This will also extend the functionality of the keyboard mappings. | | Runtime flip |   | Add the ability to flip objects horizontally & vertically at runtime. (should this be done before or after rotation?...) | | General bugfix |   | Fix all known bugs from previous versions and any new bugs. |
Version 1.0.10 (current release)
| Feature | Comments | | Path movement switching | Path movement now stores nodes instead of instances, so setting up a single movement for many objects and switching between movements is easier. Many functions have been changed by this, so all path movements in projects will need to be updated. | | Path movement node names | Path movement nodes now have names, and it is possible to check if currently at a named node. | | Window objects with own background | Backgrounds are now handled much better, with each frame able to define it's own on creation (previously it had to be defined within the startup code), and this extends to Window objects able to define a custom background. Complete with layers, parallax, opacity and foregrounds. | | Object groups | Objects can be added to groups so that a single event can change all of them at once, even if they are different classes (i.e. moving a collection of actives and buttons) | | Finish collision detection | JAM now uses Jamagic's sprite functions to detect collisions, making it much faster. It has also been made far better at detecting collision angles, making platform movements work properly. | | Child objects | Objects can contain child objects, for example a scrollbar made of buttons. This automatically caters for movement and rotation. | | Scrollbars | Scrollbars have been added. Simple. Other objects have been postponed to 1.0.12 due to complications with keyboard input. | | Mini-map object | A simple object which can be told to keep track of any objects and display them as dots in a scaled-down view of the level. | | Joystick improvements | Player objects now support up to 6 axis and 32 button joysticks, as well as joystick recognition. This has also been split into a seperate 3dd which will be released separately. | | WebCam improvements | Webcam object now auto-detects camera resolution, allows device switching and offers more information. | | Text improvements | Text object now has CanDisplay and Set/GetDefaultCharacter to help with handling characters not supported by the chosen font. It also now has a built-in mono font (courier new) and password font (dot for every character) and the font can be changed with constants (FONT_ARIAL/FONT_VARIABLE, FONT_COURIER/FONT_MONO and FONT_PASSWORD). | | Reflection object | Simple object to make reflection effects. Supports 4 reflection directions (up/down/left/right) and a scale coefficient (e.g. scale = 2 to squash the reflected image) | | Fade Cleaning | Fades have been combined, trimmed, modified, extended, extrapolated, polished and painted. Kinda. Fades are now more complete, and include fewer oddities. | | General bugfix | All known bugs from the previous version have been fixed. |
Version 1.0.8
| Feature | Comments | | Active object rotation | All objects can now be rotated with SetRotation | | Split collision | Since collision is so complex, it has been split into a separate 3DD which is used by JAM. | | Smooth zoom object | Allows a section of screen to be zoomed to twice it's size using a smooth scaling algorithm similar to 2xSaL. Works best on low colour images. Can be slow with large areas | | Alias prediction object | Allows predictive anti-aliasing of objects in a given area - works on same logic as zoom mentioned above, but blends instead of scaling. Slow with large areas | | Mouse confinement | MouseKeyboard object allows the cursor to be confined / released from a zone | | More user controls | Checkboxes & Radio buttons created. Also added more theme options (Olive and Blue XP themes, and an AUTODETECT theme which will pick the best match for the user) | | Inbuilt screensaver support | When built as .scr, uses frame 1 as main screen saver, frame 2 as preview and frame 3 as settings. Also has inbuilt settings INI. When testing, shows options to choose which screen to show at start (main, preview or settings). However, all startup code must be within a function named Screensaver due to the way Jamagic works. | | General bugfix | All known bugs from old version fixed (appart from menu-based bugs). All new bugs fixed. |
Version 1.0.6
| Feature | Comments | | Send bulk over network | All functions now default to cumulating information to send later in bulk, but this can be overriden. | | WebCam object | Allows PS EyeToy style games to be created relatively easily. | | Window debug | See realtime debug information in a seperate window, or in the command window. Note: there is an odd crash if the command window has focus when it is being used for this. | | Fix some movements | Movements now run before user code, so no flicker in platform movement, etc. Movements also tidied up | | "Set" function for actives | Allows an instant change to a picture or animation with the option to loop or return to initial state when finished, as requested in the forums | | General bugfix | Most bugs fixed, some (mentioned above) are still a problem. Also, menu-based bugs are still a problem. |
Version 1.0.4
| Feature | Comments | | Internal variables more readable | Names changed to be more descriptive in some places. Not all changed yet. | | Revise main menu handling | Custom menu system planned, but not included due to complexity. Will be included in a later release | | Simplify by breaking up | More generic functions / objects split into separate 3DDs which are wrapped by JAM | | Counters to n decimal places. | Counters can be forced to show n decimal places, and can be rounded to the nearest 10, 100, 1000, etc. | | General bugfix | All known bugs from old version fixed (appart from menu-based bugs). All new bugs fixed. |
Version 1.0.2
| Feature | Comments | | Code more readable | All important areas converted. Variables to be renamed to be more descriptive later | | Moved strings to bank | Most game strings moved to bank for easy changing / other language support | | Revised rendering engine | Faster background / foreground rendering + supports cameras | | Cameras | Create a window in the level which points to another location. Useful for split-screens | | Improved collision detection | New method found. Still not perfect (slow with big objects and some failures) but it'll do for now :) | | New movement / transition viewer | Movements source completley revised + includes path movement. New transitions. Transition viewer unchanged. | | Network object improvements | Send only changed information option added. Bugs fixed. | | Instant joystic removal detection | Shows an alert if a joystick which is in use is removed while playing | | General bugfix | All known bugs from old version fixed (appart from menu-based bugs). All new bugs fixed. |
Pre-1.0.0 releases: (different versioning system used)
| Feature | Comments | Version |
| Include objects | Fundamental part of JAM | 0.00 |
| Unique properties for object instances | Fundamental part of JAM | 0.00 |
| Resize object instances at runtime | Fundamental part of JAM | 0.00 |
| Unique IDs | Fundamental part of JAM | 0.00 |
| Unlimited frame size | Fundamental part of JAM | 0.00 |
| Resizable window | Different resize modes added over time. Bugs fixed too | 0.21 |
| Fullscreen options | First added in v0.21 Bugs with menu found later | 0.96 |
| Parallax background options | Fundamental part of JAM | 0.00 |
|
| Custom object creation | Basic layout defined from v0.00, but more features added later | 0.75 |
| Custom movement creation | Handling method changed many times | 0.30 |
| Custom fade creation | Included from the start, but improved later | 0.23 |
| Custom overlay creation | Very simple. More effects added over time. | 1.00 |
|
| Special object | Simple functions in v0.00 Expanded later | 1.00 |
| Sound object | Base features in v0.35 Expanded later | 0.95 |
| Storyboard object + Frames | Single frame support in v0.00 Different methods used later | 1.00 |
| Timer object | Simple functions in v0.00 Expanded later | 0.12 |
| MouseKeyboard object | Base features in v0.00 Expanded later | 0.99 |
| Player object | Very basic in v0.30 Improved several times | 0.65 |
| MainMenu object | Simple support in v0.50 Improved later | 0.96 |
| Network object | Added in v0.97 Better methods and more features added later | 0.99 |
| Debug object | Very simple information in v0.00. Split into separate object later, and more features added in later releases | 1.00 |
|
| Draw modes for objects | Only Jamagic draw modes supported. First added in v0.10 | 1.00 |
| Re-ordering tools (bring to front / back / etc.) | Basic options avalible from v0.00 | 1.00 |
| Unlimited global & alterable values | Slow access method in v0.10 Improved later | 0.15 |
| Object flags | Avalible from v0.12 Improved significantly later | 0.20 |
| Object hotspots | First added in v0.22 Parts fixed later | 1.00 |
|
| Main background + Collision mask | Also PasteIntoBackground. PasteIntoBackground completed in v0.26 | 0.25 |
| Collision detection + normal angle | Very basic method in v0.35 Still looking for better method | 1.00 |
|
| Active object | Crude animation compatability from the beginning, more features such as special animations and directions added later | 1.00 |
| Counter object | Numerial mode from v0.24 other modes and bug fixes later | 1.00 |
| Button object | Basic features from v0.60 largely re-written later on | 1.00 |
|
| About box :P | Simple details about who has contributed to the project. Changes with each release | 0.20 |
| Pause feature | Included from v0.10, but buggy. Improved in later releases | 0.41 |
| Dialogue boxes | Started in v0.96 | 0.98 |
| Documentation | Started in v0.11 Expanded repeatedly | 1.00 |
| |  | |  |
|