Friday, 8 March 2019

How to profile Haxe HXCPP with Visual Studio.


Note: this should work with ANY executable under windows that has included debug information compatible with VS.

How many days have toy wasted in Haxe trying to solve bugs in HXCPP because you haven't figured out profile or debug properly?

To be honest , after several months and a game almost fully ported, I still don't know how to use HXScout, or making some debugger work in FlashDevelop (or HaxeDevelop).

I have wasted really over several hundred hours not really knowing what was going on under the hood after compiling HXCPP. The only weapon I had for debugging Haxe (HXCPP) was trace();

So you can imagine my code is full of those. Most are left overs just in case it breaks again.

But now I have figured out that I can use VisualStudio debug utils, which includes a profiler. A super powerful one I must say.

How Can we use it? Easy, check these steps carefuly:


Compile some haxe HXCPP program for windows using -debug.
I use Lime and OpenFL so my command would be:
lime build window -debug
 I think you need to add some parameters to the compilation project.xml. In openFL/lime I used:

<cpp build-library="hxcpp" />
<haxelib name="hxcpp" />
     <section if="debug">
         
        <haxedef name="HXCPP_DEBUGGER"/>
        <haxedef name="HXCPP_STACK_TRACE"/>
        <haxedef name="HXCPP_STACK_LINE"/>
        <haxedef name="HXCPP_CHECK_POINTER"/>
    </section>

   
 
Not sure if everything in there is necessary I just added them all. I'm too lazy (busy) to recompile removing one by one till I have an optimum configuration .  If you do it for me, I will edit the post.

Then once it has been fully compiled, you will need to open the EXE file. And right after, after go to Visual Studio and attach debugger to the process, like this:

 Next, find your computer and the executable (process) for debugging:

Attach it now, you will start seeing Events / CPU / Memory usage:
Then, lets profile this thing: Enable [Heap Profiling].
Now it's time to take snapshots to be able to analyse the data:
Nice, you should get now something like this:
Take another snapshot to be able to compare if, in this case, memory is properly allocated.
Click the difference memory text . And you will get a panel full of information , here on the left side...
 Now double click in one of the elements to see more information about it.

Now we get all the instances of that object type, how much memory is taking each one of them, and how long they have been allocated in memory.

You can even double click to view the source code and add breakpoints if necessary. It's great.

Et violá , this is all you need to get you started in the crazy world of profiling.

This is how you profile using Visual Studio . It's super handy for HXCPP developers.

You are welcome ;)

Tuesday, 14 March 2017

Beekyr Reloaded. DEV LOG#19: Updating languages screen

Update #19
Updating languages screen

We decided to add flags to the language selection, it looks far more professional.


As an example, I added the screenshot in Spanish, still anyone can use this one right? It means it works.


Thursday, 9 March 2017

Beekyr Reloaded. DEV LOG#18: Leaderboards

Update #18
Adding leaderboards
We've been very busy but here they are our cool leadeboards.

We took as reference our Vortex Attack style to later adept it to the needs of Beekyr Reloaded.

Vortex Attack (2015)

Then it was moment to improve it, only 15 positions was no good for this. We wanted to show top 10, your score and near scores, and all time hi-scores in the élite mode (old madness).


We wanted to display the players country (or at least a flag) and that not be automatic, some people like to represent the country they don't live in.
We also wanted to display the date, level and played difficulty.


Also we wanted to add an extra field, played ship, they are all secret except the basic one, this will make people look for them. Or at least that's what we think it should happen.

Once we fixed they layout it looked like this:

Beekyr Reloaded Leaderboards

We're happy with it Smiley

Tuesday, 7 March 2017

Beekyr Reloaded. DEV LOG#17: Updating the game trailer

Update #17
Updating the game trailer

Can you spot the differences between the new and old version?

This is the latest trailer (2016)


And this was the first android trailer (2014)




I have also translated it to Japanese, it looks so cool!


Game is available now in STEAM. I will keep posting updates for the achievements and other minor updates.
http://store.steampowered.com/app/484930/

Thanks for reading already!

Thursday, 2 March 2017

Beekyr Reloaded. DEV LOG#16: Adding extra feedback when picking up pollen in vertical stages.

Update #16
Adding extra feedback when picking up pollen in vertical stages.
Now when player collects pollen, a small pollen particle will go up for a small amount of time, it looks nicer and also if the plaer didnt understand the text or the signs in the first tutorial. This will display that you just collected pollen, and it is good for you.

The game

Game is available now in STEAM. I will keep posting updates for the achievements and other minor updates.
http://store.steampowered.com/app/484930/

Thanks for reading already!

Tuesday, 28 February 2017

Beekyr Reloaded. DEV LOG#15: Adding more variety (boss attacks)

Update #15
Adding more variety (boss attacks)

I just carried on adding variety to the shooting patterns.  And I've decided to add fishes shooting bubbles, praying mantis shockwave or spider throwing some spiderwebs. Each one of these "bullets" behave very different. Some of them leave trails, some don't kill you but slow you down. All of this leads the game to have many interesing scenarios and patterns.



Praying Mantis + shockwave


Spider + Webs

Thursday, 23 February 2017

Beekyr Reloaded. DEV LOG#14: Adding more variety (special attacks)

Adding more variety (special attacks)

Until now, the enemies were shooting almost the same: firing bullets with straight paths. The shape were different but still, same feeling.

I decided we could have some venom/poison coming from scorpions or baby-maggots. All of this leads the game to have many interesing scenarios and patterns.


Maggots shooting honey


Scorpion Boss + Poison

Tuesday, 21 February 2017

Beekyr Reloaded. DEV LOG#13: Adding fantasy, optional, gore or extreme violence - (Part: II)

Update #13
Adding fantasy, optional, gore or extreme violence - (Part: II)


Explosions will make screen to shake now (The famous screenshake). It might be too much so we made it optional in the graphics options.


Also, star of the show. We've added extreme violence when you destroy most bosses. They break appart and all the limbs , body head etc will break appart with a massive explosion.


Before of this the bosses would fall down while we displayed a series of explosions.

Thursday, 16 February 2017

Beekyr Reloaded. DEV LOG#12: Adding some fantasy violence - (Part: I)

Update #12
Adding some fantasy violence - (Part: I)
We asked some profesional to tell me about what he felt when playing the game. He said that the game didnt make him feel powerful, the explosions were to simple... There was nothing for him to feel good when playing the game. He didn't play more than the first stage, but still he got a point...

I replaced the old explosions for stronger ones . It makes the game a hell of a lot more interesting and satisfying to play. Also now, we've added greenish blood splash when an enemy is hit.


Bug death!

Monday, 13 February 2017

Beekyr Reloaded. DEV LOG#11: Improving particle effects and overall colours.

Update #11
Improving particle effects and overall colours.

Waterfalls

PC-STEAM, 2016 VERSION:


ANDROID, 2013 VERSION:

Wednesday, 8 February 2017

Beekyr Reloaded. DEV LOG#10: What is going on with the bees

Clarifiyng what is going on with the bees...

After a while testing I noticed not many people understood the history by looking a small sequence with wasps carrying bads with pollen and a queen bee in the floor stunned.

I decided to add some comic style images to illustrate the history.

PC-STEAM, 2016 VERSION:

Here is the picture and some text that helps understanding what is going on.

LIKE THE ANDROID, 2013 VERSION:

Here is the old way of knowing what was going on: Nothing was explained. It was displaying a  really simple animation of some insects leaving with how knows what....

Monday, 6 February 2017

Beekyr Reloaded. DEV LOG#9: Adding game fairness (SHIELD + BOMBS)

Update #9
Adding game fairness (SHIELD + BOMBS)

Something that adds great gameplay value is being able to save you in specific moments. This is a must if the SHMUP game wants to be fair as sometimes there are so many bullets that are not dodgable.

So, I just added a new ability to trigger: The bomb BeeSquad that will initially protect the player and then get sent towards the enemy as if they were missiles.


Here you can see the initial shield.


And its following attack.

Monday, 30 January 2017

Beekyr Reloaded. DEV LOG#8 : Adding ingame expectations

Update #8
Adding ingame expectations

Before any big enemy or boss is always nice that something special is about to appear.

A new Warning sign appears now.


EDIT WITH LATER UPDATE:
A bigger sign appears, (it was too small):


It is also nice to add nice titles and headings at the start of a level with a bit of good taste and style.... Instead a standard tacky message box:

PC-STEAM, 2016 VERSION:


ANDROID, 2013 VERSION:

Tuesday, 22 November 2016

Beekyr Reloaded. DEV LOG#7 : Improving the logo.

Update #7 : Improving the logo.

EDIT:
 If you like this game, wishlist / follow Beekyr Reloaded now in STEAM here:
http://store.steampowered.com/app/484930


You can see the progression here:

Beekyr: Eco Shoot em up (2013):


First review for Beekyr Reloaded (2016): [Just changed the hue]


Final review: [Changing contrast, brightness and saturation]


Final: [Adding the same latest effects to the Reloaded text]









Friday, 18 November 2016

Beekyr Reloaded. DEV LOG#6 : Importance of having the collisions well marked.

Here we have spines with a red glow, it breaks the ambience a little bit but it makes it obvious that it is dangerous:


Also it works very well fading the background a bit and adding a bit of color to the main collidable layer:

Tuesday, 15 November 2016

Beekyr Reloaded. DEV LOG#5 : Improving particle effects and overall colours.

Update #5
Improving particle effects and overall colours.

Note : Beekyr Reloaded will be releases on the 1st December 2016 in STEAM.


Removing sun, adding a storm (with rain and lightnings)

PC-STEAM, 2016 VERSION:


Click you youtube video with sound:



(No storm, only rain)



ANDROID, 2013 VERSION:

Thursday, 3 November 2016

Beekyr Reloaded. DEV LOG#4 : Game progress & How to play instructions

Update #4
I have been working in the game progress. Before it was just fine but nothing fancy just plain simple.

Here is its evolution!

BEEKYR RELOADED VERSION (PC STEAM, 2016):



ORIGINAL VERSION, (ANDROID, 2013):



Also, I have improved a small information page to let users know how to play them a bit better. You can see wordings are better and fonts and graphics are a lot nicer:

BEEKYR RELOADED VERSION (PC STEAM, 2016):



ORIGINAL VERSION, (ANDROID, 2013):

Monday, 17 October 2016

Beekyr Reloaded. DEV LOG#3 : Main menu Improving Colors and main player

Update #3 
Been working in overall feeling of the game. I started with the main character and then scenario items. I have desaturated them quite a lot, resulting in something less infantile....

RELOADED VERSION, (PC-STEAM, 2016):


VS.

ORIGINAL VERSION, (ANDROID, 2013):


Remember that's the first level, when things are nice and happy... Then the mood of the game changes to something not-so-happy...

Monday, 3 October 2016

Beekyr Reloaded. DEV LOG#2 : Main menu


I have been working in the main menu. Before it was just fine but nothing fancy and to be honest a bit annoying.

Here is menu's overhaul.

BEEKYR RELOADED VERSION (PC STEAM, 2016):



ORIGINAL VERSION, (ANDROID, 2013):

Monday, 26 September 2016

Beekyr Reloaded - A total Overhaul in progress (DEV LOG - PART 1)

Beekyr Reloaded
A shoot'em up game inspired by R-Type, Galaga and Ikaruga



Experience shoot'em up like you have never before. 'Beekyr Reloaded' is a 2D Arcade Shoot'em up that alternates vertical and horizontal gameplay through enjoyable up to 28 stages.

Updates:
#1 Cover (scroll down a bit)
#2 Main Menu
#3 Improving Colors and main player
#4 Game progress & How to play instructions
#5 Storm and Rain stage
#6 Well designed collisions
#7 Improving the logo
#8 Adding in-game expectations
#9 Adding in-game expectations

Intro:
Let me introduce myself. It's Jaime here, the main guy behind KaleidoGames. I develop addictive arcade games, I spend most of the development time (over 50%) just to make it fun but I normally do it all. Except, when sometimes I look for external professionals to help me build the game's music and art. Plus I really thank my friends to help me out with testing...

A few months ago, I ended developing Vortex Attack for Steam, it has been quite a success for me: It had around 3500 people getting the game. The game was created for a really small niche group of players that enjoyed Galaga-ish games back in the day. The game is tournament / hi-scores based and it is well balanced. People enjoy it and get really addicted to the game. Some players unexpectedly have played over 200hours.


A few years ago, I developed another shooter (shmup) game that was quite a lot of fun too, but it was our first game and I made lots and lots of mistakes. That game was called Beekyr: Eco shoot'em up , it was designed with a kids theme theme but for hardcore players and that, obviously, didn't work economically, But the game has over 16.000 downloads (still active) in the Android's Google Store alone.

Recently I started fixing that game into something a lot more cool (adult) with lots of new features. I started thinking what was missing or wrong about that first Beekyr. A few weeks after tweaking some bits, I decided to have a full redesign as I got offered to place it into Steam.

FOLLOW BEEKYR RELOADED in STEAM: It will be available on Early Access in Sept/Oct 2016.
http://store.steampowered.com/app/484930/


Update #1: Cover redesign
I decided to start redesigning the cover, which was the most childish part of the game.

This is the original cover (from 2013):


I tried something more aggressive but main character was was still quite infantile:


And finally we came up with this last design and a renewed character and layout, I needed an external artist to get this new bee designed:


This is just the beginning. Next steps are about updating the gameplay to make it a lot more playable and more for teenagers...