Blog for tracking the development of Prince Of Persia dot net, basically a dot.net porting of the famous Prince Of Persia game.
Tuesday, 23 December 2014
Tuesday, 4 November 2014
Jump And Hang
Finally i have finished (with some little bug) the Jump and Hang Kid action!
In this commit (on source repository)
>JUMP and HANG
> RUNJUMP x and y alignement like the original game
> STANDJUMP x and y alignement like the original game
> New TypeCommand in sequence xml, FUNCTION_BOOL it can call in reflection a Method or Property with bool return type.
It used in STANDJUMP kid sequence for determine if when kid make a standing jump if LAND over platform or fall. If true CALL SJLAND or false call STEPFALL.
Syntiax : <parameter>function_name|true =call sequence|false=call sequence</parameter>
<Frame>
<type>COMMAND</type>
<name>FUNCTION_BOOL</name>
<parameter>IsNextTileGround|SJLAND|STEPFALL</parameter>
<stoppable>false</stoppable>
</Frame>
In this commit (on source repository)
>JUMP and HANG
> RUNJUMP x and y alignement like the original game
> STANDJUMP x and y alignement like the original game
> New TypeCommand in sequence xml, FUNCTION_BOOL it can call in reflection a Method or Property with bool return type.
It used in STANDJUMP kid sequence for determine if when kid make a standing jump if LAND over platform or fall. If true CALL SJLAND or false call STEPFALL.
Syntiax : <parameter>function_name|true =call sequence|false=call sequence</parameter>
<Frame>
<type>COMMAND</type>
<name>FUNCTION_BOOL</name>
<parameter>IsNextTileGround|SJLAND|STEPFALL</parameter>
<stoppable>false</stoppable>
</Frame>
Sources updated and clickone and binary windows on codeplex.
Saturday, 25 October 2014
Some new fixes - Source updated
I have fixed some routines on HandleCollisionTiles and i compare the kid collision with the original Prince Of Persia.
Fixed and new Implementetions:
- CheckGround : rewrited the routine
- WallCollision : completed the handle collision with walls, there are two limit, near and attached
- Chomper : rewrited the chomper collision and dead fall
- PlatformEdge : kid now can move at edge's limit, shift + movement.
- New xml structure : theres a third xml level's structure, it will be used on next PoP net version. For now the new structure is called PoN.
Indevelopment :
- CallFunctionAndProperty : in sequences, now there's a new "command" FUNCION_type, it will be usefull for determine the right action, directly in xml.
For example:
Kid make a stand jump, at the end of the sequence it calls the property IsOnGround, if true kid is over a platform, the sequence call the SJLAND for land over it, but if not present (false) the sequence call the STEPFALL for falling action.
- JumpAndGrab : i will use the new command for determine when falling if theres a edge platform for hang.
I have notice some different kid action and distances from the "original" kid msdos version.
How many shift pixel is composed the kid "running jump" ?
It' s difficult for me grab the screen and compare the kid position between PoP.ne
Could someone tell me how many pixel Kid is moved ? (for stand jump, runningjump etc..)
- Complete the LoadLevel for the PoN xml struture
In mean while the source repository was updated!
Fixed and new Implementetions:
- CheckGround : rewrited the routine
- WallCollision : completed the handle collision with walls, there are two limit, near and attached
- Chomper : rewrited the chomper collision and dead fall
- PlatformEdge : kid now can move at edge's limit, shift + movement.
- New xml structure : theres a third xml level's structure, it will be used on next PoP net version. For now the new structure is called PoN.
Indevelopment :
- CallFunctionAndProperty : in sequences, now there's a new "command" FUNCION_type, it will be usefull for determine the right action, directly in xml.
For example:
Kid make a stand jump, at the end of the sequence it calls the property IsOnGround, if true kid is over a platform, the sequence call the SJLAND for land over it, but if not present (false) the sequence call the STEPFALL for falling action.
- JumpAndGrab : i will use the new command for determine when falling if theres a edge platform for hang.
I have notice some different kid action and distances from the "original" kid msdos version.
How many shift pixel is composed the kid "running jump" ?
It' s difficult for me grab the screen and compare the kid position between PoP.ne
Could someone tell me how many pixel Kid is moved ? (for stand jump, runningjump etc..)
- Complete the LoadLevel for the PoN xml struture
In mean while the source repository was updated!
Wednesday, 17 September 2014
Handle Collision and Check if on Ground
I'm rewriting some routines on player handle collisions and check if on ground,
for make the jump and hang routine.
I have added the <raised> tag on frame collection into the sequence format
for make the jump and hang routine.
I have added the <raised> tag on frame collection into the sequence format
Wednesday, 10 September 2014
Prince Of Persia - New Release
On source repository in Download section,
i have released the windows, linux and clickonce binary release
Features:
- touchcontrol
- loading content %
- font linux fix
- preview of chomper or slicer
i have released the windows, linux and clickonce binary release
Features:
- touchcontrol
- loading content %
- font linux fix
- preview of chomper or slicer
Friday, 29 August 2014
Touch Control PoP.net
Somenew features:
-> experimental Touch Control on device
-> full screen in all devices
-> some code oprimization, for loading content
A little preview
-> experimental Touch Control on device
-> full screen in all devices
-> some code oprimization, for loading content
A little preview
Thursday, 28 August 2014
Friday, 22 August 2014
PrinceOfPersia.net on LINUX
Dear,
on my source repository you can found the linux version.
WARNING
under bin\ there are the Content you cannot DELETE
it will be create ONLY on Windows, because monogame on linux NOT support the content pipeline
on my source repository you can found the linux version.
WARNING
under bin\ there are the Content you cannot DELETE
it will be create ONLY on Windows, because monogame on linux NOT support the content pipeline
Thursday, 21 August 2014
Tuesday, 19 August 2014
Next Level
Today Prince Of Persia can advance into the next level !!
ADDED
-> Exit class tile
-> The draw engine now can draw tiles with height > 144 (standard height tile)
MISS
-> open exit animation
-> kid climb the ladder
-> some tile like pillar
ADDED
-> Exit class tile
-> The draw engine now can draw tiles with height > 144 (standard height tile)
MISS
-> open exit animation
-> kid climb the ladder
-> some tile like pillar
Thursday, 14 August 2014
Apoplexy levels and Prince flash graphics
Today i have finish the porting of Apoplexy xml level format!
Now you can use Apoplexy editor for build your level and run in PrinceOfPersia.net,for downloading Apoplexy level editor follow this link
Some beutiful graphics from PrinceOfPersia flash version by
Salvador Cabañas
Friday, 1 August 2014
First Load and Run
This picture is the result after read the Apoplexy XML level 1 file
There are lot of things to do, some traslation and some missed texture, manage the room link structure..
A picture of the flash graphics set (partial only few kid frames)
There are lot of things to do, some traslation and some missed texture, manage the room link structure..
A picture of the flash graphics set (partial only few kid frames)
Thursday, 31 July 2014
Apoplexy Level Editor
Apoplexy Level Editor
Wake up after a long sleep...
I'm developing the porting of the Apoplexy XML file, it contains the definition of a Prince Of Persia 1 level structure.
This is the first load of the level1.xml
This is the first load of the level1.xml
Original file
<?xml version="1.0" encoding="UTF-8" ?>
<level number="1">
<rooms>
<room number="1">
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="1" />
<tile element="0" modifier="2" />
<tile element="0" modifier="1" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="1" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<guard location="0" direction="1" skill="255" colors="255" />
<links left="5" right="0" up="0" down="2" />
</room>
<?xml version="1.0" encoding="UTF-8" ?>
<level number="1">
<rooms>
<room number="1">
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="2" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="1" />
<tile element="0" modifier="2" />
<tile element="0" modifier="1" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="1" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="0" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<tile element="0" modifier="2" />
<tile element="0" modifier="0" />
<tile element="0" modifier="1" />
<guard location="0" direction="1" skill="255" colors="255" />
<links left="5" right="0" up="0" down="2" />
</room>
Tuesday, 29 July 2014
A little help
A little help
I transcript a initial private conversation about PoP.net futures
SALVADOR CABANAS
Andrea, i want to ask about prince net, what elements need to be added, i cannot see prince interactions with items, also there is no fighting animation??? anything else that need to be added???
ME
Dear,
the first step (I think) is make the compatibily with Apoplexy level editor.
Apoplexy is a prince of persia editor maded from Norbert, it permit to load standard prince dat files and export into xml, my last attempt is to read the output xml for
generate the levels.
There are a lot of custom and original level maded by prince fans, it will be cool load the original and custom levels into the PoP.net.
link -> http://forum.princed.org/ see level editor
Prince interaction with item are done : sword, potions
Prince fighiting animation are all done : sword combat
Miss: some interaction with plate
Good look and if you make some changes into the PoP.net source please commit on original codeplex repository.
bye
SALVADOR CABANAS
You need to change the level structure to make it compatible, by now it allow some different stuff, like each room is an xml file, the problem is that apoplexy will not allow some references to elements becuase is not a net application, is c++ based..
ME
Yeah right,
the apoplexy xml output is bad, BUT i don't like to program another PoP level editor.
The solution is to make a wrapper for read the Apoplexy xml and build the maze or a conversion tool for write PoP.net xml.
The best solution i think it's the first.
We can check on startup the presence of some files into the dir ".\Apoplexy\xml" and if found
read and build the maze
The Apoplexy tags are
<level>
<rooms>
<tile element="x" modifier="x">
<guard location="x" direction="x" skill="x" colors="x">
<links left="x" right="x" up="x" down="X">
</rooms>
</levels>
<prince room="x" location="x" direction="x">
</prince> //MISSED CLOSING TAG Norbert can you fix it!!!
<userdata fields="?">
<field key="Level Description" value="Level 1">
<field key="Original Level Number" value="1">
</userdata>
<events>
<event number="x" room="x" location="x" next="x">
</events>
APOPLEXY LEVEL DEMO example
<?xml version="1.0" encoding="UTF-8" ?>
<level number="1">
<rooms>
<room number="1">
<tile element="0" modifier="255">
<tile element="0" modifier="255">
<tile element="0" modifier="255">
<tile element="33" modifier="0">
<tile element="1" modifier="1">
<tile element="33" modifier="0">
<tile element="33" modifier="1">
<tile element="33" modifier="0">
<tile element="52" modifier="0">
<tile element="52" modifier="0">
<tile element="51" modifier="0">
<tile element="51" modifier="0">
<tile element="33" modifier="1">
<tile element="35" modifier="0">
<tile element="0" modifier="0">
<tile element="52" modifier="0">
<tile element="20" modifier="0">
<tile element="20" modifier="0">
<tile element="20" modifier="0">
<tile element="52" modifier="0">
<tile element="20" modifier="0">
<tile element="20" modifier="0">
<tile element="52" modifier="0">
<tile element="52" modifier="0">
<tile element="46" modifier="0">
<tile element="35" modifier="0">
<tile element="11" modifier="0">
<tile element="1" modifier="1">
<tile element="33" modifier="0">
<tile element="52" modifier="0">
<guard location="0" direction="1" skill="255" colors="255">
<links left="5" right="0" up="0" down="2">
</room>
</level>.......
LINK TO THE APOPLEXY XML DOCUMENT
http://www.popot.org/documentation/documents/2014-07-29_PoP1_XML_Format.pdf
Monday, 28 April 2014
A little little fix
A little little fix
A little bug correction:
- when the PoP.net load the Gate tile doesn't reading the timeOpen value
Subscribe to:
Posts (Atom)