Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

What are you working on? (Game Making Thread)

I decided to have another look at running OpenGL inside RMVXA as I am now a lot better at OpenGL and I understand how it all works much better now.

Right now I have an OpenGL context successfully running along side RMVXA (As well as a debug command console), next up I'm going to try to load an RMBitmap directly into a GL texture (Trying to get fast texture loading working).

I plan on making this really GPU heavy to try and keep it as fast as possible.

EDIT: Woah that was fast, already got RM bitmaps loading into GL textures!
 

Injury

Awesome Bro

That is pretty awesome! How long do you think it will take you to get a mapping tool worked out and get a 3d sprite/map in there?

YOU ARE THE FUTURE FRIENDO
 
Injury":eii8w7ot said:
That is pretty awesome! How long do you think it will take you to get a mapping tool worked out and get a 3d sprite/map in there?

YOU ARE THE FUTURE FRIENDO
I already have shaders rendering polygons onto bitmaps and you can load bitmaps as textures :V

I will leave it to someone else to make a new map class that renders to 3D, but yeah with an OpenGL context the possibilities are limitless.

Just need to watch out for performance, at the moment I have avoided all memory copy/allocations and am using the GPU memory for pretty much everything, what I'll probably do is write an API for allocating GPU memory and uploading bitmaps to it so pages can be reused.

Pretty cool. I'll make this one open source too.

Edit: I think what will be more cool is the simple improvements that GPU hardware can bring, so things like FFX style battle transitions with the glass shattering or per-pixel lighting, even battle animations could be awesome, could use 3D models and shaders for explosions and stuff.

Heck, wouldn't be too hard to get PSX quality 3D battle backgrounds and cameras (FF789 style), considering it's all just bitmaps. Just need to make sure it is fast enough for that :/
 

Gray

Member

Planning stage of an RPG maker game based on the pen and paper RPG me and a few friends are playing (and we need another member so we can't play for a while). Mostly writing more about the world and magic and all that jazz, I should really get down to drafting some game mechanic stuff, tho.
 
Here's a screenshot that looks incredibly boring and not interesting at all.
http://i.imgur.com/k0azBwS.png

My latest OpenGL experiments work on NVidia chips this time round.

That screen-shot is doing the following operations on the create of Scene_Title's background image;
  • sprite2's bitmap is uploaded to the GPU as an OpenGL texture
  • sprite1's bitmap is uploaded to the GPU as an OpenGL texture
  • sprite1's GPU texture is bound to a frame buffer object the same size as sprite1's texture
  • A shader is compiled
  • The shader is used to draw sprite2's GPU texture as a quad onto the middle of sprite1's GPU texture at 50% size and 50% transparency
  • The frame buffer object is read back into sprite1's RPG Maker bitmap with glReadPixels

Then scene_title treats the resulting image as sprite1, so sprite2 is drawn over the top during it's regular draw routine (Which is why you get the grass over the top of my 50% transparent image as well)

It's just a test process and I'm mostly using this to experiment in something for work (Fast texture loading)


For the API of this I plan to highlight the speed requirements over ease of use, which will stop kids from attempting to script any crazy 3D stuff that they probably shouldn't be attempting until they master the rest of RGSS.

One of the causes for speed problems in my last attempt was creating new textures practically every frame, this time round I'll make it so you can alloc GPU memory, copy an RM bitmap into GPU memory, or do both at the same time, then when you're done with your operations you can download whatever buffer you have bound into an RM bitmap and do whatever you want with it (3D maps, character shadows, per pixel lighting, bump maps, post-processing, whatever).

The one thing that I want to do is copy the RM back buffer after each map layer is rendered, but I don't think anyone has investigated that and I don't know anything about RGSS internals to be able to do it myself.


glTex = XI.TextureAlloc( width: w, height: h ) # Create blank texture resolution [w,h]
glTex = XI.TextureAlloc( copy: rmBitmap ) # Create blank texture resolution rmBitmap.[wh] then copy rmBitmap into texture
glTex.CopyBitmap( copy: rmBitmap ) # Copy rmBitmap into texture
XI.TextureUnit[0].Bind( glTex ) # Bind texture into GPU texture unit 0
 
I am currently working on a Unity Plugin to simulate platformer games Like sonic the hedgehog.
You can test it via the link in my signature tell me what you think :P
 
Clouds. Animating clouds for battle animation. Like puffy impact dust clouds and smoke. I'd usually just paint clouds building up from dark to light, but I had to learn a different technique and draw the outline and shadows with a pen
 
Looking for new sprites after reading the fine print on RMXP: no using their assets (or any assets that came with Game Character Hub) on any non RPG Maker game. Le sigh. (Go see my introduction post for more info.) Right before that I was working on my vendor system: talking to the vendor, clicking on stuff, and putting new weapons in your inventory and new soldiers in your army.
 

DJ

Some guy that did RMXP before
Member

It's been a while. Been beaten up by school pretty good because my major classes are literally difficult. Currently Learning GLUT... Making these kind of shit :

Grphix1.jpg

Grphix2.jpg


I seriously wish that i can get back to making "something" rather than these X_X.
But also, been trying to design / make something of my own, such as improving pixel arts for my project.

Take a look :
VKS22-Crusher-Comparison.png
BPR765%20Comparison.jpg
 
What does glut do for you? I keep looking at it but I can't justify any decision to use it as to me GLUT doesn't actually do anything beyond window creation
 

DJ

Some guy that did RMXP before
Member

Xilef":3ecr9iuy said:
What does glut do for you? I keep looking at it but I can't justify any decision to use it as to me GLUT doesn't actually do anything beyond window creation

I can't straightly say that since i'm also getting my brain busted just learning this thing, but from what i've learnt so far, it's basically OpenGL that could be used on C++ with a bit more of easy-to-use functions. But it also seems that software developed with GLUT requires external GLUT libraries to properly run.

I think you know better about GL than me so i'll skip details ( i don't know much about how to explain anyway, lol )

Basically it looks like

Initialization "( int main (int argc, char argv*)" - Making window and registering functions (Keyboard/Mouse Input, Timer, etc blah blah) )

Main Loop ( Mainly "void Render ()" + other functions that has been registered during the initialization process, basically everything is done here )

Termination ( return 0 )

To me.
 
Still seems like a needless dependency to me, but so many OpenGL tutorials have GLUT headers included and say "use GLUT" but I have never needed to.

So it is multi-platform input, context/window creation and timers in a light-weight library as opposed to using something heavy weight like SDL?

Makes sense if you're just doing some small tests/demonstrations, which would explain why it is used so much in tutorials, but for hefty multi-platform project it makes a lot more sense to use SDL for input, context/window and timers.
 

DJ

Some guy that did RMXP before
Member

Xilef":c7id1l91 said:
Still seems like a needless dependency to me, but so many OpenGL tutorials have GLUT headers included and say "use GLUT" but I have never needed to.

So it is multi-platform input, context/window creation and timers in a light-weight library as opposed to using something heavy weight like SDL?

Makes sense if you're just doing some small tests/demonstrations, which would explain why it is used so much in tutorials, but for hefty multi-platform project it makes a lot more sense to use SDL for input, context/window and timers.

Yeah, i think that's the most probable answer. For me i thought it was just expansion of OpenGL.
 
Xilef":tzc6jjqd said:
So it is multi-platform input, context/window creation and timers in a light-weight library as opposed to using something heavy weight like SDL?

That was always my impression of GLUT.

I happen to know a lot about RGSS internals, including XP tilemap generation and XP/VX window generation, and might have some GL rendering suggestions for you for those components if you're interested.
 
rey meustrus":2570rkxo said:
That was always my impression of GLUT.

I happen to know a lot about RGSS internals, including XP tilemap generation and XP/VX window generation, and might have some GL rendering suggestions for you for those components if you're interested.
Yep sure, any information will be helpful.

What I'm doing with that project is making a rendering API rather than going for an OpenGL rendering version of RMVXA (There's other folks trying to achieve that one :smile: ) so grabbing the screen buffer for rendering doesn't actually bother me too much, it is just one easy example of how to use shaders.
 
Subtle design tweaks. Numbers that count up/down. Menu stuff.

Trying to improve the battle system. Even with animated battlers, it's boring. I'm thinking about camera movement. Instead of the character running toward the enemy I was think the character runs in-place and I slide the background and other battlers instead. Or if I space the enemies and party members far enough apart so I can do stuff the camera and maybe create a greater sense of action and movement.
I need to figure out how to zoom-in on the game screen. I don't want to gradually zoom in/out cause with pixel art that tends to look weird. I think a transition from normal to a close-up would work.
 
Simple camera movements make any battle scene look more dramatic.

I use a real crazy camera that swings all over the place. During battle introduction (with slow-atb turned on) the camera will do rolls, zooms and pans to give a sneak peak of the enemy while the first round of ATB gauges fill, then it swings into the sky to reveal all in time for the first round to play out


As for what I'm working on; I made a really nice timer system where you can make a timer, choose its resolution (in multiples of milliseconds) and even attach a function to be called each time it ticks, the function will pass in how many ticks occurred since the last call.

So as a result of this; I can make timers that call functions at different points of their ticks on different threads, so I can make a timer that fires every 33.333 milliseconds or every 16.666 (30 FPS versus 60 FPS) and use the tick function to update the world at varying rates without needing any sort of delta-timing.

The number of ticks argument can be used to loop through the update, so if it took too long for the rendering to complete the world will update all the steps that delta-timing would have missed out on.

Super handy.
 
Xilef":1ue5dgdq said:
rey meustrus":1ue5dgdq said:
I happen to know a lot about RGSS internals, including XP tilemap generation and XP/VX window generation, and might have some GL rendering suggestions for you for those components if you're interested.
Yep sure, any information will be helpful.

What I'm doing with that project is making a rendering API rather than going for an OpenGL rendering version of RMVXA (There's other folks trying to achieve that one :smile: ) so grabbing the screen buffer for rendering doesn't actually bother me too much, it is just one easy example of how to use shaders.

Well shoot, I can't remember exactly what I was responding to. It certainly wasn't the back-buffer thing; what I know about is the serialized data formats and how to reverse engineer the RGSS classes for OpenGL.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top