World Build messix
(18 replies, 1008 views) (2004-May-3)
Back to News
Just thought I'd post a quick message about a game that I'm currently coding. Well the map builder for it any how... Please visit the site and email me any comments or anything about it.
I get the following errors
Error Number Returned: -2005530516
Run-time error '-2005530516 (8876086c)':
I haven't ran it.. but is that framerate on the screenshot serious? :-)
Thanks for the email Eric - something to look into already which is what I was hoping for :)
And yep Almar, that frame rate is serious (at the moment anyway). It's running off a cut back version of the game engine, so I imagine that once you start putting these maps in the actual engine it'll start to drop a bit. I've also got a semi-decent system as well. A mate of mine that's got a high end system gets 700,000+ fps. Guess it kinda helped having to develop the first 3 'trial' versions of the engine on a real crap system - makes you really squeeze every frame you can out of your code ;)
You've got to have some hey of a computer, because those frame rates are almost as fast as simply looping with zilch calculations. I think there's something wrong with your frame rate counter...there's absolutely NOW WAY that your frame rate is that high.
Thanks for the reply EACam - have you had a chance to try it on your pc at all? (just windering if it worked ok).
The frame rate calc is worked off how many times the main game loop loops within a second, which I think is right (please tell me if I'm wrong).
The old engine on the old pc used to struggle to get passed 8, which I then managed to optimise to 13 then to 22 (cutting a long story short) ended up at about 90 or so. The old engine running on my new pc doesn't drop below 500 (usually sits consistently at 522 or so).
The above version of World Build runs on a VERY cut back version of the new engine I'm working on, which is why it runs so fast - but if you try hard enough you can get it to drop (the best I've done so far is made it drop to somewhere in the 80,000 range). I imagine that after a few more items get added into World Build it will slow down a lot more.
This was posted so I can start making sure that the basics of the engine work with maximum compatibility before I start working on the advanced areas of the engine.
Thanks for the comments though - it's nice to know what people are thinking! :)
Looking good, I was able to download and run the version compiled 3rd May 15:25
A couple of things I spotted whilst playing
When creating a world the first pane didn't fill until I clicked it (This only happened the first time I ran it) - infact it is when another window covers it it doesn't repaint - I guess you are using a picturebox to display the contents. Try checking the autoredraw or adding refresh code to the form activate. (This applies to the mainwindow as well)
I had to load up you website to check the instructions for use - Would be handy to have a small help screen that has those instructions listed - The idea of selecting zones and areas was alien to me at first but once figured it worked well
Why not have the 'Base Tiles' Tool set selected by default - it is the only one in the list at the momment - but would save on clicks - for example - You click models but then have to also select models from the drop down - better to select the first item in the list (Plus ensure the first item in the list is the most often used)
I found the 3d Cursor a pane to work with. Right clicking to enable/disable - It started to sink in after a while but it would have been nice if the engine cursor took over when the windows cursor moved in to the picturebox.
I don't think the camera starts in a very good position, a view where the whole area could be seen may be better, or some sort of quick camera control - preset camera locations.
I also managed to get the Camera stuck. I could pan in and out - and when I stopped panning the camera wold stay at it's new location , but when I rotated around (Using the left,right arrow keys), the camera would do as it's told until I released the key, The camera then sprang back to it's starting location
Finally, Quiting - most users would be familiar with a file/exit menu option, I clicked the Stop button thinking it had somthing to do with the camera - my world ended :o
I also can't believe the reported FPS of 134,000 which dropped to 119,000 when the camera was moving. You must let us know how you've achieved this (I only get max performance of 119fps from my 2D ISOTile system)
Wow Dan thanks heaps for all the feedback mate! Really appreciate it! There's not one thing I don't agree with what you said so I'll implement them all in.
Interestingly, I originally had it so the mouse worked pretty much like what you said would be a nice change - when you moved the mouse over the main picture box it would send the mouse back into world build and if you moved the mouse to any edge of the tile that you were working on the mouse would go back to the system. This obviously didn't work to well as you couldn't get to and of the edges on the tile. Should work pretty well if I only do it on the picture box side though.
Ok, the FPS calc. It's worked out as per the example given on Jack's DirectX 4 VB site (never found a better way to work it out then that) with the example below:
If GetTickCount() - LastTimeCheck >= 1000 Then
FrameRate = FramesDrawn
FramesDrawn = 0
LastTimeCheck = GetTickCount()
lblWorldName.Caption = World.strWorldName & " FPS: " & FrameRate
FramesDrawn = FramesDrawn + 1
The above code sits in the main game loop, which is the way I've always done it. I thought this displayed the correct FPS as when I first started developing on the older PC it used to go down to numbers like 8, 13, etc. If there is something wrong with that then please tell me and I'll change it ASAP.
Note that GetTickCount() is a direct call to the windows API:
Public Declare Function GetTickCount Lib "kernel32" () As Long
Can't see anything wrong with that code. Almost identical to the way I do it.
If GetTickCount >= (fps_last_time + 1000) Then
fps = fps_frame_counter
fps_frame_counter = 0
fps_last_time = GetTickCount
fps_frame_counter = fps_frame_counter + 1
like you say - maybe it will calm down when you start adding things like animation and other engine tasks...
Thanks again Dan.
Yeah, I guess the main thing everyone forgetting is that this is a very cut back version of the engine - which is why it's running so fast.
Don't get me wrong though, I think it still does pretty good when you think that each one of those character based models averages around 1100 verts... :)
Are you actually updating the screen every frame? Or are you just updating it when something changes? This could be the reason. I remeber when I did it that way once, it went really fast.
P.S. It's lookin' good!
Spot on EACam - just updating the view as I need to (along with a couple of other things of course).
Helps to keep a healthy frame rate when things aren't needed to be redrawn/refresh.
Well then, that theoretically wouldn't be the FPS, since the FPS is the Frames Per Second, right? :)
lol spodi!! sheesh, getting technical there :)
I guess, when you move the camera around it's updating pretty constantly then - that'd be the best guide for now I guess.
Ok, that explains it...
(but remember...your consumers/buyers/players will never know that, right? hehe)
Lol... But I think it's not right to show the FPS this way...
Yeah. Personally, I use the FPS to see how fast certain things run, like for my particle engine I want to create the best looking effect with the highest FPS, right? Same with the general game. Having 100k+ fps while standing still and 10fps while moving doesn't really give a good show if you're doing things right.
I guess, in my opinion, the FPS loses it's purpose in that way.
Still, if you're doing something that constantly needs the frame refreshed (i.e. rotating the camera) then it will give you an exact indication of the frame rate - which (on my pc anyway) remains rather high (drops a little but no where near 10 ;) ). At the moment the full engine runs at about 913 (hovers between 902 to 920) or so on my pc and about 1200 or so on my friends pc. But there is still a lot more to go into this yet.
I understand what you guys are saying, I always just thought it was really an indication of how many game loops per second (which would then take into account path finding, collision detection, AI and anything else you'd be checking in the main loop). Which would end up not being a true indication of the frames anyway.
I'm really sorry dude, but it doesn't work on my computer (of course, nothing VB I try does anyway :)
It starts, but when I press Build World and enter a name, it gives me errors (i don't remember what they were, but probly the same as what Eric got [first post]).
Windows XP Pro
NVidia Vanta (graphics card)
512 MB RAM