News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Fessor

Revisiting Bruce Lee (WIP)

Started by Fessor, 20:22, 30 December 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Fessor

During the past few weeks I have created an editor for Bruce Lee to make it easier to create new levels and now I have reached a point where it is possible to combine level data with the reconstructed source code ...
A lot of work still needs to be done on the editor and the source before it can be published.
Since I do not have Windows on the PC, I cannot test whether the Editor works under Windows at all. It was created in monodevelop with C # and the GTK toolkit, since there is no graphical editor for WinForms under Linux. In theory, it should also work under Windows.
Attached is a patched Version of Bruce Lee (run"brucerev") where the Graphics of the first levels have been redesigned and Yamos Fall-Animation was linked against a more logical Sprite.

Arnaud

You can change all game graphics and level design ?

TotO

Great!  8)


Here my 2013 Bruce Lee II graphics for CPC...

"You make one mistake in your life and the internet will never let you live it down" (Keith Goodyer)

Fessor

Quote from: Arnaud on 20:46, 30 December 19
You can change all game graphics and level design ?
Yes. I'm still reconstructing some of the last details of the Gameengine with Ghidra and estimate that I have identified and labeled about 90-95% of the functions. I'm not sure about some things, but on the whole the labels should fit.

With regard to the graphic, practically everything is revealed, including what restrictions exist when designing the graphic, since collision detection is based on the ink.
How the rooms are structured and how they are linked together and how the mechanics work with the lamps and obstacles. The sprite engine is also almost completely exposed.

I have set up a multi-page hacking guide that I still have to translate.

My editor only lacks functions to place lamps and obstacles. But apart from that, you can now completely design and save the graphics and rooms and have everything output as source code to which you practically only have to connect the source code of the game engine.

Fessor

Quote from: TotO on 21:01, 30 December 19
Great!  8)


Here my 2013 Bruce Lee II graphics for CPC...
Thanks.
For Bruce Lee 2, I am not sure that all of the scenes are based on the same set of 256 tiles. Unfortunately Bruneras is offline and I couldn't google an email address, otherwise I would have asked him for the assets. (Hoping they're tile based.)
The number of rooms will probably work, since there is still some space in RAM and the code can also be assembled at a lower address location.

The multicolor sprites will unfortunately not work because there are only three INKs available for the sprites on the CPC.

Arnaud

Quote from: Fessor on 23:28, 30 December 19
I have set up a multi-page hacking guide that I still have to translate.
Yep.

I really like this kind of project of reverse engeneering, it's very interesting to know how work our old games.


VincentGR

Bruce Lee II would be great!!!
I know, was at Bruneras a few days ago, site is down.

Fessor

#7
Attached is an extended and translated hacking guide and also a first version of the Editor.On Linux it should run out of the box.
On windows it requires .net framework >=4.6.1. and the gtk#-librarys.
https://xamarin.azureedge.net/GTKforWindows/Windows/gtk-sharp-2.12.45.msi

The program has been adapted to the various operating systems to the extent that it reads the environment variables of the operating systems for the user directory in order to store its file structures.
"BLEdit / Projects" is created in the user directory and the individual files of the projects are then stored in the projects directory.

I tried to make the interface as easy to use as possible and a lot should be self-explanatory even without translation.

A tile editor is opened by right-clicking on a tile from the tile set.
The colors can also be changed by right-clicking on one of the Inks on the Mainwindow.

In the overlay mode, overlays are placed on the map with the left mouse button and removed from the map with the right mouse button.
Alternatively, a table entry can also be deleted directly.

To experiment, a new project can be created and all assets from BRUCE.N02 can be read out with Open CPC file and imported into the project.

"Tiles Laden" (Load Tileset) has a special function. With this you can import the tileset of another project into your current project.
"Exportiere Quelltext" (Export Sourcecode) creates an assembler-source (source.asm) of all of the assets (currently without the sprites as im working on the editor)
It is meant to be linked to the source of the gameengine (not ready yet) to build a new game.

Fessor

First draft of a Spriteeditor is working.It will be integrated into the Mainwindow but i have to fiddle around to get a nice design.For New Projects I will have to deliver a standardset of Spritegfx, as they are kind of fixed for the Gameengine.You can start with empty rooms and empty tiles, but not with empty Spritegraphics.

Export to source now also exports the spritedefinitions and the pointertable.
Attached is the reconstructed, labled and commented Source of the Game.

I tested the created exe and found two errors in the gtk-Breeze-Theme on Kubuntu 18.04.
Quote
Invalid borders specified for theme pixmap: /usr/share/themes/Breeze/gtk-2.0/../assets/line-h.png,
If you got this error you can fix it withcd /usr/share/themes/Breeze/gtk-2.0/widgets
sudo nano menu
and replacing the border definition at function box (at the end of the file) from border            = { 1, 1, 1, 1 } to border = {0,0,0,0}
https://github.com/KDE/breeze-gtk/commit/71eed8b3ad50d956616213632c9ecb536ae6fc7b
The second Problem is that the frameboxes are not drawn, only their labels are displayed. It looks like that the devs are not aware of this. I wondered, why the editor had a different look if started from monodevelop or starting the created executable.
This can be fixed by editing the file "styles"and adding "widget_class "*<GtkFrame>*"                                 style "frame"to the part where they are defining the styles of the widget-classes.





Shaun M. Neary

Watching this thread with baited breath.
Loved the original but the Amstrad version suffered so many bugs and would crash occasionally after you did about 4-5 loops of the game.

Would also love to see Bruce Lee II surface on the trusty Amstrad!  :D
Currently playing on: 2xCPC464, 1xCPC6128, 1x464Plus, 1x6128Plus, 2xGX4000. M4 board, ZMem 1MB and still forever playing Bruce Lee.
No cheats, snapshots or emulation. I play my games as they're intended to be played. What about you?

Fessor

I fear, that would need a complete rewrite.
Got the Spriteeditor ready and changed many graphics to twix sprites and assembled a Game with them.
https://atariage.com/forums/topic/292947-bruce-lee-retweaked-sprites/page/7/?tab=comments#comment-4322840
The Game doesnt like them.Apparently the pixels in sprite design may only be set in certain patterns so that the collision detection works properly. With these sprites, the demo no longer goes beyond the first level. The first lamp triggers five detections, and bruce doesn't survive the encounter with the ninja either. I don't think i can fix that with my limited knowledge of z80

Fessor

Polishing the Spriteeditor i found out i used a wrong ink for some Pixels of the Sprites. After Correction all went back to normal and the Demo runs now without Problems with twix Sprites.
Have to find the Sprites for the 4 Animationphases of Yamo, then i include it in the next Release.

Fessor

Attached you can now download a new version of the Editor with the new Sprites included in the archive, an updated Hacking-Guide with errorcorrections and minor enhancements and the reconstructed source of the game with corrections at some lables, more comments and EQUates for the Structures and some of the constants of the Engine for better readability.
Im playing with the idea of implementing a small texteditor as the GUI-Toolkit of GTK has an widget for that, so one can write the routines for the rooms direct in the Editor and including them in the source code when generating the assembler source of the assets.  I just have to think about how I can make it loadable and storable for a project; four single files per room would be quite insane. (> = 80 files with> = 20 rooms ...)

Powered by SMFPacks Menu Editor Mod