Tuesday, 23 December 2014

Guard customization

After some idles days, i have finish the sprite customization, for example you can add a new guard.






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>

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!

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

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

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





Thursday, 28 August 2014

Touch control

Some devices doesn't have keyboard, i will develop a touch control on screen



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

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



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)


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



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>

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

Sunday, 17 November 2013

A little stop....

A little stop?

In past month i'm working on a realtime ECG software, i have done some experiments with xamarin i have ported a project on Android, i think in Two week i will porting on ipad.
And PoP.net ? I have open the project but the new recruitment have maded zero line and zero question about PoP.net, i will fire in net week.... I dont understand because they have ask to join into the project and....  Nothing ....mah....

Tuesday, 1 October 2013

Element / Modifier for Apoplexy


Element / Modifier for Apoplexy

For parse the XML file from Apoplexy (PrinceOfPersia Level Editor) i must create a new Enum,
i havent found the possibility to make a nested enum, my solution is make a pattern mask,
Like this:


// enum standard
 public enum TileType
        {
            space = 0,
            floor = 1,
            spikes = 2,
            posts = 3,
            gate = 4,
            dpressplate = 5, //;down
            pressplate = 6, 
....

//first 4 byte are element type the rest is the modifier, _x tells the result 

   public enum Tile
        {
            space_1   = 0x00000000,
            space_2   = 0x00000001,
            space_3   = 0x00000002,
            space_4   = 0x00000003,
            space_5   = 0x000000FF, 

            floor_6   = 0x00010000,
            floor_7   = 0x00010001,
            floor_8   = 0x00010002,
            floor_9   = 0x00010003,
            floor_10  = 0x000100FF,

            spike_11  = 0x00020000,
            spike_12  = 0x00020001,
            spike_13  = 0x00020002,
            spike_14  = 0x00020003,
            spike_15  = 0x00020004,
            spike_16  = 0x00020005,
            spike_17  = 0x00020006,
            spike_18  = 0x00020007,
            spike_19  = 0x00020008,
            spike_20  = 0x00020009,

            posts_21  = 0x00030000,
.....

Monday, 23 September 2013

Open Project

Open Project

Now, the PoP.net project is open for join, everyone can send me an email trough Codepelex' site "Source Repository".
I'm looking for someone help me to continue the developing or make graphics, idea etc.

Tuesday, 17 September 2013

Room wall algorithm

Room wall algorithm

The original PoP have an algorithmn for determine the wall variance, for draw a realistic stone wall, it adds gray block, creak in the blocks etc.

I found some documentation in "Prince of Persia Specifications of File Formats" (thanks to Norbert) but there's not the all logic but only the first part.

I have started to study and implement the gray stone and the first start wall block,
this is the results from PoP.net vs PoP classic


Wednesday, 11 September 2013

Splash News

Splash News

I spent some time for do change the Monogame assembly from OpenGL to Direct X 9, i have linked the new Monogame prerelease 3.2 and changed from OPENTK library to SHARPDX library.

In this passage PoP.net lost the Windows XP compatibility but the OPENTK are some buggy like framerate and some content importer lacks, now PoP.net is compatible only with
  • Windows Vista  Sp1 or greater
  • Windows 7
  • Windows 8
Resfresh source repository and codeplex downloads

New features:
  • the SPLASH sequence, whem kid or enemy hit the splash image show and play the sound effect