View Full Version : DizzyAGE Wish List
A simple thread, just post ideas here for a future updates/releases of dizzyage. If xelanoimis likes we may one day get them :v2_dizzy_smile:
Here are mine....
The up and down keys would be very useful and I would use them in my games.
A new sound function that will play a sample, but while the sample is playing it will mute any game music, this could be used when picking up coins, etc. Although I know how to achieve this though script a built in function may be better for other users :)
Maybe the option to play an .avi file in game area of the screen (or whole screen even) for some games that I do would add a nice new dimension to the games (like dizzy who and ring of the ancestors). As well for animated intros etc... :dizzy_biggrin:
I've got quite a few tiles that I?ve done for my games that could be included with the default download.
Being able to change the dimensions of the rooms, if I was to do a remake of the original dizzy game this would be necessary as the room size is 8px higher at 144px!
A new script file called ending.gs with a function called ending that could be called at the end of the game.
I think an ability to scroll through the map with your mouse aswell as the arrow keys :v2_dizzy_blush: I'm a lazy person lol
xelanoimis
08-03-07, 04:58 PM
The Z80 screen is 256x192 pixels and
the room size for all Dizzy games is 240x136
except Dizzy 1 that is indeed 240x144 !
But I don't promise anything about it in this version.
Send me the tiles and if they are fit, I'll add them in the default template.
I can add an ending function with some menu, but each user will have to call it when the game is done, because only they know when their game is considered ended :)
I think I'll add the load / save in the main menu by default.
Avi format is difficult to add, because it usually depends on installed codecs,
and there are lots of internal formats of avi. But something similar can be achived with a sequence of tiles, though it will take a lot of memory.
Maybe one day I'll create a special format (like a sequence of streamed jpegs)
But I'm afraid it will not come in time for this version of your game.
As for the sound volume trick, I guess it's better to stay in the script if needed, because it is a very specific thing. I guess you reduce the music volume to 0 or half, while a specific sample is being played. You can check on the update handler if the sample is playing and restore the volume when not.
I'll look at the mouse scroll in the editor. It would be usefull indeed.
Thanks for suggestions, and if you have more...
Ok another few :)
An update to the AIUpdateTrain() function, so that the lift can pause at each waypoint for a certain amount of time. This could be done by assigning a number to user field #34 specifying the pause time in seconds. For example 0 = no pause and 3 = 3 seconds :)
Being able to get dizzy to swim, like in spellbound when he has the flippers ( a spellbound remake maybe on the cards then ;) ).
xelanoimis
11-03-07, 08:30 PM
The swimming would be a nice thing indeed, but it will be difficult to implement exactly the same. Maybe I'll have another look at it, if someone can provide me a Z80 saved game in Spellbound with the flippers and near a water pool. I don't have time to play to get the flippers. Send it on my email.
I have winz80 and speculator installed, but I can install something else if the saved files requires.
Ok i've sent it :dizzy_wink:
1. Make the Dizzy spite have red boots and gloves.
2. Tinker with the sound? If I am listening to an MP3 on the PC and load a Dizzy game I want the sound off. Thing is if I do that my MP3 mutes too.
xelanoimis
12-03-07, 06:04 PM
The sprites from the default template are the Z80 set, but if someone grabs the PC set, I'll add it as a pack. If it's just the boots... can get it from "The Other Side" :)
As for the mute function, now it mutes the main Wave channel indeed.
It's used more like a quick silence when you play and the phone rings...
I'm not sure if it should or not act like this.
Others are invited to give their opinion....
If you listen to others mp3 songs during playing, set music volume to 0 from game the setup (or directly in the ini file).
Thanks for the sound thing. Never would have thought of that.
how about a on screen keyboard so people using joypads can enter codes and text, etc... useful for games that use hi-score tables or level passwords
xelanoimis
13-03-07, 02:07 PM
I guess that the keyboard screen is too particular for a classic Dizzy game, so you should implement it in the script, using a dialog (or something similar in the DrawHud handler).
When up and down keys will be added, a "selection cursor" could move on four directions.
Until then, you can scroll horizontaly a single line with characters, use action to select a character, have special character for delete, or accept, etc
If it turns out well, it can be posted as an article or a code pack, for others to use if need it.
how about tile scaling x2 x3 etc... :v2_dizzy_wink:
i've already done that for Dreamworld Dizzy... :v2_dizzy_wink2:
i just scaled them in GIMP, then added them as custom tiles...
i'm guessing you're asking cause you've had to do something similar to the Daisy tile for Magicland?
yeah for magicland i've already done it via gimp. but for some situations being able to do it via the script would be nice :)
hmmmm i guess, altho i think i prefer the greater control over them that using custom tiles gives you.
Dreamworld is only using two scaled-up tiles.
xelanoimis
26-03-07, 10:01 AM
Tile scaling of tiles/brushes would be a problem because:
The selected tile portion (mapping rectangle) is repeated inside the brush/object rectangle
so a scale property on the brush would be ambiguous, because it could reffer to the
tile mapping to be bigger (less repeats) or to the brush dimension to be bigger (more repeats), or both.
Since in editor you draw the exact brush size with the mouse, it could not use a scale property already set to a higher value. Also the dynamic scale change could affect some brushes/objects partitioning at runtime and other technical details.
Also if scale would be used, a scale center is also necessary and the things get too complicated.
And the same problem is with the rotation of tiles (with 90deg angles) - this one would have been even more usefull.
So, it is better to use custom sized tiles and change them and the object size (and position) manually in the script, for each particular case.
If you size the tiles correctly (with no filtering, keeping the same number of colors), they will be compressed very well, and they would not be a game size problem.
xelanoimis
26-03-07, 10:06 AM
However, I am looking into the custom room size request.
It would be nice for accurate Dizzy1 remake.
You will probably have 4 properties like
G_VIEWX,G_VIEWY for position of the room on the hud (in the 256x192 Z80 screen)
G_VIEWW,G_VIEWH or G_ROOMW, G_ROOMH for room size on the hud
the room size would be fixed per map and saved from the editor (that I think already supports different sizes - not tested thow).
So, pteal, you might want to wait for v2.0 before doing the map of Dizzy1 :)
Excellent! :v2_dizzy_biggrin:
with that you could also do things like move the hud to the bottom of the screen, and other nifty things :v2_dizzy_smile:
doing that i could do a fantastic dizzy and crystal kingdom remake or even bubble dizzy :v2_dizzy_scared:
xelanoimis
26-03-07, 01:03 PM
Still,
I'll look into the scale thing that it might be considered in the following way:
Like the FLIP XY property that affects only the selected mapping rectangle (from the tile), independent of the brush size, a FLIP ROT or a SCALE property would also affect the mapping rectangle only.
So, if you select a mapping of 10x10 pixels from a tile, and use a scale of 2, you will have to paint a brush of 20x20 to see it all.
For dynamic changes, you would still have to change the size (and position) of the brush/object at runtime, but you will be able to resize the mapping with the scale, without the need of a bigger tile image.
If you have a brush with 10x10 with a mapping of 10x10 and set the SCALE to 2 without resizing it, you will only see half of it.
Also as an example, if you want to rotate 90 degree an object, you will have to adjust it's position and size (reverse width and height), and just set the FLIP_ROT property.
This way the rotation and scale would make sense and it would be usefull to avoid painting resized or rotated tiles.
I'll see if implementing it into the engine and editor is not too hard and if it doesn't take to lookn it might be in v2.0
xelanoimis
27-03-07, 08:26 PM
Ha,Ha!
I amazed myself this evening, finding two bugs in the DizzyAGE engine.
The funny thing is that they were hiding each other so nice, that to the
user everything was looking fine, but the brushes partitioning was a mess!
I fixed the first one, when I found it, and most of the rooms were not displaying anymore.
Digging in, I found his brother too, and now it's all as it should be :)
I'm working on the custom room size, and it all goes well.
I can walk The Other Side map with half width rooms - very strange feeling...
xelanoimis
27-03-07, 08:55 PM
here is a shot attached, in full z80 screen (256x192 rooms) with no hud ;)
that does look very strange.....
Excellent :v2_dizzy_yahoo:
i can wait for v2.0 now!
can a little error message be added to the map editor, so that if you try and exit without saving, it asks you if you want to save?
i'm sure i'm not the only person who's exited without saving.
not recently tho, i soon learnt....
nice idea, i've done it serveral times in the past. but not recently though. also while we are on the subject of the editor, how about a save option so you can save it under the last opened filename and a adding this option to the editors toolbar too.
xelanoimis
28-03-07, 04:49 PM
Saving the current map with it's file name (last opened) is quickly done with ctrl+S that stands
for "Save" from any File menu in any application. The "Save As" is only in menu.
I can add this "Save" option in the file menu, before "Save As" if that's what you needed.
As for the save warning when exiting, I'll do it
xelanoimis
03-04-07, 08:33 PM
Here is a v2.0 shot of rotated and scaled brushes... :v2_dizzy_cool:
looking good! side on dragon :v2_dizzy_eek:
xelanoimis
03-04-07, 10:10 PM
About the swimming in Dizzy V,
I think it might be possible to do something pretty similar with
the current version of DizzyAGE.
In the PlayerUpdate handler a few checks with the keys for allowing
to change direction in jumps and falls while in water and stuff like that.
It also seems to me that, while in water, Dizzy moves slower, about a
P_DELAY of 4 instead of 3.
If anyone have the swimming Dizzy tiles (animated) already captured to use
in DizzyAGE, let me have them and I'll try a tech demo soon. If not, I'll grab
them myself one of those days and I'll still try the tech demo :)
i have all the swimming tiles and the dizzy in the snorkle tiles which i did for mystic kingdom (alot of under water in that game ;) )
i'll email them to you later :)
xelanoimis
05-04-07, 06:53 AM
thanks, i got them.
As news from DizzyAGE 2, it will support "Custom Movement" for player!
Meaning the player will have a property that tells if the engine should or
should not do the movenent of the player (somehow like the STAUS_SCRIPTED state)
I implemented last night all the movement from the engine into a gs script file and
it works the same as the engine code. It will be in the default template.
The advantage is that users can adjust the player movement as they like.
Ex: shrinking the player, moving in smaller steps, imponderability, etc.
It is pretty advanced stuff, but it makes possible to script some special movements.
I hope I'll do some nice progress during the one week Easter hollyday, and maybe have a
beta version ready this month.
with all these new featues especially 'custom movement' it seems like you'll be able to do almost anything now! :v2_dizzy_jawdrop:
another idea...
I was thinking that the map editor could create a file when saving when saving the map that would include a list of all brushes with ID?s.
Then this file could be used in files.gs to get the list of brushes with ID's for saved games.
xelanoimis
06-04-07, 07:57 AM
A very good idea. I'll have it done.
The save and load functions will use this file to save and load brushes, so the user
will no longer have to list them by hand and get the chance to miss some.
However, while creating the map, users must be careful, to set brushes id-s only to the
brushes that really need it. Or else, too many brushes will be saved in the save game,
increasing the file size for nothing.
But this can be part of a "Before release" article and users can search for brushes with ids
to make sure those are the brushes they intended to have ids.
xelanoimis
15-04-07, 10:52 AM
I need some advice.
DizzyAGE v2 have the folowing keys defined:
KEY_LEFT (left arrow, z)
KEY_RIGHT (right arrow, x)
KEY_UP (up arrow, space), used for jump
KEY_DOWN (down arrow, c)
KEY_ACTION (enter)
KEY_MENU (escape, q)
(KEY_JUMP is a define in script with the same value as KEY_UP)
In the original Dizzy games, the menus are navigated with KEY_LEFT and KEY_RIGHT.
Should DizzyAGE v2 keep the same convention in the default template?
Or should it use KEY_UP and KEY_DOWN, that are more intuitive for PC games?
Or should it allow both UP and LEFT for going up and DOWN and RIGHT for going down?
If only UP and DOWN keys are to be used, LEFT and RIGHT can be used to
adjust sound volume or other increment/decrement options. If not, these options must be set by pressing action (increment like in The Other Side)
Of course, game developers can use them as they like, but it's a matter for the default template,
and most of the games that don't change the behaviour.
So let me know how would you like it.
Also if you have a better suggestion for second option of DOWN key, that was
not in the original games (i'm thinking of using 'c' from crouch).
Alex, did you know the original games did have up and down keys? they were K (Up) and M (down) keys. It was never well documented thought try them in any original dizzy game with the inventory dialog to see what i mean.
personally my feelings are that the left/right and up/down keys should be used to navigate the menus, e.g. left and up go up and right and down go down.
Also i feel that the jump key should be seperate from the up key. this will then allow things like lift controls to be used as in the Seymour games. Maybe remap the jump from the up key to the right shift key?
xelanoimis
15-04-07, 11:54 AM
Ok,
I'll have:
KEY_LEFT (arrow_left, z, joy_left)
KEY_RIGHT (arrow_right, x, joy_right)
KEY_UP (arrow up, k, joy_up)
KEY_DOWN (arrow down, m, joy_down)
KEY_JUMP (space, space, joy_button1)
KEY_ACTION (enter, enter, joy_button2)
KEY_MENU (escape, q, joy_button3)
If games want to do jump with up key, they can
overwrite the jump key value in the script (game update).
(so it can be played with a single hand :dizzy_wink:, if no need for separate up/down )
I want to keep shifts and controls for debug navigation.
EDIT: Oh, and right shift and arrows is an unfortunate combination for cheap keyboards like mine.
(if you ever played Mortal Kombat with a friend on the same keyboard, you know what I mean...)
xelanoimis
16-04-07, 09:01 PM
Dizzy learned to swim this evening :v2_dizzy_yahoo:
In Spellbound style, empty hands, with flippers, with scuba, with flippers and scuba :v2_dizzy_wink:.
I'll have a small sample along with the DizzyAGE 2.0beta, for Pteal to use in his remake of Dizzy V.
Hopefully the beta version will be ready be the end of the month.
xelanoimis
19-04-07, 09:26 AM
Another piece of advice I need:
I can add an option (in a game.inf file, inside the game's data folder) to allow users to protect
their game against players who want to unpack the dizzy.pak archive or to use the developer option in the dizzy.ini.
The packer would require the password code to unpack, and other developers would have to contact the author to get it, for learning purposes.
The advantage would be that players (who know DizzyAGE options) will not be able to trick the game and spoil their fun of playing, by navigating the map in developer mode or unpacking the data and open the map in editor or read the scripts to find the solutions for puzzles.
Though, no serious Dizzy player would do that ... cough, cough!
The disavantage would be that developers must contact the game's author to get the
password and look at the scripts for learning purposes. This might slow a little the process of DizzyAGE learning.
Though, no serious Dizzy developer would be lasy to send an email.
The option would be off by default and authors could choose to protect or not their games.
So, what do you say?
Should the game protection option be available in DizzyAGE 2 or not ?
Another piece of advice I need:
I can add an option (in a game.inf file, inside the game's data folder) to allow users to protect
their game against players who want to unpack the dizzy.pak archive or to use the developer option in the dizzy.ini.
The packer would require the password code to unpack, and other developers would have to contact the author to get it, for learning purposes.
The advantage would be that players (who know DizzyAGE options) will not be able to trick the game and spoil their fun of playing, by navigating the map in developer mode or unpacking the data and open the map in editor or read the scripts to find the solutions for puzzles.
Though, no serious Dizzy player would do that ... cough, cough!
The disavantage would be that developers must contact the game's author to get the
password and look at the scripts for learning purposes. This might slow a little the process of DizzyAGE learning.
Though, no serious Dizzy developer would be lasy to send an email.
The option would be off by default and authors could choose to protect or not their games.
So, what do you say?
Should the game protection option be available in DizzyAGE 2 or not ?
I would say add it! Personally i don't have any worries about people looking though my games code and maps. but on the other hand it would stop people from 'cheating' :dizzy_wink:
xelanoimis
19-04-07, 04:02 PM
ok, I'll add it then.
It will not be unbreakable (like any protection), so no worries for lost passwords.
After all, the engine's source code will be available :v2_dizzy_wink2:
But, it will make people think twice before start looking for cheats, instead of banging their heads to solve the puzzles... :hitwall:
how about function "save/load video walkthough" on DizzyAGE (not avi, mpeg, e.t.c.) (like on "Spectaculator")
nice idea, so it would work abit like a macro storing key presses & timings while playing the game to play back later. but i could see it opening up a whole can of worms, especially if someone edits the map or changes the scirpts in some way.
xelanoimis
26-03-08, 08:06 AM
I think it is already doable from the script.
Use the update handler and consider three modes:
0 = normal playing
1 = normal playing + recordig
2 = playback
In the recording mode, on each frame, you store the incoming keys from G_KEYS (and G_KEYSHIT) in a file as integers, using GS9 file functions.
In playback mode, on each frame you read the stored keys from the file and write them back in the G_KEYS (and G_KEYSHIT), as if the player have pressed them on that frame.
Keep the file open during recording/playback.
Have all this functionality in a separate script file, for easy porting, and just call a RecorderUpdate like function in the update handler.
Optimizations can be made, to store keys in a buffer first and write it all at once in the file, when it's full. File operations per frame can be slow, so this kind of prebuffering is a good idea.
Consider a way to stop the recording/playback, like another special (non-game) key, or a combination, that players usually don't press while playing.
Also, before you start to playback a record, you must recreate the exact enviroment that was when the record was made. This can be done using a saved game. Like when you start a record, make a saved game and then record player's input. When you play one, load the saved game and emulate player's input.
This kind of gameplay recording is common to multiplayer games and sometimes it is quite tricky to implement. The good news is that DizzyAGE runs at a constant frame, so you can easy repeat a whole set of updates, given the same starting point and the player's input.
Alex
Did you ever get anywhere with large image support Alex?
xelanoimis
26-03-08, 12:00 PM
Depending how large? ;)
DizzyAGE supports whatever your hardware supports.
Internally, this means restriction to power of two for texture sizes (width and height) and on some old hardware, restrictions to square textures.
The tiles of various sizes are handeled internally by the engine and expanded to the restricted sizes.
This means, if you have a tile of 129x129 pixels, it will take as much memory as a 256x256 tile, because 256 is the next power of two, after 128.
Considering that some old hardware have a limitation of 256x256 for textures size, it is best to stay within this limit.
Who knows on what platforms will DizzyAGE be running in the future!
You don't want to force an 2048x2048 texture into a mobile cellphone :)
its this i was referring to from my game thread ;) :
As for the memory load, it can be helped by splitting the map in
rooms areas, where the tiles are loaded during the game, when
entered the first room in the area, to limit the amount of memory
used for tiles at any moment. Using TileLoad and TileUnload.
Now TileUnload unloads all the loaded tiles, but it can be made to
use some sort of package id, especially if there are a lot of common
tiles, that could be kept. Something like:
TileLoad("data/tiles/common",0); // package id=0
...
TileLoad("data/tiles/area4",1); // package id=1
...
TileUnload(1); // unload package 1
TileLoad("data/tiles/area5",1); // load other tiles as package 1
It would need an engine update, but if you're going to make
a game that needs it, I will add it at that time.
xelanoimis
26-03-08, 02:33 PM
Oh, that feature...!
The "resource group" is already implemented in the upcoming v2.2 :)
The group parameter is optional in the Load and Unload functions and by default it's assumed to be 0.
Available for tiles, sound, music and recently fonts.
could you make it so that the display size of the editor can be changed to a number the user enters? or failing that, put a 'massive' size of about 1600x1100?
my resolution is now 1920x1200 and the editor only takes up a corner of the screen now. :(
xelanoimis
12-06-08, 04:56 PM
I'll see what I can do for the future versions.
Now, the biggest size is 1280x1024.
i'm gonna add something else to this :p
i've noticed that people on russian/eastern europe fan sites are playing 'hacked' versions of the games, with infinite lives etc.
I don't like that. personally i think they should play the game as it was meant to be played.
Now obviously i could just put a password on the .pak file, but i don't want to do that, because i prefer my games to be open source, to enable others to learn from them if they wish to.
so, my question is, is it possible to keep it so that the pak file can be unpaked, enabling people to view the coding, and at the same time protect the game from playing if the game have been changed? I honestly can't think of a way of doing it tho. :(
Unless you lock the Main pac file so the game can not be changed but then add a second folder were people can then look at the codes? you know what i mean.. they could change that as much as they like but unless they change the 'real one' it wouldn't make any issues and being locked the real game code is safe.. and that way people could still view it as a source.
????
Hope that makes scenes.
Unless you lock the Main pac file so the game can not be changed but then add a second folder were people can then look at the codes? you know what i mean.. they could change that as much as they like but unless they change the 'real one' it wouldn't make any issues and being locked the real game code is safe.. and that way people could still view it as a source.
????
Hope that makes scenes.
it makes perfect sense yes. The only problem with that is that they could then use that second folder as a 'data' folder, add a .exe file and play the game from that!
Oh... but there must be a way to disable any changes to the folders.. deny them access without preventing them from looking at it. kinda like deleting the save/copy/past button.
Im sure theres a way of doing that.
OR. Password it, and then you get the password after completing the game!!! wouldn't matter then.
unless.....
alex.....
would the game play ok if you paked some of the folders inside the 'data' folder?
you could then create a new script file inside a seperate folder, that if it was missing, the game wouldn't play. then pak it and password protect it.
hmmm but that wouldn't stop other files being changed....
hmmm.
the problem is that any safeguards you insert into the script files can be removed if you have access to them.
yes you could pak the 'tiles' and 'map' folder, but that would stop people being able to use the custom graphics, and if you didn't have any then it wouldn't be of much use. And it wouldn't be much use anyway if people could still access the scripts.
In theory you could pak the game and password protect it, and provide a zip folder with the scripts and the tiles (with the ID numbers removed). that would stop people being able to recreate the game, but i dunno, i just think that's a lot of hassle to overcome some people who don't want to play the game fairly.
OR. Password it, and then you get the password after completing the game!!! wouldn't matter then.
so one person completes it, uses the password to gain access, hacks it then, and passes the hacked game on. it would only delay them by about 2 or 3 days.
I think you need a script viewer. Microsoft do one for Word which lets you read Word documents but not change them like you could if you actually loaded them into Word.
Just an idea.
yeah i know. sorry, i wasn't meaning it as a criticism, just saying why i don't think it'd work very well.
Powered by vBulletin® Version 4.2.0 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.