Page 1 of 4

Bocco's adventures

Posted: Sun Aug 11, 2019 11:31 pm
by rax
Hello everyone πŸ™‚ ,

A few months ago, I decided to try something in graphical mode. I got ideas from the internet and drew a few figures. Then I decided to create game with them.

I decided to try the C again. Yes I know (+1 for assembler) πŸ™‚

There were many things I had not foreseen.
I have changed the concept several times during implementation, but I am not happy with the end result.

At one moment memory space over with osdk. I was thinking of canceling the project. But it turned out that there was another solution to this problem.

Many thanks to the ISS for helping me to pass the code to cc65. He motivates me to move on. Thanks again ISS for the aspiration.

Π’he game might still have bugs in it.

Now I have another big problem. The game has only 3 levels. There must be different levels to make the game interesting. I don't have enough ideas. If anyone wants to help with the levels, it would be grateful. I can prepare a brief instruction. Then these levels will include them in the final build.

The game has no background music, because of the lack of space... again πŸ™‚.

Game link:
https://github.com/raxrax/oricBocco/raw ... /bocco.dsk

Regards

Re: Bocco's adventures

Posted: Mon Aug 12, 2019 12:41 am
by Symoon
Gave it a quick try, impressive! Funny as it doesn't look as anything we've seen before - maybe has a Stormlord look? Nice little animations everywhere.
The main problem I get is that I still can't figure out much what I'm supposed to "use" (space), or what I'm supposed to "bomb". I've tried to use many things to no avail, and tried to bomb an ennemy, without success it seems. :?

So far I didn't manage to collect a key, thus no door opening - it's too late maybe, I souhld get some sleep :lol:

Re: Bocco's adventures

Posted: Mon Aug 12, 2019 7:53 am
by rax
Yes, i need to specify: the bombs only affect the walls but not the enemies :)

Re: Bocco's adventures

Posted: Mon Aug 12, 2019 4:35 pm
by Dbug
trrerr wrote: ↑Sun Aug 11, 2019 11:31 pmAt one moment memory space over with osdk. I was thinking of canceling the project. But it turned out that there was another solution to this problem. (...)Many thanks to the ISS for helping me to pass the code to cc65
Just for information, what was the actual difference in memory usage between the OSDK and CC65 versions of the game?

Re: Bocco's adventures

Posted: Mon Aug 12, 2019 11:01 pm
by rax
Hi Dbug :),
I don't know why this is happening.

I needed 27k for the game:
/*
screen 18 x 14 = 252 bytes
rooms 3x3 = 9
level 9 x 252 = 2268 / #8dc bytes

#6f00 - #77db level (rooms data)
#77dc - #77FF author name 35 bytes

#7800 - #9800 tileset
#9800 - #9FFF chars
#A000 - #BFDF hires

game - #503-#6eff (69ff - 27,135 bytes)
*/

I did a little test. These are the values from the current build:

"Bocco's adventures":
------------------------
cc64
bocco -> bocco.tap : 25496 bytes

osdk -O2
bocco -> bocco.tap : 47193 bytes

osdk -O3
bocco -> bocco.tap : 42691 bytes


Another test with "Ascii moon buggy":
-------------------------------------------
cc65
moonbuggy -> moonbuggy.tap : 19302 bytes

osdk -O2
moonbuggy -> moonbuggy.tap : 40031 bytes

osdk -O2
moonbuggy -> moonbuggy.tap : 35724 bytes

Regards

Re: Bocco's adventures

Posted: Tue Aug 13, 2019 12:02 am
by iss
Congrats for the great game, rax!
Incredible AIC graphics, nice puzzles to solve (not easy but fun) ... and everything in pure C!
The DSK image contains level editor too - from main menu press '!' to exit the game and start editor with BOCCOED.

Here is some clue for the first level 3x3 screen matrix :mrgreen:
bocco-level-0.jpg

Re: Bocco's adventures

Posted: Tue Aug 13, 2019 1:22 am
by iss
... and the first level walk-through played by rax ;)

Re: Bocco's adventures

Posted: Tue Aug 13, 2019 6:01 am
by coco.oric
Congratulations, it's a big surprise. As it was said, a good AIC graphic game.
I'll put it on an sdcard to make a test with my pure oric. As it's a dsk file, may be you can use the switchable memory banks to include more sounds and music

Re: Bocco's adventures

Posted: Tue Aug 13, 2019 7:26 am
by Dbug
I needed 27k for the game:
From 27 to 42k, that's quite a difference, I suspect some section problem.
Do you have the project source code somewhere so I can look at it?

Re: Bocco's adventures

Posted: Tue Aug 13, 2019 8:39 am
by Chema
Impressive graphics indeed! Congratulations. I cannot test the game in the next days, but the screenshots look incredible.

There are several things you could do. You can, as it's been said, use the 16k of overlay ram (as long as you don't call the rom) and also load different levels from disk.

And, of course, rewriting some core routines in asm would boost them incredibly, both in speed and in space.

I am sure you can find help for that purpose in this forum.

I know how difficult AIC graphics are, and you've made an awesome work. Again congratulations.

Re: Bocco's adventures

Posted: Wed Aug 14, 2019 2:01 pm
by ibisum
A really nice, beautiful game! I hope to see it progress further with more levels and sounds ..

Re: Bocco's adventures

Posted: Wed Aug 14, 2019 10:22 pm
by rax
Thank you all for great feedback.

I chose to use the SEDORIC so that I could then easily subtract the levels from the image and make the final build. I'm thinking of doing a few more levels, or someone else to try.
Using SEDORIC everyone will be able to make their own levels. But this way, i can't use the overlay ram.

Π’he code is uploaded to: https://github.com/raxrax/oricBocco

Thanks Chema, that means a lot to me.

Re: Bocco's adventures

Posted: Thu Aug 15, 2019 1:34 pm
by retroric
Hi there trrerr / Rax,

Congratulations for this AWESOME game, it was indeed a complete and very welcome surprise for the end of the summer, I think we should give you the "Oric 2019 Game Award" !!! :D

I am really amazed at the amount of work you put in the game and the graphics (and sounds too!), and you also included a full-featured level editor, that's really great !!

I may have a go at designing a level for you if I get some time after the end of the summer, but if I may make a little criticism, I think you need to rework a bit the way your editor handles user input, because if you make a mistake the program ends with an error message, and you lose all your work...

This little point aside, I didn't find any bugs in the game so far, and I find the screen redraw, animations and movements quite quick and smooth bearing in mind it is all done in C rather than asm...

Also, I was really interested in the code size comparisons between the OSDK's lcc65 and cc65 compilers, it looks like cc65 is much more memory efficient, I really need to have a go at it and test it with some of my programs (I will myself very soon release a nearly final version with full source code of my "Electr'Oric" little logic puzzle game I contributed for the NY 2019 CEO award, that is also coded almost entirely in C).

I saw you posted some of the source code on your Github repository, many thanks for this, it is very nice of you, and I hope you can post the rest of the code (I think your repository is missing a couple of assembler .s source files referenced in the Makefile).

EDIT: in hindsight, I assume the "compat.s libsedoric.c libgraphics.s " asm files mentioned in the makefile are libraries provided with the cc65 distirbution for Oric machines?

Now, thanks to ISS also for posting a walkthrough video for the first level, this was extremely useful because without this I could not have guessed how to play the game !!

I have now completed level 2 all by myself and I am about to start playing level 3 !

Thanks again for this masterpiece, and I hope many people will be willing to contribute new levels to the game ! :)

Cheers,
Laurent

PS:

- one little thing in the game: I know there is a special sound when you collect the last treasure so you know the level exit is open, but it would be nice to add a display of the number of treasures remaining to be found alongside the display for the number of bombs and keys, but I suppose you could not do it for lack of space on screen...

- last thing, I have a question: what does the 'T' key do exaclt ??? It looks like it switches the drawing of the hero in front or behind the backgrounds graphics, but I'm not sure whether it's supposed to have another purpose?

Re: Bocco's adventures

Posted: Thu Aug 15, 2019 2:10 pm
by retroric
Ok, I've just finished level 3, I spent some time trying to figure out how to progress until I found the wicked little trick to get to the switch !! :lol:

Now I will get some graph paper and a pencil and start thinking of a new level design for you!! :)

Re: Bocco's adventures

Posted: Thu Aug 15, 2019 4:34 pm
by Dbug
So, I took a look at the source code, and I managed to rebuild it with the OSDK (I had to fix a number of prototyping errors), and I used the mapfile converter to generate the list of symbols with their size.

I've not used CC65 much, but would be nice if you could generate a symbol file (name + label), in the same format as what Oricutron/Euphoric accept, that would make it possible to compare the actual generated code and see where all the room is wasted :)

For what I can see, the largest routines are: (name / size in bytes)
_playerUpdate 7581
_emenyLeftRightUpdate 3247
_addObjectInEngine 3070
_animator 2066
_enemyUpDownUpdate 1712
_printKeysScreen 1512
_input 1376
_addObject 1216
BoccoSymbolsOsdk.zip
(11.99 KiB) Downloaded 333 times