|
Post by kas29 on Jun 13, 2013 4:11:18 GMT
Hello everyone!
Is the idea to make a great game, but some things do not give it to implement .. or am I doing something wrong ..
For example: I recorded the game (code block) as the first stage, selected management game, and I want to make the second stage, respectively, it is the second code block .. but, in the second block will have to choose control ... and do not need to, as this will one game. of several large levels .. What to do? This is probably not yet possible? Question Jonathan. Is it possible in future versions Agd, to realize it or not (save only the card game, as additional to the main engine, and the initial card ..) Do not know how to say, but I think the crux of the matter is clear. Thank you.
|
|
|
Post by nra on Jun 13, 2013 8:08:26 GMT
Kas, you mean 'cards' as new (external?) resources for loading -OR- loading new levels? Unfortunately, it's rather confusing to understand...
|
|
|
Post by kas29 on Jun 13, 2013 15:34:58 GMT
I mean downloading new levels
|
|
|
Post by nra on Jun 13, 2013 18:39:08 GMT
Yeah, that would be great too! Yet I think Jonathan deliberately tries to stick to the 48K version for better compatibility, although he easily could make almost 128K (whereas some 100K available). That would be 2.5 times greater; however level loading is a marvel feature for almost any decent 48/128K game has reasonable amount of (external) levels.
BTW, kas, how many levels you could fit without compression in R2D2? I tried to implement more TYPEs (via a case-variable), used 4-sprite animation, a dozen of objects, a few colour schemes--and just some 30 levels were available before lagging started--without any music...
Anyway, some overlay approach would be great; perhaps it's feasible via loading into specific address and modifying a few of variables. Quite feasible and useful, IMO.
|
|
kk128
Cold Store
Posts: 4
|
Post by kk128 on Jun 13, 2013 21:37:55 GMT
The best way for this to be possible would be to rewrite the AGD engine in windows so games can be designed without using up additional memory with all sorts of other possibilities, play it in real time via an emulator for testing, compile down the code into RAM for testing during devlopment...drawing graphics, making music, testing animations etc. could all be done in a real nice GUI using a MOUSE....the development could be platform independent (export spectrum and CPC version of same game!!) and of course as its not being designed in spectrum memory, you could create hundreds of levels and have some built in multiload management for swapping in different levels. Of course it would all defeat the purpose of AGD in the first place I think...but I'd pay good money for a tool like this!  You know I really don't know machine code or anything, but maybe some smart person could disassemble a finished game, then dissamble a second copy of the game which has different level/graphic/etc ... then by process of elimination, find which parts of RAM change to find out which would need replaced, create some small code loader which loads in chunks of code to specifc addresses effectively hot swapping the game resources (I guess stuff like lives score etc. would need to remain somewhere in RAM). I just don't know enough about this stuff but I think with some engineering this should be possible?
|
|
|
Post by BiNMaN on Jun 13, 2013 22:50:58 GMT
|
|
kk128
Cold Store
Posts: 4
|
Post by kk128 on Jun 14, 2013 0:12:57 GMT
I've seen that, it looks great, but it seems more a coding environment tho...if the simplicity of AGD could be in a Windows app....wow 
|
|
|
Post by nra on Jun 14, 2013 8:43:14 GMT
Kas, as far as Jonathan enabled us to use external routines, perhaps a procedure to load (overwrite) data at specific address would do?
|
|
|
Post by BiNMaN on Jun 14, 2013 10:36:35 GMT
I've seen that, it looks great, but it seems more a coding environment tho...if the simplicity of AGD could be in a Windows app....wow  ah but it is though, you write using the same scripting engine it basically does everything you described in your wish list you can draw/animate sprites, draw tiles, build screens, build maps etc... another feature is the ability to import (cut n paste) from zxpaintbrush I've just not managed to get the thing to compile properly yet 
|
|
|
Post by alessandro on Jun 14, 2013 12:31:36 GMT
My Funky Fungus and Gabriele's Cattivik are the first multi-level games made with AGD. Both of them employ the use of the RAM Disk on 128K Spectrums to store and retrieve different levels, in-between screens, menu sound effects etc. through a BASIC housekeeping program. I first devised this for Al's Double Bill, which is not a multi-level game, but a combination of enhanced versions of Lost In My Spectrum and Apulija-13, plus a hidden bonus game that can only be activated by finding a secret object in the latter title. This is an easy and reliable technique but has some disadvantages. First of all, the extra storing space available is only 62 KB (4 KB less on the +3 due to the presence of the disk drive buffer, which can however be deactivated thanks to a M/C call to +3DOS). Second, while some variables, e.g. lives or play controls, can be carried from one level to another by POKEing the proper addresses before executing the level code, other can't; score for instance is always reset to 0 at game start. That's why in Funky Fungus the score is re-calculated by BASIC at the end of each level or at the loss of the last life. Third, the use of 128 BASIC commands cannot be emulated by DivIDE currently available firmware, so Velesoft's Z80 loader files must be used in order to make the game compatible with them. They have been included in the latest revision of Funky Fungus with permission from the author. Naturally, if the BASIC program is adapted to use TR-DOS file management commands, thus loading data from the floppy disk itself instead of the internal memory, the game can be saved as a TRD disk image file and successfully run through ESXDOS 0.8.5. I recently did this with the new enhanced disk version of the same game and it worked.
|
|
|
Post by kas29 on Jun 15, 2013 2:24:23 GMT
BTW, kas, how many levels you could fit without compression in R2D2? I tried to implement more TYPEs (via a case-variable), used 4-sprite animation, a dozen of objects, a few colour schemes--and just some 30 levels were available before lagging started--without any music... nra, R2-D2 in 10 levels (34 screen)
|
|
|
Post by Jonathan Cauldwell on Jun 15, 2013 20:01:46 GMT
Alessandro's solution is the only really workable one for multi-load games.
Your best bet is to load the whole program, not just the data at the end. There are pointers at the start of the engine which tell it where the various data are, along with information about the number of sprites, objects, screens etc. At the very least you'll need the first 150 bytes or so from 32006 onwards in addition to the data at the end. If you try that solution there'll be a single POKE you can employ to stop it resetting the score in subsequent parts.
You also need to come out of the game entirely, returning to the calling program (BASIC or machine code) to load the next section. Don't even think about loading the next section from within an AGD game...
|
|
|
Post by nra on Jun 26, 2013 15:50:57 GMT
Hi Jonathan)
As far as extended gameplay could enhance overall playability, may be it makes sense to add such a feature to load new levels? As for me, I find it really useful because game escapes 48k limit and becomes more enriched, let alone continuing the savegame for the real machines.
Sure, sometimes it might require loading new resources too, but the idea is quite appealing in respect of AGD, I think. Perhaps there might be some nuances with a disk version, yet could give different exp.
Cheers.
|
|
|
Post by kas29 on Jun 26, 2013 16:29:34 GMT
Guys, in principle, by means of AGD, I think I can make a multi-level game (at least 100, or 200 levels, etc. ..)) .. without resorting to native code at all, but only in the editor. The only thing you can control your character is something one (or a key or joystick ...)
|
|
|
Post by nra on Jun 27, 2013 14:50:09 GMT
Kas, it would be nice of you to share such a feature. Frankly, I was a bit disappointed I couldn't realize the whole map due to many animated and variable sprites; that's why I was going into compressors, but I found it rather awkward. What you mean 'you can control your character is something one'? Only one fixed control type available? Well, that's ok with me, let alone it can be re-POKEd 
|
|