Jump to content
IGNORED

Wizzy - a new adventure for the Lynx


karri

Recommended Posts

On 2/4/2022 at 12:42 PM, karri said:

Ouch! There is something strange with the cart. I cannot program it. Sigh... There is so many things that could be wrong. But I will get back to it later. The chip is too small for soldering test wires on it.

IMG_20220204_141934.thumb.jpg.2fa3c2cfaeab0c758e07a7456974766f.jpg

 

 

But can you read the id? 

Link to comment
Share on other sites

1 hour ago, 42bs said:

But can you read the id? 

No. Because reading the id, protecting and unprotecting blocks need to apply 12V on one pin. And I did not plan to take that approach. So you should only be able to react with the data on the flash (read/write). And the idea was to keep it unprotected at all times.

 

Most likely I have just screwed up the software. But I get my grandkids here for making some bakary due to the Runebergs day that we celebrate with special bakery. Debugging happens later...

Sinuhe_Runebergintorttu.jpg

Link to comment
Share on other sites

1 hour ago, LordKraken said:

Really nice little engine and cute pixelart :)

 

What pathfinding algorithm are u using?

Thanks!

 

The algorithm is a bit special. Monsters just slow down at obstacles - it does not stop them. So there is no real pathfinding necessary. Just straight to the target.

 

The speed in these videos are slowed by with a factor of 4 to help me debug the details. The real action on the Lynx is 4 times faster. The only thing that bothers me a bit is that the movement is not constant. There are small hickups in every 8 steps. Perhaps I slow down the 7 steps a bit to match the delay caused by skipping lots of bytes on the cart.

Link to comment
Share on other sites

24 minutes ago, SlidellMan said:

Looks like Bill & Ted are going to have a new friend to hang out with...

All jokes aside, I look forward to its completion.

Thanks!

 

I got the large cart operations hidden nicely by adding 2 dummy frame waits in every cycle that does not need to rebuild the tile maps. No visible stutter anymore.

 

Due to the large planned size I may release a smaller version as a teaser. The full game requires the 2M cart.

  • Like 2
Link to comment
Share on other sites

2 hours ago, LordKraken said:

You know, whatever you're up to Karri, it's great to see you back doing games like in the good old days!!! What would be the lynx without your magic  :) 

Thanks for the encouraging words.

 

I am really trying to make a game with a nice variety of techniques of dealing with enemies. The talents will come later in the game. If you manage to get them.

 

The basic skill is low power dps. (throwing acorns)

 

Other skills already implemented and partially tested are:
- tank + dps
- crowd control

- damage over time

- stealth and confuse enemy

- area of damage

 

It took a lot of thinking and testing in order to find out the optimum way to play a team on a single player Lynx. But I believe I got it done in an enjoyable way.

  • Like 1
Link to comment
Share on other sites

1 hour ago, LX.NET said:

Really cool stuff. Big steps for the Lynx.
How did you make the recordings?

I downloaded mednafen for windows 11 and ran the command in powershell

 

mednafen.exe -qtrecord wizzy.mov wizzy.lnx

 

After that I ran kdenlive in windows and inserted the wizzy.mov. Trimmed away uninteresting footage and exported it as mp4.

 

Link to comment
Share on other sites

On 2/6/2022 at 11:57 PM, karri said:

I downloaded mednafen for windows 11 and ran the command in powershell

 

mednafen.exe -qtrecord wizzy.mov wizzy.lnx

 

After that I ran kdenlive in windows and inserted the wizzy.mov. Trimmed away uninteresting footage and exported it as mp4.

 

Felix can record video too. And IMHO does it better. It just needs some ffmpeg dlls and recording configuration in lua file.

 

Link to comment
Share on other sites

On 2/6/2022 at 11:38 AM, karri said:


It looks like a lot of fun and shows a lot of potential! Lovely graphics and the animations and scrolling levels obviously look really impressive. I'm sure it will be a fantastic game thinking about the fun and excellent quests and gameplay in "on duty". ??

If you can't get the big cart to work, I don't think people would mind simpler animations in the game for you to save space. (I get it, that's not the point here). Anyway, it's always exciting to follow your technological advancements for the Lynx hehe!

Edited by Turbo Laser Lynx
  • Thanks 1
Link to comment
Share on other sites

Thanks!

 

I spent today trying to get the Swedish chef working. Here is a small teaser.

 

At the low levels the world tends to be more directed. The reason is to gear up Wizzy. After she has enough skills and stuff to survive the World will be open ended. So there should be all missions available. Some missions may not be possible at the current skill level. But I leave the choice to the player.

 

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

2 hours ago, LX.NET said:

Do you create your own graphics, @karri

I did buy a bunch of animated characters and graphics. But that was just to study them. Some pieces are still almost as I bought them but most of the graphics is written by me.

The basic character animations came in left/right orientation. I have modified the look of them and added front/back animations.

 

I am also using the default Lynx palette from cc65 for all screens. And no pen palettes on the sprites.

 

One very interesting detail that helped me a LOT was to realize that HFLIP/VFLIP allows me to draw just one tile and I get 3 tiles for free!

 

1094108835_Screenshotfrom2022-02-1123-20-52.thumb.png.edf9ab0f89cf381ba900a3f896168a9f.png

 

Here is the dungeon level. As you may see the tiles come in groups of 4
original, hor flip, ver flip, ver flip + hor flip

 

In this way I can design the maze in tiled and the Lynx knows how to flip the tiles based on the tile number.

 

Another cool thing was to split the tiles into two separate groups:

- tiles 0..127 are for walking on them

- tiles 128..255 are blocking

 

This made game design almost trivial.

 

I have also realized that doing everything by myself makes it possible to come up with clever ways to structure the game. At the beginning I had problems to fit things in RAM. Right now I have plenty of extra RAM all the time. Plus the engine is pretty unlimited. So there will be lots of content if I just get the 2MB chip to work. (I still have not had energy to start debugging it. Making spider fights in the dungeon is more fun.)

 

Before you ask "How do you save RAM" I decided to spill the beans.

 

The only global stuff in memory is:

 

monsters
non player characters

resources

 

Or actually just two sprites defining the starting point and the ending point for every resource.

 

The level itself can expand these sprite chains to allow more npc's or monsters. This gives a nice flexibility while keeping globals at a minimum.'

 

All character animation sprites are static. If a spider is in level 0 and in level 1 then the bitmaps are independent copies in both levels.

 

The nice thing is that all static stuff that is not used gets killed automatically by the linker. This frees up the RAM without any need of me to have to think about it.

 

As my level map is a spatially optimized 64 by 64 tile map I had to implement SEEK_CUR to lseek. This gives me a deterministic delay that does not depend on where on the map Wizzy is.


 

static unsigned char updatetmap()
{
        off_t offset;
        unsigned char skip;

        offset = (startxtile() / 4) * 16;
        offset += (startytile() / 4) * 4 * 64;
        if (oldoffset == offset) {
                return 0;
        }
        oldoffset = offset;
        openn((int)&AREA000_FILENR);
        lseek_cur(0, offset, SEEK_CUR);
        readrecord(0, 0);
        readrecord(0, 4);
        readrecord(0, 8);
        readrecord(0, 12);
        lseekrelative(12);
        readrecord(4, 0);
        readrecord(4, 4);
        readrecord(4, 8);
        readrecord(4, 12);
        lseekrelative(12);
        readrecord(8, 0);
        readrecord(8, 4);
        readrecord(8, 8);
        readrecord(8, 12);
        return 1;
}

 

  • Like 3
Link to comment
Share on other sites

Very nice memory saving ideas! I didn't understand all of it 100% in the middle of the night but still.

2 hours ago, karri said:

One very interesting detail that helped me a LOT was to realize that HFLIP/VFLIP allows me to draw just one tile and I get 3 tiles for free!

 

Here is the dungeon level. As you may see the tiles come in groups of 4
original, hor flip, ver flip, ver flip + hor flip

 

In this way I can design the maze in tiled and the Lynx knows how to flip the tiles based on the tile number.


Ah damnit! So obvious but still never thought of it! I've only ever used the flips for character sprites. Makes me appreciate some of the design ideas they put into the Lynx. They had all these small things built in for saving space with the graphics if you use them in creative ways, like you can potentially use the scaling for savining space too on some graphics (I've done that in all of my newer games to chop up the backgrounds in small pieces). 
 

  • Like 1
Link to comment
Share on other sites

I am slowly getting the world defined in Wizzy. It is a good thing.

 

But the size of the build is already close to 300k and I have only defined a fraction of the planned missions. So frustrating.

 

So either I put some time in making the 2M cart work. Or then I have to release a Wizzy trilogy.

 

The trilogy could be one way to go as people could use their flash carts for playing the parts. But the big cart is more fun as you can roam to old places you have visited before. With your new skills and weapons. A little like going back for some legendary weapons on WoW.

 

Now I also know the size of the world in Wizzy. It is 8192 by 8192 pixels or 4000 Lynx screens. You don't have to spend days to scroll through everything. By listening to clues from the characters in the game you get some guidance.

 

The game will be divided into land areas with Finnish sounding names: Suvi, Raju, Vilu, Tuli, Vire, Sora, Paha. You don't have to explore the places in any special order.

  • Like 2
Link to comment
Share on other sites

While I am programming Wizzy I started to sort out the dialogs and events on paper. Would it be crazy to publish the game in a book form?

The size of the book would be the same as a standard Lynx box (135mm x 108mm x 18mm). But inside the back cover you would have the cart. So the covers would eat up 10mm of the book leaving about 100 pages for the story.

 

Instead of a manual you would have a small novel about Wizzy's adventures. Something like this:

 

Wizzy
Chapter 1 – Suvi
They call me Wizzy. I love the land of Suvi.
As the name states it has a lovely summer
weather all year long. Well, almost.
There is a short winter when everything
is cold and dark.
All sensible people stay inside most of the day
reading books or doing their chores.
There is not much point in going outside
when it is freezing cold.
The spring is also kind of overrated.
People are happy to get rid of the winter.
But it is nothing compared to the summer.
In summertime the nature is alive and the land
provides you with delicious food and beauty.
Fall on the other hand is the worst.
Wet and rainy most of the times and
it gets chillier every day.


Wizzy was interested in reading about magic
and the wonders about other lands.
She strolled to the castle in hope to get some
new books from the library.
When she approached the castle a lad she had
not seen before greeted her:

"Through dangers untold
and hardships
unnumbered,

you won't fight your
way in to the castle
of the land of Suvi.

Only true heros or
the noble can enter.
On your way..."


What a strange greeting. But I know this story!


“I have fought my way here
to the castle beyond the Goblin City
to take back the child you have stolen,
for my will is as strong as yours
and my kingdom as great.
You have no power over me!”


The lad was laughing. “Good point” he said,
but the king has visitors today.
The library is closed.


Too bad, perhaps I go for a stroll in the park.
There has been news that a spider was spotted
in the park.
In the old days there was no spiders in Suvi.
The sorcerer kept the spiders away with his magic.
But lately there has been spiders roaming around
the castle and the sorcerer has not been seen.
He lives on an island west of Suvi but the bridge
to the island has not been working for years.
So we have had to learn to deal with the spiders ourselves.
This could be a good day to go and pick up some acorns.
Spiders just hate acorns and you can even kill them
by hitting them hard with acorns.

---------------------

 

The idea would be to put the storyline in writing. This would contain some background to the story and also a verbose description of the missions. The Lynx display is quite small and it is hard to tell about the background story by just putting stuff on the screen. Perhaps a combined book/cart would be valuable.

 

In any case there is never large audiences for these Lynx games. I could make some nice leather covered Wizzy book with the 2M game cart and make a single run of them for collectors. The other guys could just download the PDF and the cart image and play it on an emulator for free.

 

What do you think? Have I lost my mind? Or would this be a cool idea?

 

  • Like 5
Link to comment
Share on other sites

The thing that makes me sad about truly limited editions is that people can discover the system or return to it after a long time away, and then know that they missed it forever. (This happened to me with Hot Dog and Relief Pitcher and all of Luchssoft’s games.) With ROMs available at least they can play games, but for some people, myself included, it helps with focus to not use a flash drive but to just have the one cartridge in the system until it’s finished. I think @Fadest’s “games on demand” approach is ideal, and the author can get a large portion of the sales without doing any further work. In the Vectrex community, Packrat Games does this for many game developers and it works out really well for everyone.

 

But please do count me in for a copy of the book :D 

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

7 hours ago, jgkspsx said:

The thing that makes me sad about truly limited editions is that people can discover the system or return to it after a long time away, and then know that they missed it forever. (This happened to me with Hot Dog and Relief Pitcher and all of Luchssoft’s games.) With ROMs available at least they can play games, but for some people, myself included, it helps with focus to not use a flash drive but to just have the one cartridge in the system until it’s finished. I think @Fadest’s “games on demand” approach is ideal, and the author can get a large portion of the sales without doing any further work. In the Vectrex community, Packrat Games does this for many game developers and it works out really well for everyone.

 

But please do count me in for a copy of the book :D 

The point is not to make a limited release. Actually none of my games are that. It is just that I prefer to first make the games and then post them. It gives me less stress than the other way around. Having lots of orders and trying to fulfill them is not my cup of tea. And keeping up a shop is not so interesting either. Perhaps there is a way for me to make the games and let some other guy take care of selling and posting them. Or then I just grab a bag of games with me and set up a stand at eJagfest.

 

Making Wizzy feels nice, I did get some help in defining the game plot from some Wizzy club members. The big story is already planned. But the missions could need some help. So feel free to join in if you want. But joining is also a spoiler as you see the inside of the game...

 

In the first part of the story Wizzy is introduced to the characters, there is a big problem for the community, Wizzy gets some help from the sorcerer and she is set up for the adventure to fix the problem. (She will also get her broom at the end of the level that allows her to escape the island and look for other lands.)

 

The storylines for the 5 other lands are still not planned. There is only rough sketches so far. I try to keep the game balanced to allow Wizzy to use all her new skills. She has a chance to learn 6 skills during the game. All these skills are required for the final encounter. I am using Fabula for structuring the story. This also means that the story comes first and the game follows.

 

Currently all skills are animated and they work with the game engine. But I am not going to spill the beans in advance. This is left for the gamer to discover.

 

So this is an experiment to find out if the Lynx can be used to create a streaming adventure game. Creating all the graphics and music will take lots of time. It feels better to just release it for free than forcing people to buy it.

 

But of course you need the real cart to play it on the real Lynx. The game is developed and tested on my real Lynx. Getting the 2MB cart with extended eeprom to work may take some time. I hope to find a way to keep Wizzy affordable and the play joyful. Some funk-track could also be better to set the mood than my usual swing tracks. Composing funk is also a new experience for me. I did a funk track in On Duty once.

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