As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/

Let's Make a Game: Platformer Edition [Playable Alpha (Win/Mac)! See page 8]

1235

Posts

  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    The light post is part of the level background, the spotlight is an object placed at runtime. I didn't place either, but I could place the light. So not those two.

    But yes, there are many pre-fab object that bring along their own sub-objects. The player, for example, brings along 4 particle jets. You can see in the first screenshot, the HUD box that previews the projectile shows just the base sprite of the player. But when you spawn it, it comes in with all the proper jets (which use additive blending, just like the lights). And that's no special code in the actual spawning, the player object does that on its own.

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Alright, I sorted my choppy capture issues out and I've got a video. It shows of many things, including Visti's great dynamic music, new levels, a more finished factory boss, and more. The video is uncut, so the loading times are what they are. I wanted to eliminate them entirely, but multithreading was more trouble than it's worth. The game takes about 10 seconds to pre-cache 3 maps on my system. It's even faster the more repeating tiles you use, of which these maps use them only for backgrounds. So for now, that's acceptable.

    The factory level here is definitely unfinished, but it shows promise.

    http://www.youtube.com/watch?v=xpU-euVqAlw

    I also made a video of debug stuff, similar to the screenshots above. It shows invincibility, flying, and spawning stuff, including a giant tower of factory bosses. I'll post it later.

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    The story begins to unfold.

    vacant.png

    evil.png

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Spent today getting the 3D setup a little better. Before I had it set so that in the frustum, one gl unit = one pixel at z=0. Other than that, z values didn't mean much of anything and the FOV was all screwed up, nearly 170 degrees. It was fine for parallax layers but any meaningful zooming or rotation made things look insane. I redid it so that the the 1 unit = 1 pixel at z=0, but the FOV is locked at 90 degrees. Now I can rotate sprites onscreen about the X and Y axes with no trouble. I've even taken to making minimally 3D backgrounds. I might as well, it's not like it impacts performance.

    better3d.png

    ZackSchilling on
    ghost-robot.jpg
  • robotbeboprobotbebop Registered User regular
    edited June 2009
    Hmm.. I may not be experienced enough to put this forward, but could you render the 3D display and then render the 2D display using GLU's orthographic projection matrix, I think it's gluOrtho2D or something.

    Setting up an Orthographic projection matrix and specifying normal screen sizes (like 640x480) essentially gives you a 2D vector graphics system. ... if this isn't what you're doing already at any rate.

    robotbebop on
    Do not feel trapped by the need to achieve anything, this way you achieve everything.

    Oh, hey I'm making a game! Check it out: Dr. Weirdo!
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    I'm using frustrum because I want 3D effects, I just never set it up properly for anything other than 2D until now. I should also note that I've disabled the depth buffer and sort my objects before drawing because every single sprite uses transparency (minimally for smooth edges).

    ZackSchilling on
    ghost-robot.jpg
  • lazerbeardlazerbeard Registered User regular
    edited June 2009
    robotbebop wrote: »
    Hmm.. I may not be experienced enough to put this forward, but could you render the 3D display and then render the 2D display using GLU's orthographic projection matrix, I think it's gluOrtho2D or something.

    Setting up an Orthographic projection matrix and specifying normal screen sizes (like 640x480) essentially gives you a 2D vector graphics system. ... if this isn't what you're doing already at any rate.

    Be wary about this, it might work if you do turn off the Z buffer (as Zach mentioned he did) but as a general rule, post projection Z values will vary non-linearly with your projection matrix, with the two matricies, a ortho Z value should look like:

    (z - nearClip)/(farClip - nearClip)

    which varies linearly across depth

    perspective projection z values look something more like (DirectX and OpenGL do this slightly differently)


    (z*farClip - farClip*nearClip)/((farClip-nearClip)*x)

    which does not give a linear distribution of depth, meaning depth comparisons will be off in Z buffering while using an orthographic projection matrix and a perspective projection matrix, or even two perspective matrices with different near planes.

    lazerbeard on
  • fallaxdracofallaxdraco Registered User regular
    edited June 2009
    after watching that video, one of the best ideas looks like spawning enemies to get past those pillars. are you going to work something like that into the base gameplay? maybe the character can absorb the parts of defeated enemies then respawn them if he needs to?

    fallaxdraco on
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Yes, there are medallions that you collect that give the player various powers. Some medallions increase your life bar, some let you jump higher and even fly. One that I'm making now, lets you seize control of certain enemies.

    There's one here to spawn those little walking guys.
    vacant.png

    I'd like to award them for defeating a boss rather than just leaving them around. For now, I guess it'll have to do. It's easy enough to move around various puzzles and collectables from one level to another later. Once I play with them enough, I'll whittle them down to the powerups that are most fun and offer the best gameplay possibilities.

    ZackSchilling on
    ghost-robot.jpg
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    This is pretty cool, I like how fluid the engine seems to be. :^:

    So Zack, if someone else were to Let's Make a Game, should it warrant it's own thread or would it be better to join forces with this one? :winky: It's the same topic and having otherwise independent games sharing a thread community may be neat and create kind of a PA game thinktank.

    Infidel on
    OrokosPA.png
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Infidel wrote: »
    This is pretty cool, I like how fluid the engine seems to be. :^:

    So Zack, if someone else were to Let's Make a Game, should it warrant it's own thread or would it be better to join forces with this one? :winky: It's the same topic and having otherwise independent games sharing a thread community may be neat and create kind of a PA game thinktank.

    If you have stuff you want to show, feel free. Keep in mind that there's also a programming thread and an XNA thread, so if you want to post more general questions, those would be good places too. If this turns into a more general game development thread, I'll just change the title.

    ZackSchilling on
    ghost-robot.jpg
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    Infidel wrote: »
    This is pretty cool, I like how fluid the engine seems to be. :^:

    So Zack, if someone else were to Let's Make a Game, should it warrant it's own thread or would it be better to join forces with this one? :winky: It's the same topic and having otherwise independent games sharing a thread community may be neat and create kind of a PA game thinktank.

    If you have stuff you want to show, feel free. Keep in mind that there's also a programming thread and an XNA thread, so if you want to post more general questions, those would be good places too. If this turns into a more general game development thread, I'll just change the title.

    Yeah, I'm meaning specifically the "lifecycle of a game demo" that is going on here and not just general game coding.

    Infidel on
    OrokosPA.png
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Edit: Sorry, I had 2 posts and got bottomed. See next page...

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Playable Demo Download!

    Hooray, we've now got easy-to-use binary distributions for both Mac OS X and Windows! No installation required.

    Downloads:
    Download for Windows: http://dl-client.getdropbox.com/u/107712/gamepost/platformer-alpha4-win.zip
    Download for Mac OS X: http://dl-client.getdropbox.com/u/107712/gamepost/platformer-alpha4-osx.zip
    Service Pack 1 (cross platform): http://files.getdropbox.com/u/107712/gamepost/alpha4-sp1.zip
    The service pack fixes a few OpenGL and performance issues. Simply replace your 'lib' folder with the one inside the SP1 zip.

    Instructions:
    Unzip the folder wherever and double click on Platformer.app (Mac OS X) or run_game.bat (Windows), The included read me contains a listing of controls and debug options.

    Config options are in the data folder under "conf.txt" and "controls.txt". Please edit these with WordPad on Windows. TextEdit is fine for Mac OS X. Everything should be commented and self-explanatory. For best results, stick with game resolutions that are 16:10.

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Oh, I forgot. How to play...

    The Controls
    Default Keyboard Controls
    Start/Pause/Select - Enter (Return on Macs)

    Move - Left/Right arrows
    Jump - Up arrow
    Duck/Look Down - Down arrow
    Drop Down (from moving platform) - Down arrow (double tap)
    Walk/Run - Left Shift

    Punch - Z
    Stomp - X
    Throw Projectile - S
    Choose Projectile - C

    Debug/Cheats
    Pause the game. Press and hold return to resume the game. While holding return, hold left shift, and down. With all three of these held, tap a fourth key to invoke a cheat.

    Fourth keys:
    Z - Full Infinite health
    X - Flight
    C - Spawn any object
    Up arrow (jump) - Jump to next checkpoint

    Moving the camera:
    Pause the game. Press and hold return to resume the game. While holding return, use any of these keys to move the camera:

    X - Zoom Out
    A - Zoom In
    Z - Rotate X axis
    S - Rotate Y axis

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    I resolved the issues with the Windows binary release. It now contains no installers and will run right after you extract the zip, just like the Mac version. I've also included the data folders in both downloads, so there's no second file to get or folders to move. The posts above have been updated to reflect the change.

    I know a lot of people have downloaded the files, but no one has posted if there were problems or anything. I'd like to know if these binaries are solid since this is how I plan on distributing the final product.

    ZackSchilling on
    ghost-robot.jpg
  • lazerbeardlazerbeard Registered User regular
    edited June 2009
    Sorry, I've been busy, it worked great! I didn't know how to access my other weapons, but what I played was quite fun. Is there a fullscreen option? Overall pretty enjoyable, just need content, and probably some sort of tutorial level or something.

    lazerbeard on
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    C switches projectiles. There's a list of controls 2 posts up. You can go fullscreen. Open the data folder and edit conf.txt
    # Unnamed Game Conf File.
    
    # The graphics may slow down or look crazy larger than 800x600.
    # Feel free to use any aspect ratio, however. 16:10 is default.
    # If the game is running ABSURDLY slowly, try disabling doublebuffer
    # and/or fullscreen.
    
    width=800
    height=500
    [b]fullscreen=0[/b]
    doublebuffer=1
    debug=1
    
    # Included levels are vida, testbig, palevel, and giant.
    # Look at the pngs and make your own.
    
    levels=factory,factory2,factory3,vida,mountaintop,cityentrance,bignfast,palevel
    level=factory
    
    # 60 FPS is full speed. Setting lower will make the whole game run slower.
    framerate=60
    

    ZackSchilling on
    ghost-robot.jpg
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    Hrmmmm. I'm getting 1 FPS. D:

    Running Windows 7 64-bit fyi, no idea why it would be running like this.

    Infidel on
    OrokosPA.png
  • KrisKris Registered User regular
    edited June 2009
    No problems here getting it to run and play (Mac OS 10.5). However, I did encounter a small problem. If you choose the quit option from the main menu, the game exits fine. If you choose Platformer > Quit from the menu bar though, the game crashes back to the desktop.

    As an aside, would it be possible to make the dude immune to damage a little longer after getting hit? Jumping between all those spikes in factory 2 was frustrating, especially since there only seems to be like a pixel of tolerance on each side of you before getting hit by a spike (when standing in between two of them). :P

    Oh, also, I noticed that when I started a new game (after loosing all my lives on a previous game), I started off with the projectile I was carrying from my previous game. Is that supposed to happen, or are you supposed to start fresh with a new game?

    Kris on
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Crash when using the menu to quit:
    I know about it but I can't figure out what the deal is. I handle quit events from the menubar menu and in-game menu similarly but one likes to crash. I consider it not too pressing a concern since the user wanted to quit anyway.

    Invincibility frames:
    You get a full 60 frames of invincibility after every hit and only maybe 20 stun frames. I might increase it more but you shouldn't need more. The time you get is plenty long enough to escape any hazard you might have fallen on. In that long run in Factory2 with the alternating spikes and guys, you're supposed to jump on them and hold jump to bounce to the next guy (just like in Mario). Landing and jumping again would be really dicey (but doable). I should formally introduce that mechanic somehow. It feels like platformer canon to me but maybe it's not so obvious to everyone.

    Persistence of projectiles
    Starting fresh with the projectiles you had? Yeah, that happens. The idea of continuity and progress isn't really coded in yet. The "lives" system is likely to go away and get replaced with something more modern and less annoying. I got tired of losing my projectiles every time I died so I hard-coded a system to keep them persistent. That code doesn't check for game overs, so it just sort of hangs on to them until you quit.

    Running at 1fps under Windows 7 64bit:
    That is worrying but I suppose not entirely unexpected. I haven't done any testing in Vista of Win 7. It's probably some issue with OpenGL using a legacy software renderer because the frameworks don't conform to this or that. As the frameworks that I use modernize to better support 64 bit and Windows 7, I'll switch over to them. I suspect the frame rate will improve then. I hope it does. One of the big worries writing an action-style game in python is always performance. I'm developing the game on a laptop with a Core2Duo 2.4GHz processor and an nVidia GeForce 8600M GT. I don't allow the frame rate to stutter from 60FPS on my machine, that's my only real performance target.

    ZackSchilling on
    ghost-robot.jpg
  • ZetxZetx 🐧 Registered User regular
    edited June 2009
    Getting an error and crashing when starting the game:
    Traceback (most recent call last):
    File "Platformer.py", line 33, in <module>
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 354, in
    gameinfo = GameInfo()
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 73, in
    glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION,atten)
    File "OpenGL\platform\baseplatform.pyc", line 299, in __call__
    OpenGL.error.NullFunctionError: Attempt to call an undefined fun
    ameterfv, check for bool(glPointParameterfv) before calling

    Zetx on
    76561197966849367.png
  • VistiVisti Registered User regular
    edited June 2009
    Man, this demo is hard as balls :D

    Visti on
    [SIGPIC][/SIGPIC]
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    Any thoughts on how it to not do software rendering, Zack? Is there any info I can get for you to help sort it out?

    Infidel on
    OrokosPA.png
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Zetx wrote: »
    Getting an error and crashing when starting the game:
    Traceback (most recent call last):
    File "Platformer.py", line 33, in <module>
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 354, in
    gameinfo = GameInfo()
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 73, in
    glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION,atten)
    File "OpenGL\platform\baseplatform.pyc", line 299, in __call__
    OpenGL.error.NullFunctionError: Attempt to call an undefined fun
    ameterfv, check for bool(glPointParameterfv) before calling

    Different versions of OpenGL seem to choke on the line. I thought I had fixed it for all machines before posting. The easiest thing to do is to disable glPoint distance attenuation. Open up the "lib" folder and find "main.py". Open it in a text editor and search for the following code segment and comment it out by adding pound signs before each line like so:
    # Setup particles to resize properly in this frustum:
            #atten = array([0.002,0.002,0],'f')
            #glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION,atten)        
            #glPointParameterf(GL_POINT_SIZE_MAX,256.0)
            #glPointParameterf(GL_POINT_SIZE_MIN,0.0)
    

    Is there anything special about your setup that I should know? Do you have Python installed already, including an older version of the PyOpenGL library that the game is somehow finding and using? Win XP / Vista / 7? 32/64? Do you have a particularly low-end graphics card, like an integrated setup? I'd like to put a nail in the coffin of that bug if possible.

    ZackSchilling on
    ghost-robot.jpg
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Infidel wrote: »
    Any thoughts on how it to not do software rendering, Zack? Is there any info I can get for you to help sort it out?

    What I should really do is find a machine with Windows 7 64 bit and try to reproduce the issue. There's nothing like 1st hand debugging to spot a problem.

    But if you want to try to help, I'd really appreciate it. In Mac OS X, you can press a button in the Activity Monitor to analyze a task and see where an app is spending all of its time and how much CPU time is used by individual function calls. I know Windows 7 has the "Resource and Performance Monitor", but I don't know anything about it. Is there a similar function to pick a process and monitor it? If so, launch the game, load a level, monitor the performance, save the results in a file. Then I could look through it and try to see where the issue is. If the app isn't using more than 20% of the CPU, it's likely something is wrong with the frame rate regulation, which is handled by SDL. If it's using 100% or close to that, some function could be hanging up or emulated in some way. The performance monitor logs might held me identify that.

    ZackSchilling on
    ghost-robot.jpg
  • CyberJackalCyberJackal Registered User regular
    edited June 2009
    I tried this and it mostly ran pretty well. Unfortunately had some pretty significant slow down in all three of the factory levels. Seemed to happen whenever the white spikes were on screen. I didn't have any trouble with any other enemies / hazards in those levels or any others.

    Other than that though, this is a great start. The music and the background art are great.

    CyberJackal on
  • DelzhandDelzhand Hard to miss. Registered User regular
    edited June 2009
    I start getting less than 1 fps when I come to the first moving platform or spikes or whatever it is, and I'm just using Vista.

    Edit: Same problem as CJ, I think - it happens whenever the spikes are onscreen. Also, the character has no arms or legs.

    Delzhand on
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    With the 1FPS, that seems crazy. Is the CPU tapped out at 100% or is it sitting really low and running slowly for no apparent reason?

    The game is more CPU-intensive than it needs to be because it's python, but there's no reason a modern machine should be choking like this. Specs?

    ZackSchilling on
    ghost-robot.jpg
  • ZetxZetx 🐧 Registered User regular
    edited June 2009
    Zetx wrote: »
    Getting an error and crashing when starting the game:
    Traceback (most recent call last):
    File "Platformer.py", line 33, in <module>
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 354, in
    gameinfo = GameInfo()
    File "C:\Temp\platformer-alpha4-win\lib\main.py", line 73, in
    glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION,atten)
    File "OpenGL\platform\baseplatform.pyc", line 299, in __call__
    OpenGL.error.NullFunctionError: Attempt to call an undefined fun
    ameterfv, check for bool(glPointParameterfv) before calling

    Different versions of OpenGL seem to choke on the line. I thought I had fixed it for all machines before posting. The easiest thing to do is to disable glPoint distance attenuation. Open up the "lib" folder and find "main.py". Open it in a text editor and search for the following code segment and comment it out by adding pound signs before each line like so:
    # Setup particles to resize properly in this frustum:
            #atten = array([0.002,0.002,0],'f')
            #glPointParameterfv(GL_POINT_DISTANCE_ATTENUATION,atten)        
            #glPointParameterf(GL_POINT_SIZE_MAX,256.0)
            #glPointParameterf(GL_POINT_SIZE_MIN,0.0)
    

    Is there anything special about your setup that I should know? Do you have Python installed already, including an older version of the PyOpenGL library that the game is somehow finding and using? Win XP / Vista / 7? 32/64? Do you have a particularly low-end graphics card, like an integrated setup? I'd like to put a nail in the coffin of that bug if possible.


    I'm using Win7 x86 (the public beta) and have Python 2.5 and 2.6 on the system as well as pygame (for 2.6). Don't think I've ever run an install for PyOpenGL though, but I guess something else could've installed it with a package...

    [edit] Still getting errors
    C:\Temp\platformer-alpha4-win\dist>Platformer.exe > log
    Traceback (most recent call last):
      File "Platformer.py", line 33, in <module>
      File "C:\Temp\platformer-alpha4-win\lib\main.py", line 354, in main
        gameinfo = GameInfo()
      File "C:\Temp\platformer-alpha4-win\lib\main.py", line 93, in __init__
        self.hudicon = HUDIcon()
      File "C:\Temp\platformer-alpha4-win\lib\HUD.py", line 121, in __init__
        self.icon.append(create_list_from_file(os.path.join('data','interface',"go.p
    ng"),centered=True)[0])
      File "C:\Temp\platformer-alpha4-win\lib\Loaders.py", line 61, in create_list_f
    rom_file
        texture, rect = create_texture_from_file(filename)
      File "C:\Temp\platformer-alpha4-win\lib\Loaders.py", line 72, in create_textur
    e_from_file
        return create_texture_from_surface(tile,clampx,clampy,mipmap,rect)
      File "C:\Temp\platformer-alpha4-win\lib\Loaders.py", line 120, in create_textu
    re_from_surface
        glTexImage2D(GL_TEXTURE_2D, 0, 4, rect.width, rect.height , 0, GL_RGBA, GL_U
    NSIGNED_BYTE, rgbadata)
      File "OpenGL\wrapper.pyc", line 1284, in __call__
      File "OpenGL\wrapper.pyc", line 681, in wrapperCall
    OpenGL.error.GLError: GLError(
            err = 1281,
            description = 'invalid value',
            baseOperation = glTexImage2D,
            pyArgs = (
                    GL_TEXTURE_2D,
                    0,
                    4,
                    150,
                    150,
                    0,
                    GL_RGBA,
                    GL_UNSIGNED_BYTE,
                    "\xff\xff\xff\x00\xff\xff\xff\x00\xff...,
            ),
            cArgs = (
                    GL_TEXTURE_2D,
                    0,
                    4,
                    150,
                    150,
                    0,
                    GL_RGBA,
                    GL_UNSIGNED_BYTE,
                    "\xff\xff\xff\x00\xff\xff\xff\x00\xff...,
            ),
            cArguments = (
                    GL_TEXTURE_2D,
                    0,
                    4,
                    150,
                    150,
                    0,
                    GL_RGBA,
                    GL_UNSIGNED_BYTE,
                    c_void_p(38648764),
            )
    )
    

    Zetx on
    76561197966849367.png
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    1 FPS, 5 to 8% CPU usage. Music thread seems fine, it's playing back normally, but game itself is not time scaling.

    Infidel on
    OrokosPA.png
  • CyberJackalCyberJackal Registered User regular
    edited June 2009
    I'm on an XP system, and it is admittedly getting on in years. For me, my CPU is hitting 100% when those white spikes come on screen. Like Infidel says, the music continues to play normally.

    Also, I found in the "Vida" level, if you land on top of the crushing piston, you get stuck. I imagine you didn't intend this.

    CyberJackal on
  • AfroJAfroJ Registered User regular
    edited June 2009
    I had the same issue as Zetx. Apparently OpenGL isn't included in the default display drivers in the Windows7 RC. Once I installed the proper drivers from ATI I was able to run the game fine after I remarked out the particle resize code.

    AfroJ on
    camo_sig2.png
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    I'm on an XP system, and it is admittedly getting on in years. For me, my CPU is hitting 100% when those white spikes come on screen. Like Infidel says, the music continues to play normally.

    Also, I found in the "Vida" level, if you land on top of the crushing piston, you get stuck. I imagine you didn't intend this.

    I fixed the problem with the white spikes. For some reason, making a very long and narrow quad and using a repeating texture absolutely chokes most systems. Not my Macbook through. I was able to reproduce the issue on a friend's machine. Building the long strip of spikes out of individual objects, each 100 pixels long, is infinitely faster. No CPU getting pegged at 100%. Actually, if I build the individual items and forget to take the texture off repeat, it STILL goes to hell even though nothing is really repeating. I am mystified by that one. By all means, it seems like it would be MORE work to draw each portion individually.

    Vida is a testing ground, pure and simple. The top of the pillar was always meant to reside offscreen and out of reach. I figured making the top of it walkable was unnecessary. It'll never be like that in a real level.

    Side note: how many people are experiencing a bug whereby the players arms and legs come out in sporadic bursts (or not at all) instead of in constant blue streams like they're supposed to? When the wooden platform breaks, do you see a shower of wooden splinters?

    ZackSchilling on
    ghost-robot.jpg
  • lazerbeardlazerbeard Registered User regular
    edited June 2009
    how long were those beds of spikes?

    lazerbeard on
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Something like 1600 units, 1600 pixels onscreen, 16 texture repeats. I fixed the issue for real just now, actually. I realized that my repeating backgrounds had no problem at all and they were WAY bigger, both in texture detail, dimensions, and number of repeats. So I looked for the one thing that was different: mipmapping!

    I told the spikes to load their texture with mipmapping, reverted back to one long strip of spikes and all performance issues disappeared. They render a tiny bit fuzzy now but no problem. It looks fine and a solid frame rate is much more important.

    I'm going to track down a few more bugs, then post an engine update (the 'lib' folder is the entire engine, it's maybe 500KB at most). Hopefully it'll fix some of the more pressing performance and crash bugs so I can get back to level design and new features.

    ZackSchilling on
    ghost-robot.jpg
  • ZetxZetx 🐧 Registered User regular
    edited June 2009
    AfroJ wrote: »
    I had the same issue as Zetx. Apparently OpenGL isn't included in the default display drivers in the Windows7 RC. Once I installed the proper drivers from ATI I was able to run the game fine after I remarked out the particle resize code.

    Hah, I didn't know that. I'll look up my ATI drivers as well...

    [edit] Okay, working now, without anything commented out.

    Zetx on
    76561197966849367.png
  • ZackSchillingZackSchilling Registered User regular
    edited June 2009
    Here's a replacement lib folder that should fix several issues, including missing particle effects and poor performance. If those of you having trouble would be so kind as to test it, I'd be grateful.

    http://files.getdropbox.com/u/107712/gamepost/alpha4-sp1.zip

    ZackSchilling on
    ghost-robot.jpg
  • InfidelInfidel Heretic Registered User regular
    edited June 2009
    Didn't change anything here.

    Infidel on
    OrokosPA.png
Sign In or Register to comment.