----------------------------------------------------------------------------------------------------
Lionheart Remake - Making Of
Summary
----------------------------------------------------------------------------------------------------
- Past
- Present
- 1 year before
- Resumption
- Level Editor
-
short x; // Coord. X of the Tile
short y; // Coord. Y of the Tile
short tileNum; // Tile N°
A 'short' ( WORD: 0 - 65535 ) is enough
- - Functions Save / Load ( files *.lrm : Lionheart Remake Map )
- - Set positions of Monsters / Tiles
- - Structures for Monstres
-
To resume, we need to store:
* Monster type ( for the differents AI )
* Monster movement ( Horizontal, Vertical ... )
* Monsters starting position
* Animations data
- - Player Starting / End position
- Menu, Intro, Outro, Boss
- The Releases
- Future
5 years old. The age when I have discovered 'Lionheart' on my 'Amiga 1200'. A game my parents bought for my birthday. This day, it was the ecstasy, in front of this game so ... perfect. Playing the game again never bored me. As if I had discovered another thing for each new game ... ... or as if I was searching for a secret ... ... a secret that I discovered 14 years later.
19 years old. The age when I have continued the project. 'Continued' I said ? In fact, I started Lionheart Remake when I was 18. Alas, I quickly understood working on such a big project wasn't so easy. This is why i quickly stoped the development, to my biggest disappointment. My skills were to low. But, one year later, i recieved an email from Gerald Müller-Bruhnke to whom I owe almost everything; this is him that asked me to continue this project ( after found archives... ). ( Here his website: http://home.wtal.de/gmb )
That was my progress:
Step 1
For the 2nd time, i started such a big project, by hoping i will finish it ! A hard part was to get the original Gfx ... i know different way for that, rippping. But, at this time, my ripping skills were too low. So, i used another technic, i called: Ingame-Rip:
In other words, start a new game, set the frame rate to 2img/sec, then take some screenshots, and cut Gfx you are searching for ... frame per frame ... So, i ripped Valdyn animation, backgrounds, sky, some colors ... but the rip quality was quit low ... as it is an Ingame-Rip.
Here the overall progress:
Step 2 | Step 3
Now, i was holding enough Gfx to make them 'alive'. For that, i know only one way: Programming :p Code, lines, algos, reflection and time ! Here what is requested for any project ! ( also, motivation ). At the beginning, it wasn't too hard, here the main steps:
- Load only one level ( without background )
- Draw the main character, without any animation
- Set the overall animations data ( quite boring )
- Add some collisions ( quite hard ! :p )
When those steps were established, a thing was missing: Monsters. But, another question: how to set everything ?
Using a Level Editor !
A Level Editor is REQUIRED for any game ( public editor, or, programmer's editor ).
Here the story about my Level Editor:
- GUI ( windows )
- Functions to make menus with ease
- Tool bar ( Files, Objects ... )
- Levels data, here the structure:
I build my own file type *.lrm, for each level. I only need to load the file, with the map index.
Here the overall progress:
Step 4 | Step 5
Step 6 | Step 7
Then, i had to write the differents AI for each monsters. To avoid redundancy code, it was better to think about how to encode: write an AI for each monsters ? write AI types ? The answer: Write AI types. Indeed, several monsters have the same 'AI'. It is recommended to create an AI range, and link it to the monster depending on what he must do. ( Mouvement Horizontal, Vertical, Saut... )
Also, to avoid having to recompile each added monster, I made a system of external data for monsters. Here an example with the 1st monster of the 1st level ( Swamp )
01|64|48|06|04|0|1|1|1|0|1|01|01|16|17|20|21|24|
Ugly eh ?
Translation ... you get this:
num|sX|sY|nFX|nFY|mir|speed|type|IA|play1|play2|turn1|turn2|jump1|jump2|
num = Monster Number
sx = Sprite size X
sy = Sprite size Y
nFx = Frames number in X
nFy = Frames number in Y
mir = Mirror ( flip the monster )
speed = Monster walking speed & anim
type = 0(nothing) 1(monster) 2(Potion) 3(Life) 4(Talisment)
IA = 01(Rampant) 02(dino) [...] 17(item) 18(piedestal)
play1 = 1st walking Frame
play2 = last walking Frame
turn1 = 1st turning Frame
turn2 = last turning Frame
jump1 = 1st jumping Frame
jump2 = last jumping Frame
This is perhaps not the easiest way, but it is very easy to decode using a function. And when you know the system, it is really easy to add new monsters !
That was a brief summary regarding Level Editor
Here the overall progress:
Step 8
Now i was able to set everything, it was time to make levels, one after one. Then, Boss were still missing; another thing to do for the end of each stage. Once again, one function per Boss, and the original game nearby me to compare and make it work as the original. Here the boss list: Swamp, Lava, Norka Only 3 ? Yes, but each of them are quite hard to do :) Levels ... Bos ... but what about the Menu & Introduction ?. For the Intro ... hum, it was a big part ! What was hard: Make it work as the original, synced with the music ! The Outro wasn't easiest ! Sync the scrolling to the music was really hard !
Here the overall progress:
Step 9 | Step 10
After a lot of Beta test, i was now able to make my 1st release, which i called: Lionheart Remake v1.0
Here the overall progress:
Step 11
Of course, make the game works under another machines wasn't so easy. SFX bugs ... speed ... some optimization were needed ! Here the releases list: v1.1, 1.2, 1.3, 2.0, 3.0
Lionheart Remake v3.0 was the 1st release that makes me really happy.
Here the overall progress:
Step 12 | Step 13 | Step 14
But ! It wasn't the end for me ! I continued to improve my remake ! Lucky ? I don't know, but Henk Nieborg ( graphics ) likes it. So, he gave me his original Gfx folder ! Then, i found all original Gfx + unused Gfx, it was like a bonus ! This allowed me to reach this release: Evolved v1.0, rewriting the code from scratch.
This release was the remake with a new level & monsters.
Here the overall progress:
Step 15
I admit that at this moment, I thought everything was finished. But I was wrong. I have failed to stop, i embarked myself on a new version:
Lionheart Remake Enhanced.
This is where I am currently. This release will contain a '1:1 part' ( conformed to the original ). Of course, i will add some personal things. Once again, i rewrite the game from scratch... This allowed me to do some funny things, like a true Parallaxe with 96 lines. A 'wave effect' for the water ( horizontal moving under water ). New AI, a gameplay 99% equal to the original A new Tile system ( new Level Editor ). Everything new ( Intro & Outro were also rewrote ). Let me give you an appointment soon for the release of this new version, which I hope you enjoy more than others!
[Update 06-06-2008]
Here the overall progress:
Stage 1 | Stage 2
----------------------------------------------------------------------------------------------------
Lionheart Remake - Making Of
Pierre-Alexandre
Byron 3D Games Studio
Byron 3D Games Studio
