Original Post

I have been asked to push back the deadline and extend the competition running time. Indeed I do have the impression that the contestants need more time for their projects. I am thinking about two more months which would extend the total runtime of the competition to half a year.

Please let me know through this poll whether the deadline should be pushed back or not and how much more time you would like it to run.

27 Replies

Still no news ? 🙁

(programming == procrastination)?(“Yes”):(“No”);
Result: Yes

These two things are just constants with different names 🙂

I actually decided to start over. So I focused on tool support for some time. The plan was to have the tool working at the January. I kind of reached that point today (not everyting is perfect yet but good enough I guess).

Now I started building an actual game/demo again. There are still 3 weeks left so I guess I can come up with an small demo.

I too have a demo ready that I could submit today if I had to. Hopefully it will end up becoming a full blown game. I’ve been working on my wireframe library code mostly but was able to use it to get a game started. (My only hint at this point is it’s not a Star Wars game). My major set backs have been FPS. 20MHz gets used up real quick when doing graphics calculations using the CPU instead of the VIP. I’ve been shooting for 30FPS ish and even that has proven fairly difficult. I had to recode almost all my library functions in assembly and squeeze every ounce of performance I could think of. Of course after the compo deadline all the source will be open and everyone else can optimize it. Right now it runs great in mednafen but slower on actual hardware (still a large improvement over my first demos). I’m spending most of my time trying to find that balance between amount of graphics rendered and FPS. My library now performs simple versions of z-clipping and object clipping and my demo uses frame skipping to help with FPS.

As for the game, I just finished with a map layout concept for creating levels so in theory a level generator could be created to allow others to make levels even with no programming knowledge.

I’m planning on asking for the communities help to finish the game (providing anyone even wants it finished of course).

Thanks to HorvatM for finding a bug in my OBJ parser I fixed that little program and now 3D Wavefront OBJ files are correctly converted for use inside the library. So 3D artits can help contribute to games using this library as well.(Although most modern software will create relatively large objects causing FPS to drop.) I’ve actually created all of my game objects using nano (linux ver of notepad) and just hand typed the OBJ format. I think the biggest problem for most artists will be trying to create acceptable objects with the least amount of vertices/lines possible and still be willing to put their name to it.

Looking forward to all the submissions and learning from eveyone else’s hard work as well.

Greg Stevens wrote:
My major set backs have been FPS. 20MHz gets used up real quick when doing graphics calculations using the CPU instead of the VIP.

I know very little about programming, and even less about the architecture of the VB, so sorry if this is a super nub question, but I’m asking out of curiosity: What is the relationship between the CPU and the VIP? Why would one use the CPU rather than the VIP in this situation?

The VIP is the Virtual Image Processor. Despite the VB being a “3D” system, it’s really only good for drawing 2D graphics with parallax. The closest it can do to 3D is affine mode, which is used by, for example, Bound High and Mario Kart VB. To draw actual polygons, you have to write the code yourself, which means that the CPU has to do all the work, while if you use the VIP, the CPU is free to do other things while the VIP is processing graphics.

Just to add a little to what HorvatM said, the VIP basically runs on its own and can’t be manipulated by code. So for example i can’t ask the VIP to add 1+1 for me. What I can do is fill or manipulate all of the memory areas the VIP uses which consist of characters, bgmaps, objects, and worlds. So for example if my game has a static background I can create my bgmap and fill in the world information for it one time and the VIP will automatically render it to the screen each game frame without me having to create the background again or worry about writing each pixel of the image to the screen. As of yet, nobody has come up with a way to utilize the chars, bgmaps, and worlds for wireframe rendering (i doubt it could be done with any efficiency but i’ve been proven wrong many times before). And in case your wondering Red Alarm didn’t use them either for its wireframe (I checked). Red Alarm did use the VIP for things like the HUD and player information and the alerts that pop up. So if you want to do wireframe you have to write every pixel to the screen yourself and actually “short circut” the VIP by telling it not to render all the worlds so you have a little bit more time for your code to perform all the calculations it needs. While some may cringe when I say this the truth is the only way to squeeze out any decent performance is to code every critical function in assembly. Which is what my next release of the wireframe library will be close to accomplishing. My last performance test showed a 500% increase in performance using assembly over c. I have a few more functions to code in assembly (believe me writing a rendering pipeline in assembly is not the easiest thing to do) but most of them don’t run on every vertex and won’t boost performance all that much.

 

Write a reply

The forum ‘PVB Coding Competition 2013’ is closed to new topics and replies.