Jump to content
IGNORED

Time Wizard - a game for ABBUC Software Contest 2023


amarok

Recommended Posts

1 hour ago, amarok said:

I don't know the technical details of the device. Is it a sort of cartridge or something completely different? How fast it can read/write the data into its memory?

Anyway, it would be really great to make possible to run Time Wizard on a stock 64kB Atari.

 

It’s a cartridge I’m developing. It contains a 512kb flash rom and 512kb sram. The banking system is similar as the megacart, using 16kb banks.

Currently I’m testing it before I’ll release a Developer’s Edition.

  • Like 3
Link to comment
Share on other sites

At last the day of release has come! 😀

 

I honestly admit that I couldn't wait for the moment when I would be able to make the Time Wizard available to everyone.

I am very pleased to attach a floppy disk image that contains self-starting game.

Please remember that an Atari computer with at least 128kB of RAM is required to run it.

 

I hope the game will meet your expectations and give you a lot of fun.

I would appreciate any questions or comments from you. 🙂

 

P.S. Thank you very much for all congratulations. It is really nice of you. 🙂

 

time_wizard_abbuc_2023.atr

  • Like 22
  • Thanks 10
Link to comment
Share on other sites

6 hours ago, LarsImNetz said:

Hi amarok, also from my side the second place winner of abbuc contest 2023. Congratulations. This is really a great game.

For me, your Night Knight deserves for the first place as well. ABBUC members think the same :).

 

5 hours ago, matosimi said:

i've already beaten the game. nice nice... it screams for more levels :)

Thanks for playing. It seems you are the next person who wants more levels. I definitely have to think about it.

 

1 hour ago, xrbrevin said:

another great game - thanks, youre really spoiling us!

That's my mission ;). Can one praline be for me, please?

  • Like 1
  • Haha 1
Link to comment
Share on other sites

2 hours ago, Yautja said:

@amarok, your game is totally amazing! The concept and execution are flawless. How could you make a machine with such limited memory like A8 "remember" the player's moves to the point to "rewind" all of them? 

 

64K XRAM. 48K XRAM is used to rewind and 16k XRAM for other things.

But Amarok can explain it in more detail.

 

  • Like 2
Link to comment
Share on other sites

2 hours ago, Yautja said:

How could you make a machine with such limited memory like A8 "remember" the player's moves to the point to "rewind" all of them?

Information about the game state for a given frame (1/50 of a second) is stored in the extended memory. It contains information such as:

  • horizontal and vertical position of the hero,
  • horizontal and vertical speed of the hero,
  • the hero's condition (e.g. touches the ground, jumps, falls, climbs, enters a portal, dies, etc.),
  • counter (used as additional time information for the hero's state, e.g. for an animation frame or change of the speed),
  • states of items such as buttons, force fields, disappearing platforms, but only those that are activated by buttons and are not resistant to time manipulation,
  • type of sound effect,
  • duration of the sound effect (frame number from the beginning of the sound).

The whole thing takes 8 bytes per frame, which gives 400 bytes per second. In the game, I have 48kB of extended memory for storing history, which allows me to record about 2 minutes of gameplay. I use the additional 16kB of extended memory for some assets.

 

Items that are activated by buttons but are resistant to time manipulation do not need to have a remembered history, because rewinding of time does not change their state.

In the case of moving platforms, force fields and disappearing platforms (that are not activated by buttons), lasers and robots, states are calculated based on the frame number from the beginning of the game. The situation is similar with playback of music, as opposed to sounds effects, which are not as predictable as the music.

 

There are two frame counters - one that runs all the time from the beginning of the game in a given level regardless of whether manipulation of time active or not. The second one which specifies the frame number associated with the recorded history is affected by rewinding of time. The first counter allows to calculate the states of objects resistant to time manipulation, and the second one allows to calculate the states of other objects and playback of music.

 

Additionally, there is stored an information in which frame a given hourglass was collected. Thanks to this, it is possible to calculate when the particular hourglass should disappear or reappear in terms of time shift. Of course, this only applies to hourglasses, which are not resistent to time manipulation.

 

I hope this description isn't too confusing. But overall there is no magic here. :)

  • Like 7
  • Thanks 2
Link to comment
Share on other sites

2 hours ago, amarok said:

Information about the game state for a given frame (1/50 of a second) is stored in the extended memory. It contains information such as:

  • horizontal and vertical position of the hero,
  • horizontal and vertical speed of the hero,
  • the hero's condition (e.g. touches the ground, jumps, falls, climbs, enters a portal, dies, etc.),
  • counter (used as additional time information for the hero's state, e.g. for an animation frame or change of the speed),
  • states of items such as buttons, force fields, disappearing platforms, but only those that are activated by buttons and are not resistant to time manipulation,
  • type of sound effect,
  • duration of the sound effect (frame number from the beginning of the sound).

The whole thing takes 8 bytes per frame, which gives 400 bytes per second. In the game, I have 48kB of extended memory for storing history, which allows me to record about 2 minutes of gameplay. I use the additional 16kB of extended memory for some assets.

 

Items that are activated by buttons but are resistant to time manipulation do not need to have a remembered history, because rewinding of time does not change their state.

In the case of moving platforms, force fields and disappearing platforms (that are not activated by buttons), lasers and robots, states are calculated based on the frame number from the beginning of the game. The situation is similar with playback of music, as opposed to sounds effects, which are not as predictable as the music.

 

There are two frame counters - one that runs all the time from the beginning of the game in a given level regardless of whether manipulation of time active or not. The second one which specifies the frame number associated with the recorded history is affected by rewinding of time. The first counter allows to calculate the states of objects resistant to time manipulation, and the second one allows to calculate the states of other objects and playback of music.

 

Additionally, there is stored an information in which frame a given hourglass was collected. Thanks to this, it is possible to calculate when the particular hourglass should disappear or reappear in terms of time shift. Of course, this only applies to hourglasses, which are not resistent to time manipulation.

 

I hope this description isn't too confusing. But overall there is no magic here. :)

I honestly am in awe of how you had the brain space to factor all this in. A standard platformer is complex enough without the complexity of such an engine recording so many variables. I can only imagine your coding room must have been plastered with post it notes, string connecting it all, and crazy symbols all over the walls heh heh. :)

  • Like 5
Link to comment
Share on other sites

 ZeroPage Homebrew is playing Time Wizard on tomorrow's ZPH stream LIVE on Twitch highlighting all the incredible ABBUC 2023 entries! Hope you can join us for part 1 tomorrow!

 

Games:

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...