Smallball HD
Moderator: Moderators
Smallball HD
There! Now I have finally made it far enough to feel I can show a first version of the game I have been working on. There are still many things I wish to add, and it needs a lot of tweaking still. It's also a bit too hard. But I would be interested to hear what everyone thinks and especially if anyone has any ideas for improvements!
One thing I was thinking of especially: would it be possible, maybe with some OpenGL code, to create some sort of post-processing effect and apply "on top" of the game?
I realize it might not be so easy, but I'd love to have some sort of feedback effect, or a slight glow to everything.
Finally, in case you wonder why the game is named what it is, it's a remake of a game I made long ago, but now in 3D. If you're interested you can find the original here : http://neotron-games.blogspot.se/2008/0 ... eland.html
Oh, and you have to press Space to begin.
One thing I was thinking of especially: would it be possible, maybe with some OpenGL code, to create some sort of post-processing effect and apply "on top" of the game?
I realize it might not be so easy, but I'd love to have some sort of feedback effect, or a slight glow to everything.
Finally, in case you wonder why the game is named what it is, it's a remake of a game I made long ago, but now in 3D. If you're interested you can find the original here : http://neotron-games.blogspot.se/2008/0 ... eland.html
Oh, and you have to press Space to begin.
- Attachments
-
- SmallBallHD.zgeproj
- (25.67 KiB) Downloaded 998 times
Re: Smallball HD
Hi Imerion,
Nice effort for a first ZGameEditor project.
Anyway, after briefly looking through the source I have a bunch of remarks that you might want to look into first.
- You ( generally ) don't want use Category 0 for collisions. That way you don't accidentally include Models ( such as ParticleBurst and Zoom ) in collision tests ( right now picking up the first Ball results in a endless stream of "Collision combination is not supported" warnings ).
- Only use Models when necessary. So, for instance use a ZExpression instead of spawning ( and directly deleting thereafter ) the CreateDynamicBackground Model.
- The camera Zoom & Rotate behaviors don't seem to be executing in the correct order, causing the camera to stutter.
- Using a RenderSetColor before UseMaterial ( like you did in StaticBackground ) doesn't do anything. RenderSetColor needs to be after UseMaterial to take effect.
- Don't use the build-in font, it uses a hack that slows down the IDE.
- Only name components when necessary. So, instead of naming your DefineCollision components, use the Comment property for a description.
- And you might want to use Folders to keep your project organised
Also, the fact that you're somehow using over 3000 models and almost 300 textures leaves a lot of room for optimization.
K
Nice effort for a first ZGameEditor project.
Sure, you don't even need to use OpenGL calls for that.Imerion wrote:Would it be possible, maybe with some OpenGL code, to create some sort of post-processing effect and apply "on top" of the game?
Anyway, after briefly looking through the source I have a bunch of remarks that you might want to look into first.
- You ( generally ) don't want use Category 0 for collisions. That way you don't accidentally include Models ( such as ParticleBurst and Zoom ) in collision tests ( right now picking up the first Ball results in a endless stream of "Collision combination is not supported" warnings ).
- Only use Models when necessary. So, for instance use a ZExpression instead of spawning ( and directly deleting thereafter ) the CreateDynamicBackground Model.
- The camera Zoom & Rotate behaviors don't seem to be executing in the correct order, causing the camera to stutter.
- Using a RenderSetColor before UseMaterial ( like you did in StaticBackground ) doesn't do anything. RenderSetColor needs to be after UseMaterial to take effect.
- Don't use the build-in font, it uses a hack that slows down the IDE.
- Only name components when necessary. So, instead of naming your DefineCollision components, use the Comment property for a description.
- And you might want to use Folders to keep your project organised
Also, the fact that you're somehow using over 3000 models and almost 300 textures leaves a lot of room for optimization.
K
Thanks for the feedback!
I did a couple of changes based on your suggestions.
I no longer use Category 0 for collisions. For some reason this made my player model turn black and I can't seem to find the reason. Any idea why this is?
Using models for a few of these effects were only to get a practical way to use states to separate code blocks. But I could use appstates instead, or just better code.
The exception is the CreateDynamicBackground model. The reason for this is that I seemed to be unable to send position coordinates inside a @SpawnModel. Like this @SpawnModel(Model : DynamicBackgroundBlock, Position.X : x, Position.Y : y);
An error said position could not be used when calling the function like that. Maybe I just did it wrong?
Camera should work better now too, I removed a bunch of unused polygons and organised things in folders. Will be using comments to describe objects from now on too.
I'm not sure I understand what you mean about the built in font though? The IDE seems to work just fine. Should I load an external font instead? I tried using the included "Dina" font, but the built in one looked better. Will see if I can find a better font somewhere.
The game also has two modes now, a classic mode without camera movements, which is started using the Left key, and a crazy mode with zoom and rotates, started with the right key.
Finally, what are those post processing techniques you mentioned? Made me very excited!
I did a couple of changes based on your suggestions.
I no longer use Category 0 for collisions. For some reason this made my player model turn black and I can't seem to find the reason. Any idea why this is?
Using models for a few of these effects were only to get a practical way to use states to separate code blocks. But I could use appstates instead, or just better code.
The exception is the CreateDynamicBackground model. The reason for this is that I seemed to be unable to send position coordinates inside a @SpawnModel. Like this @SpawnModel(Model : DynamicBackgroundBlock, Position.X : x, Position.Y : y);
An error said position could not be used when calling the function like that. Maybe I just did it wrong?
Camera should work better now too, I removed a bunch of unused polygons and organised things in folders. Will be using comments to describe objects from now on too.
I'm not sure I understand what you mean about the built in font though? The IDE seems to work just fine. Should I load an external font instead? I tried using the included "Dina" font, but the built in one looked better. Will see if I can find a better font somewhere.
The game also has two modes now, a classic mode without camera movements, which is started using the Left key, and a crazy mode with zoom and rotates, started with the right key.
Finally, what are those post processing techniques you mentioned? Made me very excited!
- Attachments
-
- SmallBallHD.zgeproj
- (28.51 KiB) Downloaded 878 times
Hi Imerion,
K
The Category number also controls the order in which Models are executed / rendered. Since you don't have a UseMaterial component in Smallball anymore, the active Material is / seems-to-be BackgroundMaterial. And a Material using a red texture + blue ( filter ) color ends up as black.Imerion wrote:I no longer use Category 0 for collisions. For some reason this made my player model turn black and I can't seem to find the reason. Any idea why this is?
That doesn't work ( yet ) no. But you can do the following ..Imerion wrote:The exception is the CreateDynamicBackground model. The reason for this is that I seemed to be unable to send position coordinates inside a @SpawnModel. Maybe I just did it wrong?
Code: Select all
Block.Position.X = myX;
Block.Position.Y = myY;
SpawnModel(Model : Block);
It does work fine, but the "hack" causes the preview to delay for a second or so.Imerion wrote:I'm not sure I understand what you mean about the built in font though? The IDE seems to work just fine.
If you don't want to create a font from scratch, simply download a font somewhere and use CBFG to create a texture that you can use with ZGE.Imerion wrote:Should I load an external font instead?
Take a look at the Post-Processing video tutorial. You don't ( necessarily ) need to use shaders though.Imerion wrote:Finally, what are those post processing techniques you mentioned?
K
Ah, so that is why! I added a Use Material.
Managed to remove the "Create" model using your code too.
Thanks again for all help!
Sorrry for taking so much of your time, but now something else turned up. I tried to create a mouse-navigated menu, currently just using a bunch of black squares. I want to check for a collision with my mouse pointer and menu object using this :
But somehow this crashes the whole program. Could there be a problem with category collisions? Crashing example is included.
Managed to remove the "Create" model using your code too.
Thanks again for all help!
Sorrry for taking so much of your time, but now something else turned up. I tried to create a mouse-navigated menu, currently just using a bunch of black squares. I want to check for a collision with my mouse pointer and menu object using this :
Code: Select all
if (CurrentModel.CollidedWith.Category==11); {
GameMode=0;
@SetAppState(State : InGame);
@RemoveModel();
}
- Attachments
-
- SmallBallHD.zgeproj
- (30.36 KiB) Downloaded 920 times
New version with lots of improvements, if anyone wants to try it!
There is now mouse and (i hope) touch support, I have added some fake reflections, etc.
As always, suggestions for improvements are welcome!
There is now mouse and (i hope) touch support, I have added some fake reflections, etc.
As always, suggestions for improvements are welcome!
- Attachments
-
- SmallBallHD.zgeproj
- (34.33 KiB) Downloaded 1076 times
After a lot of learning as well as help from this forum, Smallball 3D (changed the name) now works well in Android and is available on Google Play!
Check it out here :
https://play.google.com/store/apps/deta ... mallballhd
It's not as fancy as the desktop version, but it runs well and plays fine on all devices I've tried it on. Also, I attached the latest Windows version with lots of improvements, in case someone wants to try it.
Check it out here :
https://play.google.com/store/apps/deta ... mallballhd
It's not as fancy as the desktop version, but it runs well and plays fine on all devices I've tried it on. Also, I attached the latest Windows version with lots of improvements, in case someone wants to try it.
- Attachments
-
- SmallBall3D.zip
- (9.42 MiB) Downloaded 2065 times
After a year, I decided to load this game up again and fix all misses I did because I didn't really know how ZGE worked. I also decided to improve a bunch of other aspects of the game, from gameplay to graphics. The result is a new release!
If you want to try, you can play the PC version on Gamejolt : http://gamejolt.com/games/smallball-3d/78508#close
There is also an updated Android version : https://play.google.com/store/apps/deta ... mallballhd
If you want to try, you can play the PC version on Gamejolt : http://gamejolt.com/games/smallball-3d/78508#close
There is also an updated Android version : https://play.google.com/store/apps/deta ... mallballhd
- Attachments
-
- Screen7.png (253.38 KiB) Viewed 29659 times
Great!
I played the Windows version, very nice!
I did notice a few glitches:
Some of the glyphs had their lower part cut off, for example on the title screen "y" in "Crazy" and "p" in "Top Score" had the lower part missing.
At one point the music just gets cut off (after a minute or so?).
The framerate starts to fall a bit after a while but then I get killed anyway so can't say whether it's something permanent or just a fluctuation.
Other thoughts:
I can guess what were your reasons for going with the color choice but (without going into the physiological aspects of color theory and color perception) to me this is like having a tune composed of exclusively ultra high-pitched notes... I mean yeah it can be fun but after a while it's like "Hmm... is this right?"...
I really liked the effect with the patterned circles on the title screen and trails ingame!
The ball is maybe slightly too fast?
The single flashing mini rectangle on the title screen was nice, I wish there were more of them!
I usually manage to get to some 10-15 in both modes before getting killed.
btw I also use a similar idea for the background like the "normal" mode! 8D
I did notice a few glitches:
Some of the glyphs had their lower part cut off, for example on the title screen "y" in "Crazy" and "p" in "Top Score" had the lower part missing.
At one point the music just gets cut off (after a minute or so?).
The framerate starts to fall a bit after a while but then I get killed anyway so can't say whether it's something permanent or just a fluctuation.
Other thoughts:
I can guess what were your reasons for going with the color choice but (without going into the physiological aspects of color theory and color perception) to me this is like having a tune composed of exclusively ultra high-pitched notes... I mean yeah it can be fun but after a while it's like "Hmm... is this right?"...
I really liked the effect with the patterned circles on the title screen and trails ingame!
The ball is maybe slightly too fast?
The single flashing mini rectangle on the title screen was nice, I wish there were more of them!
I usually manage to get to some 10-15 in both modes before getting killed.
btw I also use a similar idea for the background like the "normal" mode! 8D
Thanks for testing and for lots of useful feedback!
Nice to hear you liked the effects! How did the reflections feel to you? I experimented a lot with various alpha settings to make them look good, but I'm still not sure.
I knew I forgot something: autorepeat for the background music doesn't seem to work with the -1 flag, so I'll set it to 99.
I see what you mean with the colors, they are a bit strong. Might make them a bit softer, but it's something I'll think about for my next project!
Slightly lower speed would probably be good. Others have commented on that as well. And the font will be fixed too.
The mini-rectangle is actually the cursor, if you want to select an option with the mouse. But I'll add a few that is only for decoration. Should look good!
Once I'm home from my vacation I'll make a few improvements and upload a new version!
Nice to hear you liked the effects! How did the reflections feel to you? I experimented a lot with various alpha settings to make them look good, but I'm still not sure.
I knew I forgot something: autorepeat for the background music doesn't seem to work with the -1 flag, so I'll set it to 99.
I see what you mean with the colors, they are a bit strong. Might make them a bit softer, but it's something I'll think about for my next project!
Slightly lower speed would probably be good. Others have commented on that as well. And the font will be fixed too.
The mini-rectangle is actually the cursor, if you want to select an option with the mouse. But I'll add a few that is only for decoration. Should look good!
Once I'm home from my vacation I'll make a few improvements and upload a new version!
Thanks for testing and for lots of useful feedback!
Nice to hear you liked the effects! How did the reflections feel to you? I experimented a lot with various alpha settings to make them look good, but I'm still not sure.
I knew I forgot something: autorepeat for the background music doesn't seem to work with the -1 flag, so I'll set it to 99.
I see what you mean with the colors, they are a bit strong. Might make them a bit softer, but it's something I'll think about for my next project!
Slightly lower speed would probably be good. Others have commented on that as well. And the font will be fixed too.
The mini-rectangle is actually the cursor, if you want to select an option with the mouse. But I'll add a few that is only for decoration. Should look good!
Once I'm home from my vacation I'll make a few improvements and upload a new version!
Nice to hear you liked the effects! How did the reflections feel to you? I experimented a lot with various alpha settings to make them look good, but I'm still not sure.
I knew I forgot something: autorepeat for the background music doesn't seem to work with the -1 flag, so I'll set it to 99.
I see what you mean with the colors, they are a bit strong. Might make them a bit softer, but it's something I'll think about for my next project!
Slightly lower speed would probably be good. Others have commented on that as well. And the font will be fixed too.
The mini-rectangle is actually the cursor, if you want to select an option with the mouse. But I'll add a few that is only for decoration. Should look good!
Once I'm home from my vacation I'll make a few improvements and upload a new version!
Fine with me, strong enough that one can see there's some reflection but not as strong that it'd get confusing what is the object and what is a reflection.Imerion wrote:How did the reflections feel to you? I experimented a lot with various alpha settings to make them look good, but I'm still not sure.