notachair
|
|
Posted on: July 13, 2008, 08:45:36 pm |
|
|
Definitely not a chair
Joined: Feb 2008
Posts: 299
|
Suggested improvements
Here you find a huge lists of improvements that have been suggested. They are subdivided in categories.
Image and Sprite editor
- Preview in the image editor (when in zoom mode)
- polygon drawing in the image editor.
- Save and jump to next/prev frame (To help animating)
- onion skinning ? for easier animations
- CAnimation object must store images in one bitmap to save resources.
- use a tolerance level for transparency (either in the image editor or in the runner)
- Select different transparency color than left bottom one (internally make all sprites one higher???)
- Make it possible to save a sprite with all this collision data, etc. and load it later in the game. Similar for sounds, backgrounds, paths.
- Apply the animation tools to only certain frames (i.e. i have a 30 frames animation, then i want to morph it form frame 15 to 30, so the first 15 frames remain without changes)
- in the overlay function in the animation menu, an option to pick a color and set it as transparent, so we can overlay an animation without first turn it transparent.
- Integrate the sprite editor and the image editor with additional support to create animations
- support for mng animations
- possibility to add a shadow
- allow for alpha value changing, storing images differently (32-bit) and importing images with alpha channel (e.g. png)
- When in selecting mode, all sort of operations (color, blur, etc.) should work on the selection, not on the image
- Loading AVI files as animated sprites (????)
- Creating libraries of sprites and other resources that can be loaded during the game.
- Give much more control over the mask of a sprite (alpha value, disk, other shape, etc.)
- In image editor: Effects in image editor should only apply to the selection
- In image editor: Grid with changeable size
- In image editor: Polygon drawing
- In image editor: Color wheel for selection
- In image editor: Goto next, previous subimage (in sprite)
- In image editer: resize or rotate a selection
- In image editer: cut a selection
- Multiple undos
- During selection, show width and height in the statusbar
- Crop command (when size can change)
- While color picking, display the r,g,b (and hsv) values
- Add a ruler
- When pasting a copied image it should appear at a visible place in the image (e.g. when zoomed)
- Show brush size when drawing
Backgrounds
|
|
|
Logged
|
|
|
|
notachair
|
|
Reply #1 Posted on: July 13, 2008, 08:46:21 pm |
|
|
Definitely not a chair
Joined: Feb 2008
Posts: 299
|
Sound
- looping part of a piece of music
- sound_get_length(snd) function
- sound_get_position(snd) function (if it is playing)
- Function cd_loop() to loop a cd forever.
- Providing the starting place for the sound
- More support for DirectMusic files (like changing style, etc.)
- More support for Direct Music Producer files (e.g. scripts)
- function sound_play_atbeat(index)
- Better support for mp3 files
- Functions sound_get_volume() and sound_get_global_volume()
- Play sound functions should return an id such that you can change and stop individual sounds (when played multiple times)
- Pausing sound function
- Playing external sound files without the need to load the first.
- CD next track, previous track functions
Objects, Events and Actions
- A drawmysprite action and function that draws the sprite of the instance at its possition (as if there is nothing in the draw event) instance_draw_sprite()
- When displaying objects form, select the name text. (same with other resources)
- Panel resize bar between event list and action list in object form
- Separate event for left, right, top and bottom boundary and outside
- Add TAB key event
- pause
- Action for "if key is pressed"
- action to check whether a joystick button is pressed
- Seperator action (just a thick line)
- vertical health-bars
- Use a treeview for the events
- Joystick button press and release events
- drag actions directly to an event should open the event and add the action at the end
- event should appear in the list in the order they are executed
- action to check whether a save file exists
- Option to indicate in the options which libraries to include in the EXE.
- Action (or function) to destroy nearby instances of a given object
- Add an action to check whether an instance of an object is within a certain distance from a point
- Add a mouse over event (similar to no button but also with a button)
- Action to check for a keypress
- An outside view event
- Event for collision with no object.
- Support for more than 2 joysticks.
- Search button in object information.
- A while action.
Rooms
- overview of all instances in the room (plus an option to hide them)
- zoom in/out in room editor
- move part of the room around in the room creator
- add the possibility for a scaled overview of the total room
- Option to start at a particular room, e.g. for testing
- Possibility to "paint" areas in a room that create events when an object hits it
- hotkeys to quickly select objects (or start typing the name)
- possibility to hide instances of invisible objects
- possibility to have semi-transparent views
- easier mechanism to deal with tiles, e.g. filling whole regions with them.
- Posibility to remove all instances of an object
- Change the offset of the grid
- When adding tiles, use the arrow keys to select the different tiles in the set
- Possibility to have multiple rooms open at once (e.g. views in different rooms)
- Function room_delete(ind); (Why doesn't it exist?)
- Scaling instances in the room editor
- Show the view border when object following is set
- Place mirrored and rotated tiles (and instances)
- room_get_width(ind); Returns the width of the indicated room.
- room_get_height(ind); Returns the height of the indicated room.
- Fill an area with tiles in the room editor.
|
|
|
Logged
|
|
|
|
notachair
|
|
Reply #2 Posted on: July 13, 2008, 08:46:56 pm |
|
|
Definitely not a chair
Joined: Feb 2008
Posts: 299
|
Fonts
- Add underline and strike-out
- Special text effects (engraved, shadow, hollow fonts, slanting)
- Give error when drawing characters that are not in the font
- font_get_size(ind); Returns the size of the indicated font.
- Allow characters in fonts that are larger than 255.
Time lines
- expressions for the steps in a time line (more like conditionals)
- negative speed for time lines????? (so going backwards)
Paths
- A number of predefined paths (circle, square, sin wave,spiral, ...)
- Add other interpolation modes
- Make it possible to not stop at a solid object
- Make it possible to change the position with respect to which the path is relative
- End path action to continue moving in the last direction with the last speed
Game Information
- Improved Game Information with images, etc.
- More fancy editor with popup menu, etc.
- Multiple Game Information files
- Hyperlinks in game information
Scripts and code
- don't show help for function names when in a string or in comment
- Function help should not disappear when typing arguments of the function ???
- menu item to check all action arguments and pieces of code, not just scripts
- menu item to list all variables used (??)
- menu item to all scripts
- Colored comments in action list (add color argument)
- Colored { } pairs (also in actions)
- Colorcode numbers and strings in code editor with own colors
- Pop-up help for functions in the code editor
- try .. except construction (or something similar)
- When resizing the script form, keep the top the same rather than show the cursor always.
- Constant arrays, e.g. [3,4,6,2,78]
- In more functions and variables check for errors and report these.
- Find matching bracket in code editor.
- Data types and pointers in GML.
- Breakpoints in code
- Try to use shorter string than 1K per string
- Color code help list of all functions, variables, constants, and own defined things
- In options indicate which expressions to see in the debug window
- Description should remain visible when entering arguments of a function
- Search for errors in code actions and arguments
- Add an option to the debugger to show all resources of a particular type (with some information)
- Add the user script names to the help list at the bottom of the script editor (different color)
- Mechanism to spefcify the names of the arguments of a script (????)
- Mechanism for global variables without the word global (e.g. by declaring them in the game settings)
- Make it possible to open the script (or other resource) directly from the action in which it is used.
- Search and replace in all scripts (maybe)
Functions
- Functions dealing with the mousewheel.
- Add constants dir_left, dir_right, dir_up and dir_down.
- Action/function to pause the game until a key is pressed (with redraw option, like in sleep).
- Functions to deal with a string with fields delimited by a character (find,replace,delete,count)
- get_save_filename_ext() functions with more possibilities.
- function for getting windows directory (get environment variable windir?)
- function for getting windows version
- functions to get information about the computer configuration
- Function instance_top(x,y) and instance_bottom(x,y) to report the top and bottommost instance at a position
- Function to choose the CD player to use for playing music
- message_box with multiple choices (like a menu)
- function file_size(fname) to get the size of a file
- Setting window state when executing an external program (maximized, minimized, normal, or hidden)
- Make screenshot in jpg format, not bmp
- Function handle_events that handles all events that have occured in the meantime if this is possible) or maybe just handle_io.
- Add functions to wait for a particular key, mouse button or joystick button
- functions for printing (e.g. part of the screen)
- possibility to get a witness where a collision occurs
- Local health mechanism.
- Text to Speech functions
- DLL functions with integer arguments and more string arguments.
- Ability to cycle through a subset of the images in a sprite
- Function to get the id of a CD.
- Allow special graphical effects on the whole image visible in the game.
- argument checking for functions
- functions for sending email, ftp, etc.
- Use a sprite as a mask for drawing another sprite (sort of and function), possibly repeating the sprite.
- Support for force feedback
- make deleting tiles faster (e.g. use a marked field as with instances)
- resource functions to duplicate and change events
- more functions to find certain tiles.
- function move_contact should return the id of the instance you touch.
- Possibility to write a particle definition (including the sprite) to a file and to load it
- Change the background image for all tiles with a particular background (can be used for animated tiles)
- Functions like place_meeting etc. should give a witness (or a separate functions). Same for collision functions.
- Function to snap to an isometric grid.
- Functions for encrypting and decrypting data (before sending them to a file)
- Functions to count, destroy, etc. instances in a region.
- Add a function to get the value of a motion planning-grid, e.g. mp_grid_get_cell(id,h,v)
- file_time_created(filename) - Returns the creation date of the file.
- file_time_modified(filename) - Returns the modification date of the file .
- file_time_accessed(filename) - Returns the access date of the file.
- Add possibility to limit the directions of motion for potential fields (e.g. multiples of 45 degrees)
- part_system_destroy_all()
- Change capslock setting, same with e.g. scrolllock.
- String replace with regular expressions
- Function to set position of the text in a message box.
- Get the number of lines in a text file
- move_contact_object(dir,maxdist,obj) and move_outside_object(dir,maxdist,obj)
- Delete registry keys and values
- get_real(), like get_integer()
|
|
« Last Edit: July 14, 2008, 06:05:31 pm by Josh @ Dreamland »
|
Logged
|
|
|
|
notachair
|
|
Reply #3 Posted on: July 13, 2008, 08:47:56 pm |
|
|
Definitely not a chair
Joined: Feb 2008
Posts: 299
|
Data structures
Graphics functions
- More lighting posssibilities (ambient, dynamic, etc.)
- Material properties
- Shadows (probably not)
- Reading wellknown model formats
- 3D particles
- Text in 3D
- Investigate whether double texture mapping is possible
- Other transformations (quaternions, vector-to-vector)
- Setting the transformation matrix yourself and obtaining its contents.
- Bump mapping (probably not)
- Create a terrain from a bitmap (intensity is height information)
- Mechanism to walk along all tiles (e.g. get first tile index, get next, etc.)
- Arbitrary (or at least more different) sizes for the effects.
- Drawing tiles backgrounds or sprites within a given region
- Functions to transform positions from 3D to screen coordinates
- Draw healthbar action/function for a variable or value
- Drawing an arc, pie, or chord
- Function to get the current font (and other settings)
- Set the alpha value of an entire surface without changing the colors
- In game options allow for more screen resolutions and frequencies (also in the functions)
- Possibility for the player to select the resolution
- sprite_set_alpha_from_surface() and surface_set_alpha_from_sprite()
- Change the depth of a layer of tiles
- Changing sprites and background, e.g. changing the color
- Add an image as a bitmap on the clipboard (similar to saving it to a file). Useful for extension packages.
Multiplayer functionality
- Rewrite using more recent version fo DirectPlay (to avoid routers blocking games)
- Transfer a file in multiplayer mode
- Function mplay_change_name(id,name) to change a players name
- Support for sockets
Help files
- separate pages for all functions (with F1 in code editor)
- separate pages for all events and actions
Other
- Other types of loading bars (circular, percentage,etc.)
- Loading internet pages
- Interupt (pause, resume and kill) splash screens when the game is running
- Duplicate groups of resources
- Captions of resource edit windows should contain the name of the resource
- Set the location of the temp folders (and maybe their prefix) in the preferences
- Display the id of every resource in its editor (maybe with option in preferences)
- Also display the memory requirements of sprites, etc.
- Option to see the full hierarchy of object parents and children
- More shortcuts at many places in the different forms
- Avoid that when closing the maker it asks multiple times to save something.
- option to always save before testing the game.
- Much better support to get an overview of everything in your game with options to jump there (like object information)
- Search feature in object information.
- When cancelling a new resource just after it was created should delete it
- sleep for a fixed time for instances
- Possibility to make objects solid from a particular side only (or combinations)
- Allow for simple expressions in ValueEdit and also fractional values (for example for background speed)
- Toolbar or menu to start some other useful programs like e.g. a calculator
- Support for loading .ani/.cur files.
- Add an autosave option
- Possibility to specify command line parameters when testing a game
- Real timing rather than steps
- Multilanguage support
- Possibility to globally search for certain actions or variables or strings
- create a printout of the whole game???
- addition of windows controls like buttons, input fields, etc., maybe as addition resource
- pop-up dialog boxes as a resource type (various types with e.g. drop down lists)
- Option to call a game from within a game.
- Indication of memory consumption and indication of system requirements
- Clipping paths for images
- password protected editable gm6 files
- support for flash files
- Built-in database mechanism.
- Generic trigger mechanism
- Tip of the day in Game Maker
- Built-in game registration mechanism and or passwording mechanism
- Remember sub-window sizes in the maker
- Check whether there is enough space to save a file before saving it.
- Use a separate version of the runner for the stand-alone games without debugger
- Multiple scores, healths, lives, etc.
- Put Exclusive mode back in, mainly to avoid problems with tearing, resolution changing, and graphics speed.
- Make it possible to select multiple resource, for e.g. dragging into a group
- Add option not to show the loading screen at all.
- Allow partial matches when searching for resources
- In the preferences, make it possible to set the default prefixes for the resources (%d is number)
- Better support for team-based development
- Support for Visual Basic DLL's (?? Don't know why this is a problem??)
- Create videos from the game
- Support for other icon formats
- Support for changing the meta data (version, etc. ) in the executables that Game Maker creates.
- Adding company and version information in executables
- When you pop up a message box, if you have changed the mouse cursor with the corresponding action or code, the mouse cursor shouldn't change back to the default one.
- Simple mechanism to see the code corresponding to a color.
- Clear recent files history
- Try to add some form of file recovery for corrupted files
|
|
|
Logged
|
|
|
|
notachair
|
|
Reply #4 Posted on: July 13, 2008, 08:49:09 pm |
|
|
Definitely not a chair
Joined: Feb 2008
Posts: 299
|
Probably never
We most likely won't follow these, but never say never.
- Dual monitor support
- Adding more undo levels and a redo option too?
- Customizable toolbars
- Make it possible to record sounds and maybe manipulate them.
- Animated loading image
- Viewing multiple rooms at once.
- Wizards for creating particular types of games.
- Adding ability to read compressed files.
- Music while loading.
- Animated backgrounds or tiles
- Notion of regions in a room and functions/events for collisions with them and drawing settings
- Multidimensional array (with dimension larger than 2)
- Having layers of objects
- Objects consisting of subparts with their own sprites and events
- Support for icons of other sizes.
- Support for the INK package on touch panel laptops.
- Unicode support for the fonts
Suggestions I won't follow
The suggestions below have been made quite some times but we are not going to follow them. The reasons for this are indicated.
- Include an icon creator. (There are pefect free programs for this available.)
- Really compiling the code. (Way too much work.)
- A 3D version of Game Maker. (Never say never but stop asking me.)
- 3D modelling tools or model support. (Game Maker is not meant for 3D!)
- Copy-and-Paste of objects and rooms between games. (This won't work because e.g. the objects reference sprites and sounds and rooms, etc. So they are not independent of the rest of the game.)
- Start and ending movies. (These can be made very easily using the coresponding functions so I won't add special functionality for these)
- Add virtual keycode for the COMMA and PERIOD (and others???). (The problem is that these keys are manufacturer specific and are different on different keyboards.)
- Creating screensavers. (The program is not meant for that.)
- Games that run through a web page
- Versions for Mac, Unix, Palm, Mobile phones, etc.
- Creating Flash versions.
- Pallet swapping
- Sprites with animated subsprites (that is what groups are for)
- Support for running games using Remote Desktop Connection
- Open source version.
- Sound frequency function. (Is not possible with the new music/sound system.)
- Fill function. (Is not possible with the current graphics system.)
|
|
|
Logged
|
|
|
|
|
Josh @ Dreamland
|
|
Reply #6 Posted on: July 14, 2008, 06:09:26 pm |
|
|
Prince of all Goldfish
Location: Pittsburgh, PA, USA Joined: Feb 2008
Posts: 2950
|
That was indeed the point. XD
I told a2h to archive this because ism told clam to archive this; but I didn't actually know what I was asking him, exactly. But looks like he did it anyway, so, nice job! ^_^;
|
|
|
Logged
|
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble "I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
|
|
|
|
time-killer-games
|
|
Reply #8 Posted on: May 05, 2013, 02:15:31 pm |
|
|
"Guest"
|
Pretty much half the things up in the topic GM8.1 and GMS already has. I would help update this but I'm too lazy atm.
|
|
|
Logged
|
|
|
|
|