C.G.D - Classic Game Designer

135

Comments

  • edited July 2013
    **SECOND BUG REPORT**

    Thanks to Yerzmyey and spud for pointing out a couple of bugs:

    1-Before saving the game code (when you have finished your game) you need to test it. The game does not need to be completed during this test, it is just at the test start an untainted copy of the map is created. If you do not test the most up to date version before saving, it will save an older version of the map. As long as you save a snapshot before saving the game code there will be no problems anyway.

    2-The 'force blocks' cause the sprites to disappear from the map depending on how they are used. There is no way around this in the current version, but in a week or two it will be in the final fixed version.

    New version in a couple of weeks, in which both these bugs will be fixed, a tank of thank to the people testing CGD :smile:

    Please get in touch if you have anymore problems, or you're not sure about anything. Whatever the issue, save a snapshot & there'll be a way to fix it.
  • edited August 2013
    FINAL RELEASE OF CGD*

    Okay for now I've done all the changes I'm going to do, and hopefully ironed out the bugs.

    ls1_zps7fb980b5.gif

    CGD version 1.1 can be downloaded HERE.

    The updated instructions showing the new features HERE.

    hamishscr_zps13470d3c.gifhamishscr2_zpsfb77a1ca.gif

    And a new demo game, The Lorne Sausage Lawn (basically a painter game) which can be downloaded HERE.

    Thanks to the people who have been using CGD so far, it's been very useful (and encouraging :-)) in developing the designer.

    Hope you all find it usable and enjoy. If you spot any problems or oversights let me know, happy to help.

    *for now, hopefully.
  • edited August 2013
    Haha! That's f**king amazing "The Lorne Sausage lawn" :lol:

    R-Tape you are a genius my friend! :D
    You can't expect me to have lunch with a man who's favourite part of the chicken is the right wing!
  • Damn you!

    *chucks all work in bin and downloads new version*
  • edited August 2013
    Haha! That's f**king amazing "The Lorne Sausage lawn" :lol:

    R-Tape you are a genius my friend! :D

    I have you and a few other to thank for inspiration in a chitchat thread!
    Damn you!

    *chucks all work in bin and downloads new version*

    Don't you dare! (there's not many extras)
  • I was gonna make a painter game but couldn't work out how to count how many tiles were painted.

    I'll have to have a look and see how you did it.
  • edited August 2013
    R-Tape wrote: »
    FINAL RELEASE OF CGD*


    Could You upload all the files into some place without registering?
    I'd be very grateful.
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited August 2013
    I was gonna make a painter game but couldn't work out how to count how many tiles were painted.
    I'll have to have a look and see how you did it.

    In option 6 select 'B' not 'N'.

    This opens the set counters to blocks, meaning at the start of each level is counts the number of a particular block for you, and sets the selected counter accordingly. The Pacman tutorial (post 1) is a good example of this, imagine Pacman but changing the pellet graphic to eg a dull paper and block 1 (the block used to delete 'dec counter 1' blocks) the bright painted block.

    It's too easy for me to visualise all this as I wrote the designer, I'm finding it hard to explain - I'll get some tutorials done when I have time.
  • edited August 2013
    Yerzmyey wrote: »
    Could You upload all the files into some place without registering?
    I'd be very grateful.

    Sorry Yerz:

    CGD v1.1
    http://www.mediafire.com/download/9b13i1k25t10aiq/CGD_v1.1_final070813.tap

    Instructions
    http://www.mediafire.com/download/4caw7xcz3bmg83g/CGD_instructions_070813.docx

    The Lorne Sausage Lawn
    http://www.mediafire.com/download/i3du8ezkt3mgmf9/Hamish_00.tap

    I really must sort out some webspace to host this stuff.
  • edited August 2013
    Thx a lot, I've got them now and will be testing. :)

    Greetzzzzzzzzz!
    Y

    __________EDIT______________
    Hey, a GOOD GAME, dudezzzzzzz!!!







    .
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited August 2013
    I may have some fun with this tonight...
  • edited August 2013
    R-Tape:

    About the "gravitation ON" - why the falling is so slow?
    If it was as fast as all other movements - we could make also platform-games with the editor.
    Hm. Or maybe there is another way that I dunno of............? ;)
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited August 2013
    Yerzmyey wrote: »
    R-Tape:

    About the "gravitation ON" - why the falling is so slow?
    If it was as fast as all other movements - we could make also platform-games with the editor.
    Hm. Or maybe there is another way that I dunno of............? ;)

    As the sprites are moving in character squares if it is much faster the player cannot move up.

    However it can go a bit faster, a POKE can fix it:

    Using the new version of CGD it is POKE 39260

    Using the old version you showed me with your game in it is POKE 38649

    The number to poke in is as follows:

    0,1,3,7,15,31,63,127,255 (0 is very fast, 255 incredibly slow)

    3 or 7 might work quite nicely, depends what you want to do (the default is 15).

    Do this before testing the game or it will not be recognised.

    I will update the instructions with a number of useful POKEs later.
  • edited August 2013
    Hmmm, strange.

    The guy disappears after eating 'gravity ON".

    1.1 v, poke 39260,0.




    __________EDIT___________
    Ah, OK - 3 works. I don't assume it's possible to avoid the hero's blinking when the gravity is On?
    39260,1 works even nicer but it still blinks. Ah well, OK - just testing anyway.


    _______EDIT_2_________
    Btw, when the gravity is ON with Poke 39260,1 - the hero cannot enter the upper line at all. Just thought it might be some useful info.
    And actually he can't approach any object, going up, from below, to the margin of one line.






    .
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited August 2013
    Yeah I'm afraid that's unavoidable, it's to do with the order things are deleted from the screen to avoid ghost graphics.

    Ditto the up movements, it's instantly pulling down every time so you can't always reach the top row as desired.

    The gravity was an afterthought really, something to improve on for a rewrite (ta for the info).
  • edited August 2013
    R-Tape wrote: »
    Ditto the up movements, it's instantly pulling down every time so you can't always reach the top row as desired.



    Aaaah, I get it.
    OK, no problem. Just was wondering.
    Platform games can be made on AGD or something like that, after all..
    Thx!
    ZX81/ZX Spectrum/Amiga/Atari music: http://yerzmyey.i-demo.pl/
  • edited August 2013
    Mr-Tape, is it possible to import old CGD data in to the new one? Perhaps save a block of RAM out and poke it back in for the purpose of copying tile graphics over to the new one?
  • edited August 2013
    spud wrote: »
    Mr-Tape, is it possible to import old CGD data in to the new one? Perhaps save a block of RAM out and poke it back in for the purpose of copying tile graphics over to the new one?

    The map and graphics would be easy enough, but the extra block properties will mess up a jump table so the map would in effect be wrong too.

    I'll have to check this out in detail later, but I think the answer is "probably not easily"

    If you've put a lot of work into something on the old one feel free to send me a z80 & I can see what I can do to transfer it.
  • spud wrote: »
    Mr-Tape, is it possible to import old CGD data in to the new one? Perhaps save a block of RAM out and poke it back in for the purpose of copying tile graphics over to the new one?

    The premium package comes with graph paper! :p
  • edited August 2013
    I'm updating the instructions (uploading later), but I'll post a couple of examples here, hope this first e.g. helps.

    EXAMPLE 1: A SIMPLE PAINTER GAME

    painterscr_zps80de6295.gif

    1. In the sprite designer create your player sprite right/left/up/down graphics in UDGs 0,1,2,3. In UDG 0 select ?Pacman style keys?. I find speed 8 most suitable but see what you like. Create your baddy graphic in UDG 4, in this example I chose speed 8, behaviour ? diagonal patrol and kill player. Have a play with various behaviours and you will see some work better depending how open the maze is. Don?t forget you can have a lot more baddy sprite types than the one in this example.

    2. Now the block designer, create the following:
    ? Block 0 ? background block, this block is used to delete the sprites from the map when the screen is first drawn. Property: do nothing for both.
    ? Block 1 ? the ?painted? block. Property: do nothing for both.
    ? Block 6 ? the ?unpainted? block. This can be any block but I find it best keeping 1,2,3,4,5, free as they are used in some other specialist block types you may want to use later. Property: dec counter 1 for player, do nothing for baddy. So every time the player lands on a ?dec counter 1? block it is deleted with block type 1 and counter 1 is decreased by 1.
    ? Block 7 ? the solid block. Select ?solid block? for both player and baddy.

    3. Go to Item Counters, and press ?B?, this automatically sets the counter to a particular block number. Set counter 1 to the ?unpainted? block. So every time the screen is drawn the program counts the number of block 6 and sets counter 1 to that number. Don?t worry about counters 2 & 3 for this example.

    4. Go to the Event Manager, set screen complete when: to ?Counter 1 zero?.

    5. Go to Variables. For this example set the number of levels to 1.

    6. Now create your map. This example uses a small simple maze. Remember the counter is set to the ?unpainted block? so ensure you are able to collect ALL the ?unpainted? blocks on the screen. Find the player sprite by scrolling through the UDGs and insert it where you want it to start, and do the same for as many baddies as you want (max 11).

    7. Test your masterpiece. This one is bloody hard!

    8. Here?s a link to the z80: https://docs.google.com/file/d/0ByxiMYbPnlUdV2R4eTJuQVpVWm8/edit?usp=sharing
  • edited August 2013
    EXAMPLE 2: A SIMPLE FLIP SCREEN GAME

    flipscreg_zpsbab164b3.gif

    In this example you collect a total of 18 yellow coins over the 9 screens.

    1. Create your player sprite and give it the properties you desire. Ditto baddies.

    2. Create blocks, in this simple example there is just one object to collect and it is a ‘dec counter 1’ block.

    3. In the Events Manager change ‘when player meets screen edge’ to ‘next screen. In this example I am also setting ‘Screen complete when’ to ‘counter 1 zero’. So when all the coins are collected the game finishes. In this case screen actually means whole game.

    4. Item counters, we must select the ‘N’ option here. As there are two coins per screen and there are nine screens, we set counter 1 to 18. It is best to change the number of lives to 0, it does not have to be this but the default restart resets the counters which will probably upset your game, there is a way around it with pokes, discussed elsewhere*.

    5. In variables change the number of levels to 1.

    6. Insert your blocks and baddy sprites into the 9 screens. Do not insert a player sprite, as if you do this when you move to that screen that is the position you will appear in. The default start position is at x,y 0,0. If you want a different start position you can POKE the value in:
    • POKE 34133,xcor (number 0 to 31)
    • POKE 34138,ycor (number 0 to 21)
    7. Give it a test (another difficult one with just one life!) & think about how many things you can change here!

    8. A z80 can be downloaded here: https://docs.google.com/file/d/0ByxiMYbPnlUdYVl1ekhSTGpNWWc/edit?usp=sharing

    • POKE from 34366: 33,128,153,54,0,0 this keeps playing if you lose a life, but you tend to lose about 3 lives per collision so this could work so it would be better to think of the lives as energy.
  • edited August 2013
    Phew! Good fun doing these with test match special on :D , that's enough for today though. I'll do one or two more then update the instructions.

    EXAMPLE 3: A SIMPLE PLATFORM GAME

    platformeg_zps89f256f0.gif

    Platform games are not best suited to CGD but a decent enough attempt can be made. This example is a simple platform and ladders, collect the coins and go to the exit. There are no tricks here, the ladders are not even a special block, it’s mostly about the correct placing of solid blocks in the map and being aware which blocks will delete collectable objects and sprites.

    1. Design your player and baddy sprites. In this example I find multiple key press is the best key read.

    2. Blocks: Most of the map is actually composed of solid blocks to restrict the sprites to moving in corridors. In this example note how the green background and magenta bricks are the solid blocks, and all the others can be moved through. The level is finished with a ‘level skip’ block at the top right, locked behind a ‘Counter 1<>0: locked’ block. This means the padlock block is locked until all the coins are collected. Ensure blocks 0,1,2,3 are not solid blocks, as these blocks are used for sprite and counter deletion.

    3. In Item counters I selected ‘B’, set counters to blocks, and set counter 1 to the coin block. This is not essential, e.g. you can use option ‘N’ and set it to a particular number, but it means you must have the same number of collectable objects on every screen.

    4. Give it a test and just think how many ways this can be varied.

    5. The z80 is available here: https://docs.google.com/file/d/0ByxiMYbPnlUdMVpfdzdDekk3RzA/edit?usp=sharing
  • edited August 2013
    I lied! Here's two more. Final instructions and source code to follow:

    EXAMPLE 4: A SIMPLE FROGGER GAME

    froggereg_zps260c47a3.gif

    1. Create your sprites. In this example I went for the frog at speed 6 with Pacman style keys. Create as many vehicles as you fancy with varying speeds. This is where you use type: right only, and left only. In this simple example, just 2 cars, speed 8, one left and one right.

    2. Blocks. Block 0 is the road block, property ?do nothing?. Block 1 is pavement, do nothing for the player, solid block for the baddy (this is to stop the cars randomly appearing on the top or bottom 2 rows).

    3. Map. A simple layout of 2 rows of grass at the top and bottom, with the rest as road. Insert the frog at the bottom and space 10 car sprites (5 left, 5 right) through the road.

    4. Event Manager. Change ?Screen complete when:? to player at top. Change ?Screen fails when:? to timer zero. Change ?When baddy meets screen edge:? to random wrap.

    5. Variables, in this example change the number of levels to 1 and timer to 10.

    6. POKE 39245,255. This makes a pleasing ?tick? noise every move.

    7. Here is the z80, just think how many ways it can be changed:
    https://docs.google.com/file/d/0ByxiMYbPnlUdbGI1Smo2WmJoZUE/edit?usp=sharing
  • edited August 2013
    EXAMPLE 5: A SIMPLE SOKOBAN(-ish) GAME

    sokish_zps4906a8c8.gif

    This is mainly an example of how the push ?n? lock block works, it?s not exactly like Sokoban as once it reaches the target it locks in position. Before attempting this please have a look at the properties of the ?push ?n? lock? block in the design blocks section of this document.

    1. Create a player sprite, there are no baddy sprites in this example. I favour speed 8 and single key press.

    2. Blocks. Block 0 is background colour and ?do nothing? (and the only block a push block can be pushed through), block 4 is the target block (usually leave as do nothing), block 4 turns into block 5 when the push block reaches its target. Block 6 is the ?push n lock? block, but it can be any block number. Remember when the ?push n lock? block reaches its target counter 3 is decreased.

    3. Event Manager. Set ?screen complete when? to ?counter 3 zero?. This means when the last block is pushed into place the level is complete.

    4. Item counters. Select the ?B? option, and set counter 3 to block 4, the target block. Using the ?B? option means you can have a different number of targets per level.

    5. Variables. In this example the number of levels is set to 1.

    6. Create your map. This example is not a particularly challenging puzzle.

    7. Test and think about the possibilities! (There is also the push block and the push ?n? squash block which are less specialist). Here?s the z80:
    https://docs.google.com/file/d/0ByxiMYbPnlUdSWNSejEyQzJ0dWs/edit?usp=sharing
  • edited August 2013
    ABSOLUTELY BLOODY FINAL UPDATE TO CGD FOR NOW.

    ls1_zps7fb980b5.gif

    This one has the gravity flicker fixed, and an extra block. As always any questions please ask :smile:

    CGD v1.2
    https://docs.google.com/file/d/0ByxiMYbPnlUdMjZiRHJVMS1YVW8/edit

    Instructions
    https://docs.google.com/file/d/0ByxiMYbPnlUdNnFqUnQzTS1Dd2M/edit?usp=sharing

    MEDIAFIRE LINKS
    TAP
    http://www.mediafire.com/download/5gwxjw5r5p3ak3a/CGD_v1.2_181713.tap
    INSTRUCTIONS
    http://www.mediafire.com/download/kg7uyip90f4g98n/CGD_instructions_081713.docx


    Sorry for the rubbish links, hopefully will be in the WOS archive before too long.
  • Does this one have dual properties for blocks?

    Also, any chance of increasing the amount of text for the congratulations message?
  • edited August 2013
    R-Tape, you have done an AWESOME job!
  • edited August 2013
    Does this one have dual properties for blocks?

    Also, any chance of increasing the amount of text for the congratulations message?

    Both great ideas, but not implemented here. They would be quite intrusive so it's one for a full rewrite.

    I forgot to upload the source code (some bits are better than others!):
    https://docs.google.com/file/d/0ByxiMYbPnlUdMEdTUTgyYnk3N2s/edit?usp=sharing

    I'll also put some more info in the instructions on the overall structure of the code anyone that knows a bit of assembly can tinker - the congratulations and intro screen stuff can be easily customised.
    na_th_an wrote: »
    R-Tape, you have done an AWESOME job!

    Cheers! Some parts of writing the editor were a real pain but overall this has been really enjoyable.
  • edited August 2013
    And now please a "Simple example of a tower defence game" please... :D.
    Just joking. You did a well job, R-Tape!
  • edited August 2013
    Gott wrote: »
    And now please a "Simple example of a tower defence game" please... :D.
    Just joking. You did a well job, R-Tape!

    Heh :-). The 'action' blocks (e.g pushblocks and nextblock up/down) could be kind of in this way to guide baddies towards eg a kill block. But yep possibly a bit too sophisticated to do a 'proper' defense game. An interesting idea though.

    A good idea for a rewrite would be to include another action key.
Sign In or Register to comment.