Toyland Shooter

Post screenshots, binaries and projectfiles of the projects you have made with ZGE that you want to share!

Moderator: Moderators

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Toyland Shooter

Post by Rado1 » Tue Apr 10, 2012 11:51 pm

(Because Ville asked me to provide some screenshots,) this is a preliminary announcement of the game called Toyland Shooter I'm currently working on. It's a ballistic game situated to a world of toy blocks, its citizens and ugly evils. Player's goal will be to solve various physical problems how to effectively eliminate evils but not to harm citizens. It will be kind of 3D Angry Birds, but not exactly.

Currently, I'm working on "technology", appearance, and the overall game concept. Later, will come design and testing of levels. There is still a lot of work on Toyland Shooter, but if everything goes fine, release of the 1st beta with a starting set of levels could appear around end of May 2012.

Some technical highlights:
1. It is implemented in ZGE + ZGEBullet.
2. Levels are defined in files in a simple almost-scripting language. Here is an example how to define a Kapla tower shown also in screenshot:

Code: Select all

// Kapla tower
TX 230   //wood texture
PO -20,0.75,50   //position
RO 0,0,0.25   //rotation
KA   //draw 1st kapla of odd floor
PO 0,0,7.25   //delta position for looping of level 0
RO 0,0,0   //delta rotation for looping of all levels
LS 0, 3, 0,0,0, 0,0,0, 0,0,0   //loop of level 0
PO 7.5,0,0   //delta position for looping of level 1
LS 1, 2, 0,0,0, 0,0,0, 0,0,0   //loop of level 1
PO 0,3,0   //delta position for looping of level 2
LS 2, 20, 0,0,0, 0,0,0, 0,0,0   //loop of level 2
LO 2   //execute nested loops of level 2,1,0 for all odd floors
PO -23.5,2.25,53.5
RO 0.25,0,0.25
KA    //draw 1st kapla of even floor
PO 7.25,0,0
RO 0,0,0
LS 0, 3, 0,0,0, 0,0,0, 0,0,0
PO 0,0, 7.5
LS 1, 2, 0,0,0, 0,0,0, 0,0,0
PO 0,3,0
LS 2, 20, 0,0,0, 0,0,0, 0,0,0
LO 2   //execute nested loops of level 2,1,0 for all even floors
3. Users can either change existing levels or add their own. Level definitions are loaded dynamically before they start, no application restart is needed. There is no limited number of levels (maybe only by positive size of int).
4. All textures, except of scans of drawings of my children, are computed. I plan the same also for sounds.
5. To achieve a high level of compatibility with GPUs, there is no GLSL shader used. Cartoon appearance + object outlining effect were achieved by other techniques.

You can also see some screenshots taken from my current testing levels.
Attachments
TScollage.png
Screenshots
TScollage.png (119.23 KiB) Viewed 14612 times

User avatar
VilleK
Site Admin
Posts: 2078
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Post by VilleK » Wed Apr 11, 2012 4:03 pm

Looking great with the flat shaded outlined style and the rectangular clouds :)

The level format is impressive although I expect you will need to document it in detail or provide a level editor if you want users to create their own levels.

Going for procedurally generated textures and audio is more work but satisfying with the resulting small executable if that is relevant to you, and you can also easily add some randomness to the content for variation. ZGE started as a tool for playing around with procedurally generated content and small binaries so this should be the right tool for the job :)

Let me know if you need help with anything. And I'll be happy to beta test later if you want feedback.

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Fri Sep 28, 2012 10:10 am

Hi,

here's the first demo of Toyland Shooter:

http://dl.dropbox.com/u/25552453/Toylan ... _demo1.zip

Even if I interrupted its development for more than 5 months, the underlying technology is more or less complete. You can "touch it" and see how the game will look like. The demo contains my 3 testing levels - you can modify them or add new levels if you want. I have designed many interesting levels on the paper (mainly physical puzzles), but not implemented yet. If you create some cool levels, please send them to me or share.

Note: Visual level editor, hopefully integrated with the game, is planned for future releases.

For details about the game and level file format see the REDME.txt file.

The game concepts are still in preliminary phase and I welcome any ideas how make it more interesting.

I want to continue with development and your feedback (ideas, comments, bug reports, etc.) is welcome and really appreciated. Thank you in advance for help.

My future plans are about finishing the concepts, incorporating your findings/ideas (if any), implementation of the game "mechanics", adding persistent score list, creating levels, making better title screen, creating help, adding sounds and music (maybe composing my own), creating Android version and hopefully distribution of v1.0 by the end of this year.

Have a fun! Rado1.

User avatar
jph_wacheski
Posts: 1005
Joined: Sat Feb 16, 2008 8:10 pm
Location: Canada
Contact:

Post by jph_wacheski » Fri Sep 28, 2012 1:19 pm

There is much Awesome in here!

My biggest criticism is the lag in aiming,. mouse moves cause a slow move to the actual aiming and over correction then occurs,. IMHO this makes it very hard (or less fun) to play. Other than that WOW! it looks good and the game design is clever, and the physics works great. The file format is a tad confusing, but I am sure myself and many others would figure it out to build levels,. this does interest me, however I think the aiming is too frustrating currently. I am sure a visual editor will get many more people to make levels too.

How are you drawing the dark outlines?
iterationGAMES.com

User avatar
VilleK
Site Admin
Posts: 2078
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Post by VilleK » Fri Sep 28, 2012 2:08 pm

I agree with Jph. Wow! I'd say that even in this unfinished state it's competing with Jph's finest stuff for the title of most impressive ZGE project.

What is the main hurdle to getting this working for Android? If it uses shaders then I hope to support GL ES 2 (with shaders) eventually.

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Fri Sep 28, 2012 6:40 pm

Thank you for your comments and encouraging words.

Actually, the aiming lag was intentional to make aiming little bit harder. I saw it in several driving and shooting games on PSP. Setting of rotation velocity exponentially by distance from the center instead of rotation delta angle was just a trial anyway. I can change it easily and see how it will work. You know, playing cannot be too easy :-)

BTW no shaders are used in the game. For outlines I used a simple trick with drawing an object twice, the first time with wireframe material, the second time with smooth material. This seems to be less efficient, but comparing to Bullet computations, this is relatively fast. I had quite a lot of trials how to achieve outlining with two render passes, shaders, drawing of black larger versions of objects behind their colored versions, etc. See the attached example for the final effect used in Toyland Shooter - it is not executable, just view ModelWindows or ModelAndroid respectively.

The problem of outlining for Android is that it does not support wireframe shading. A trivial workaround is with resizing the mesh, but does not work very well, especially for large objects. Here I would appreciate your help how to achieve good-looking effect of outlined objects on Android. Any ideas?

Another problem with Android is modification of existing and adding new levels after the game was installed on device.

You can also observe quite a large exe file. That's because all bitmaps were loaded from files due to some experiments on Android. I will probably produce 2 versions - computed bitmaps for Windows and loaded bitmaps for Android. Here, I would appreciate the possibility to have just one .zgeproj file compiled either to .exe with computed bitmaps or to .apk with loaded bitmaps. Ville, could it be possible?
Attachments
outline.zgeproj
Example of outlined objects.
(1.93 KiB) Downloaded 449 times

User avatar
Kjell
Posts: 1731
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell » Fri Sep 28, 2012 7:03 pm

Hi Rado1,
Rado1 wrote:The problem of outlining for Android is that it does not support wireframe shading. A trivial workaround is with resizing the mesh, but does not work very well, especially for large objects. Here I would appreciate your help how to achieve good-looking effect of outlined objects on Android. Any ideas?
The way it's done in Jet Set Radio is by rendering a inverted mesh ( using a black material ) of which the vertices have been pushed outwards slightly along their normal vectors. The "pushing" can be done relatively simple using a MeshExpression, and inverting is a matter of toggling glFrontFace.

Image

By the way, I second the comment on the mouse aiming, it's quite sluggish / difficult to control right now.

K

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Fri Sep 28, 2012 7:34 pm

Kjell wrote:The way it's done in Jet Set Radio is by rendering a inverted mesh ( using a black material ) of which the vertices have been pushed outwards slightly along their normal vectors. The "pushing" can be done relatively simple using a MeshExpression, and inverting is a matter of toggling glFrontFace.
Kjell - if I understand you correctly, that's exactly how I do it in Toyland Shooter, see the example from my previous comment. However, to achieve outline on Android, you need to draw another larger black mesh around. For simpler shapes the outlining mesh can be computed, but for more difficult shapes it should be a different mesh created manually to fit to all rotations of the object. For Windows, I use the same mesh drawn with wired material having larger wireframe width, which is much simpler.
Kjell wrote:By the way, I second the comment on the mouse aiming, it's quite sluggish / difficult to control right now.
I'll change it for sure :-)

BTW any ideas how improve the level file format? I need something which can be parsed by ZGE but easily created by people. BTW after I learned these several keywords, I was able to create levels quite easily and quickly. The only problem was too frequent usage of copy-paste. Level debugging is also technically simple (just restarting the level which re-reads the file), but usually it takes some time to achieve the desired behavior of more interacting physical objects.

User avatar
Kjell
Posts: 1731
Joined: Sat Feb 23, 2008 11:15 pm

Post by Kjell » Fri Sep 28, 2012 8:10 pm

:)
Rado1 wrote:For simpler shapes the outlining mesh can be computed, but for more difficult shapes it should be a different mesh created manually to fit to all rotations of the object.
As long as your mesh has proper normals, pushing the vertices should do the job ( regardless of how complex the shape is ). Attached is a example.

K
Attachments
Beat.zgeproj
(20.86 KiB) Downloaded 530 times
Beat.png
Beat.png (50.44 KiB) Viewed 14226 times

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Sat Sep 29, 2012 11:35 am

Kjell - you are right, with proper normals computation of outline mesh is really trivial. Thanks for example.

airpas
Posts: 48
Joined: Wed Apr 18, 2012 11:50 am

Post by airpas » Mon Oct 01, 2012 1:43 pm

this is really nice game . i played it 6 time now
the graphics is really well done , the smooth movement too

could you add some sort of post-processing like bloom or motion blur ..

and of course more levels

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Mon Oct 01, 2012 7:38 pm

airpas - I'm glad you like it. Actually, this is still not a game. I worked more on the game "technology" up to now. But I hope it has some potential to be an interesting game later.

I'm not sure about post-processing effects, like bloom or blur. They are done by GLSL shaders, and because my ambitions are to make Toyland Shooter running also on Android, I would like to avoid them.

Maybe Kjell could help with some usable effect which can run also on most of Android devices (?). Alternatively, I can add shaders only to Windows version. Is there, for instance, some way to add efficiently computed shadows? I have several nice looking OpenGL/C++ examples but, have not studied them yet.

jorgea

Toyland Shooter

Post by jorgea » Sun Oct 14, 2012 6:46 pm

When is this game going to be available?

User avatar
Rado1
Posts: 773
Joined: Wed May 05, 2010 12:16 pm

Post by Rado1 » Sun Oct 14, 2012 8:46 pm

My plan is to have the 1st official release (working also on Android) by the end of this year, but I'm not sure. There is still a lot of work to do.

darkhog
Posts: 58
Joined: Sun Sep 09, 2012 7:59 pm

Post by darkhog » Tue Oct 16, 2012 2:11 pm

I have idea: How about building gun, so we can make fortifications? Also, will it have online multiplayer?

Post Reply