rho's Recent Forum Activity

  • This is because you are using "add-to-value" which means

    PRICE = PRICE + 3*PRICE

    instead use "set value" and set it to 3*PRICE, that equates to

    PRICE = 3*PRICE

    R

  • I like it.. scaled fine on IE11... a little bit jerky when moving.... well done

  • so I ran this on IE11, Chrome 39, and firefox31, windows 8.1

    "jerky" is such a technically precise term. So this is what I saw

    firefox: seems smooth but it wasn't working properly

    chrome: it was jerky at the start and seemed to get smoother as things progressed (after about 5 seconds). sometimes this is worse than others. a clear jump at times.. so I guess that's jerky.. it could be as Ashley said earlier... the JIT compiler is loading up.

    ie11: it didn't have the jerkiness, but didn't seem as smooth as chrome when things were going fast. however it's hard to say what that was as it's too fast for me to comment. I doubt it would be noticeable in a game.

  • it doesn't resize ... it's stuck as a tiny image on the screen... in both IE11 and Chome

  • Alright, this is just beyond rediculous. When using text to debug my own game, it was giving me negative numbers. 225 (left-up) became -135, while 315 (right-up) became -35. And checking for those numbers, and/or the ranges that included them, still didn't make the events work, either. And the bullets still moved in the correct directions despite this.

    I really truly feel like this is a complete bug now.

    So I don't know much about what you are doing, but this seems like you are getting wraparound on your angles.

    315 = -35

    225 = -135

    remember angles just mean rotating around a circle and 20 degrees = 20+360=20+360*2 but it is also equal to 20+360*(-1)

    you need to be very careful with angles so that you are looking at the correct quadrant. Checking for a specific angle range can be very dangerous and lead to funny situations like this

    so perhaps for what you need to do, you'll need to add a check

    if angle < 0, add 360

    if angle >360, substract 360

    that way you'll always be in the range 0-360. By the way, getting a 0-360 range for angles is not the same as using the remainder function (%).

  • well it's probably a hack but as a C2 game can call another c2 game through the browser object, would this help? it'd be horrible if you wanted to transfer info between the games I suppose.

  • it's hard to describe this in text, but you need to define you angle of perspective... then by trigonometry you'll be able to map your points.

    the x co-ordinate in your example is fine as it does not change no matter what you do, but as you said y/z are a different. it is called 3D projections so feel free to google that term.

    so think of it this way ... look at a wire-frame box.. as you move your perspective from looking in at the box on one face and up and over.. x doesn't change, but you'll see some combination of the original face and now another face.. that gives you a bigger space.. and how it contributes to a final co-ordinate depends on the degree of rotation you've done.

    if I may suggest Wikipedia... it has a good description, just remember you're keeping one axis constant, so it becomes a lot simpler than what is described here/

    http://en.wikipedia.org/wiki/3D_projection

    perspective (where far away things look smaller than near things) is again a case of trig, but too complex to describe here

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I'm not sure what the problem is... however I have an XML construct that looks like the following. The trick is that I have my "base" node (in your case this would be manufacturer. I think that selection criteria is what you're missing. I may not be doing it right.. but hopefully it helps.

    <?xml version="1.0"?>

    <player>

    <base id="1001">

    <name>test123</name>

    ...

    ...

    you can find the id of the node as follows when using the loop "for each node "/player/base"

    node_id = XML_PLAYER.StringValue("@id")

    and then you can select based on that

    name = XML_PLAYER.StringValue("/player/base[@id=" & node_id /name/text()")

  • not to my knowledge, however what I have done is count ticks before and after the event... a tick is approximately 15ms (at 60 fps). of course it varies under heavy usage, but it's a good relative indicator..

    what I would do if where you was build in a simple profiler.. I think your problem here is not TIME but CPU utilisation. for me, I set up a simple every 0.1 seconds tick, and stored in an array the cpu usage.. then I displayed the results.. or you could use the debugger.... then you can see what the cpu spiked at.. and for how long..

    lots of tools to help you figure this out.

    PS: doing something like updating thousands of arrays is going to be slow no matter what you do... perhaps you could do it in smaller chunks... do all the elements in the array need to be updated at once.. or could you do it in parts over 5-10 seconds?

    R

  • Aphrodite

    I did something similar, I checked for string length less than 2. ( I knew the number I wanted was always bigger than 100). I wasn't sure if checking for "" exactly matched what I was getting as there might have been a special character in there or something.. however they are probably the same thing.

    still getting NaN for the int of an empty string is acceptable... but I still think it's reasonable to check for the number NaN than check for the input condition.

  • I use all that, and there's clearly nothing wrong with the ability of C2 to manage that quantity of events..

    so Ashley, here are my biggest bug-bears. A lot of these arise from having multiple event sheets that are included into a single layout, and from using functions.

    * search is very limited and works only on one event sheet. This can be very annoying when you are looking for something but you don't know where it is. I'll also express my dislike of how search displays it's results by filtering out all events without the relevant search term. personally i'd like to see it highlighted in context and perhaps a next/last search option. Personally I find GREP works a lot better under Linux when I'm really stuck.. which is a terrible thing to say.

    * when you have lots of functions, it becomes very messy. I'd love to have a map that says in which event-sheets your functions reside .. just that would be hugely valuable.

    * some of the recent improvements help this, but there are a number of times when I have accidently copy/pasted the same function twice and then you have two viable functions that are called the same... little gotcha's like that would be useful to stop.

    * an object/image map that says where certain sprites/objects are used and in what layouts. i'm afraid to delete objects from my game because if I do that, then all related events get deleted. I am not arguing against that functionality, but if I have left anything in and then unknown chunks of the game get deleted, that becomes very scary. Again something that says these objects are used in these events, or even at the level of layouts/event-sheets would be useful.

    So these are just mine, it's all about organisation and tracking where what is what. at the moment it's based on name event sheets intelligently and hoping you've remembered where everything is... maybe it's my rapidly aging brain and declining faculties but after a thousand events, 15 event sheets, it's just taking longer and longer as things get more complicated.

    so the short-version... for big projects, it'd be nice to see more search and organisational tools so we can see what is where at a glance.

    PS: and for all the others... processing the raw event sheets is actually straightforward and nicely structured ... nice one guys.

    R

  • I'm working on a project which is effectively a browser client for a database application, so ideally everything is static on screen (now doesn't that make FPS less important). However there is a lot of work involved in expanding the information and making it available in an interactive form, and then processing queries to produce well formed AJAX requests to an API. so a lot of edge-case checking and functions. So my events are coming in about 1200+ and will grow as functionality increases. When I have all the functionality working, I'll go back and optimise.

    As someone else said, it's really how you use them and many of mine end up for single-use purposes though I use functions wherever I can. Good programming practice is a great enabler and assistance for C2.

    more important it is getting difficult to track progress with so many events and for those with 6000 events, i'm guessing that's very difficult to track. I've developed my own external tools and processes but the IDE does need some improvement.

    R

rho's avatar

rho

Member since 5 Aug, 2013

None one is following rho yet!

Trophy Case

  • 11-Year Club
  • Forum Contributor Made 100 posts in the forums
  • RTFM Read the fabulous manual
  • Email Verified

Progress

14/44
How to earn trophies