Jump to content
IGNORED

Making a Will o' Wisp in bitmap mode


Sergioz82

Recommended Posts

3 hours ago, mizapf said:

Not likely because the TI produces pseudo-random numbers only, and those are perfectly emulatable.

I was thinking that too, but perhaps it depends on how the seed is collected? Emulators are also a little more deterministic.

 

  • Like 1
Link to comment
Share on other sites

20 hours ago, mizapf said:

Not likely because the TI produces pseudo-random numbers only, and those are perfectly emulatable.

I'm sure the trail is thinner on real hardware (I use random numbers to szc the bitmap byte and make black spots in the trail) and  for the same reason also the flame effect when the sphere is not moving is different than on emulator.

 

To get random numbers I use Compute!'s beginners guide method: I start with random number at >83C0 then I use that number as pointer to a memory location and I get the value in there, then I SRL as many times as needed.

 

I don't know if this method works slightly differently on emulator. 

Since I use szc from a random value to modify the trail I would say the emulator has more zeroes in memory locations than real TI.

 

  • Like 1
Link to comment
Share on other sites

3 hours ago, Sergioz82 said:

I'm sure the trail is thinner on real hardware (I use random numbers to szc the bitmap byte and make black spots in the trail) and  for the same reason also the flame effect when the sphere is not moving is different than on emulator.

 

To get random numbers I use Compute!'s beginners guide method: I start with random number at >83C0 then I use that number as pointer to a memory location and I get the value in there, then I SRL as many times as needed.

 

I don't know if this method works slightly differently on emulator. 

Since I use szc from a random value to modify the trail I would say the emulator has more zeroes in memory locations than real TI.

 

There are a few possibilities.

 

I actually stopped using just that technique on real hardware, cause I got so consistent at going from power up to Editor/Assembler that I actually got the same random number multiple times. ;) What I do since is any time I'm just sitting there waiting for user input (such as a title page), I generate random numbers between calls to KSCAN. That adds just a little bit more entropy to the game starting seed. :)

 

Link to comment
Share on other sites

4 hours ago, Sergioz82 said:

I don't know if this method works slightly differently on emulator. 

Since I use szc from a random value to modify the trail I would say the emulator has more zeroes in memory locations than real TI.

The emulator does the exactly same thing as defined by your program, or it would not be an emulator. 🙂

 

As for the memory contents, I tried to mimic that in MAME by preloading the 32K expansion with FF00 in all memory locations. I know of some software that depends on that pattern (TurboPasc'99) to detect whether the program is already in memory. You can check this by switching from the box expansion (32kmem) to the on-board mod (Console 32K memory upgrade (16 bit)) which is not preloaded. From my experience with the real hardware, memory is clear on startup; there is no random contents. The FF00 pattern is an artifact of the DRAM organization of the 32k board.

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

Hi everyone! I finally have an update on the game!
There are some new features, I'll go in order:
1) The energy and mana bars are now active: contact with enemies will lower the green energy bar while staying in flight will consume the blue mana bar. Once the mana runs out, the sphere will fall to the ground. Staying on the ground will recharge the mana.
2) The graphics engine manages enemies with multiple sprites, the zombie for example has 4 sprites: 2 for primary color and 2 for secondary color
3) Completed the "Possession" power which allows you to transfer the spirit in the sphere into the body of enemies and then use them to do the dirty work and, if necessary, lose the skinon your behalf😄
The power can be activated when close to an enemy (in the future only some, now it is active for everyone). Selecting the icon again will return the spirit to the sphere. If it has free space to take off he will return to the air, otherwise he will remain on the ground.

I have to say it was a lot of work to program but I expected it... the hardest part was the possession effect (and it still doesn't work very well, sometimes it doesn't behave as it should and there is still an important step to do ), it took me more than 3 months to get it working decently..
The second part of the hard work was to ensure that the patterns were loaded dynamically at each map change as well as their assignment to the enemy sprites because if, as in the video, I enter the next map as a zombie I will have to make sure to bring its pattern but not the sphere pattern, or if I go back to where I left the sphere I have to also load the sphere patterns and so on 😵
However the most complex part is over, now I should move forward a little faster

 

 

 

  • Like 18
Link to comment
Share on other sites

31 minutes ago, retrodroid said:

Really nice work!  You some incorporated some interesting and unique play mechanics, very impressive!

Thank you very much!

I think I'll use the possession for collecting items (keys, most likely), opening doors and kill enemies, all things that the wisp can't do by itself. 
 

 

 

  • Like 2
Link to comment
Share on other sites

8 minutes ago, Sergioz82 said:

Thank you very much!

I think I'll use the possession for collecting items (keys, most likely), opening doors and kill enemies, all things that the wisp can't do by itself.

I really like the possession ability.  Very cool work.  I am really looking forward to playing this.

  • Like 3
Link to comment
Share on other sites

3 hours ago, OX. said:

Keep going, this is excellent!

 

What is the background story and the object of the game?

Thank you very much!

 

The background story is a knight has been killed by the sorcerer who overthrown the king. Longing for revenge, a god granted his wish so he allowed to return in the material world through a magical artifact that serves his spirit as a temporary body, the sphere. He then has to find his way to the sorcerer's retreat and defeat him.

 

This is the idea I have in mind for this game but I'll work on the story when the game is almost done.

 

Edit: the tomb in the first map is the knight's tomb

Edited by Sergioz82
  • Like 8
Link to comment
Share on other sites

  • 3 months later...
On 6/19/2024 at 10:39 PM, OX. said:

Any update on this game @Sergioz82 ?

Unfortunately last months I hadn't got much time to work on the game :(

However I added a save point feature and corrected some problems in the trail effect that left some stains on the screen.

I also added a mana draining totem that prevents player from flying in certain areas.

 

I have rewritten the collision detection so it's more precise and now can manage possessed enemies (at the moment I'm working on this, I have some thinking to do with moving platforms).

 

Next I'll add the key and door system.

I had in mind to add a third power (the last button) to break special blocks but it's redundant with the flame power so I'll make it the icon for the key instead

 

I don't know when I can make another video.

 

I was also going to release an alpha demo but I have some parts to fix first.

 

  • Like 8
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...