Waternet Released.


joyrider

Active Member
Joined
Mar 29, 2006
Messages
589
Age
43
Website
www.willemssoft.be
Well waternet is finally finished, and ready for u guys to download! for those that do not know, Waternet is a puzzle game where you need to connect pipes to each other so that water flows through it. You can do this depending on the game mode in 3 ways : by sliding rows and columns, rotating invidual pipes or by doing both at the same time. Waternet has 3 difficulties each difficulty has 2 grid sizes and 20 static levels which makes a total of 180 static levels. Besides static levels there's also a random mode for each difficulty where levels will be generated on the fly for u to play.

oh yeah during testing it seems fw 3.0.0 didn't like the script for some reason so if someone using fw 3.0.0 has problems with it please let me know in the forums so that i can change the program a bit so that it works without a script. (it actually can work without a script but then it doesn't restart the default menu, this isn't a problem for gmenu2x doh if u use the wrapper)

details & screenshots availible here
Download availible here
 
fusion_power said:
I like such Puzzle Games. Have played "Pipes" for a while. :)
Is Waternet Skinable? I had done some Skins for Pipes (Tiles 25x25px for9x9 game-grid ), maybe they are useful somehow in your Game?
http://www.nagelfar.com/pipes/download.php



Well it is to some degree, however my tiles are 24x24 in size and each tile is saved seperately in a file.
You can change the files without a problem however i'm using a floodfill function to show wich tiles are connected. so the interiour of the pipes has to be black for the floodfill to work and for the game to show connected tiles. I could add skin support and an option to specify where on the tile the floodfill should start (currently it's 12,12 when counting from 0,0) and what color the floodfill should be.
 
Last edited by a moderator:
Yes, sorry. I could'nt test your game yet so I didn't know, that it is working with the "flood fill" method like flowflowmania. (more stressfull than Pipes ) So it would be better to do completely new tiles. And 24x24px is much better than 25x25px when doing graphics I can say :)
 
fusion_power said:
Yes, sorry. I could'nt test your game yet so I didn't know, that it is working with the "flood fill" method like flowflowmania. (more stressfull than Pipes ) So it would be better to do completely new tiles. And 24x24px is much better than 25x25px when doing graphics I can say :)
yeah indeed the floodfill is more stressfull but i'm using an optimized version. In the worst case scenario (all tiles are crosses something which will never happen) u still get 18 -20 fps, the same level being run without a floodfill gives u around 30-34 fps but u can't see this slowdown at all since the game waits for input and keeps redrawing everything. i probably could change it so that it will only draw when input was done, it's possible with this game. but not needed actually :)

i've chose 24x24 for the tiles since well i could use 10 tiles vertically (240 = vert size of screen) but yeah i can see why 24x24 is easier to work with u can mirror everything whereas with 25x25 u can't since one column/row of pixels will be left well that's all i can see in it doh hehe ;)
 
Last edited by a moderator:
Great game, joyrider :)

It's quite a butiful puzzle game. I was just lying in bed conquering easy levels 1 to 11. Once you get the hang of it it's very nice.
How does the random game generator work? Does it produce good puzzles?
 
TradaPIB said:
Great game, joyrider :)

It's quite a butiful puzzle game. I was just lying in bed conquering easy levels 1 to 11. Once you get the hang of it it's very nice.
How does the random game generator work? Does it produce good puzzles?
thanks for the comment :)

if u look closely u'll notice that the solutions for each level is just a maze where u can go from 1 point to another in just 1 way let me explain : each tile has 4 corners north south west & east. if only one corner is open this resembles a dead end in a maze, if 2 are apen this represents a corner in a maze if 3 are open this represents a T in the maze and finally if all 4 are open this represents a crossing in the maze.

so basicly i first generate a maze and then look at each maze part to see which entrances are open or closed and based on that i create the array that holds the tiles "numbers". so i first have a solution then i just shuffle the solution by either rotating individual tiles or sliding rows / columns depending on the game type.

so yes the levels are all good puzzles :)

if u want to know the static levels where generated with the same algorithm as the random level generator :)
 
Last edited by a moderator:
joyrider said:
fusion_power said:
Yes, sorry. I could'nt test your game yet so I didn't know, that it is working with the "flood fill" method like flowflowmania. (more stressfull than Pipes ) So it would be better to do completely new tiles. And 24x24px is much better than 25x25px when doing graphics I can say :)
yeah indeed the floodfill is more stressfull but i'm using an optimized version. In the worst case scenario (all tiles are crosses something which will never happen) u still get 18 -20 fps, the same level being run without a floodfill gives u around 30-34 fps but u can't see this slowdown at all since the game waits for input and keeps redrawing everything. i probably could change it so that it will only draw when input was done, it's possible with this game. but not needed actually :)

i've chose 24x24 for the tiles since well i could use 10 tiles vertically (240 = vert size of screen) but yeah i can see why 24x24 is easier to work with u can mirror everything whereas with 25x25 u can't since one column/row of pixels will be left well that's all i can see in it doh hehe ;)


Uh, I wanted to say, stressful for ME :lol: I don't know if the tiles will be (over)floated after a time delay or just floated when connected correctly. I want to test your game but with my 56K Modem it can take a while for downloading. ^^" Why is such a tiny Game nearly 6 Meg? :lol:

So your Game has static levels? And it really has an random Level mode like Pipes? Would be great. :) If i had downloaded your game, I test it. :)

Ok, after 20min Download I could test the game. First I mentioned, the ogg Music Files are the big files in the game. -And I don't like to hear music in Puzzlegames, especially Techno :lol: Well, the game works well without music files. :)
Nice Game modes. With the random-function there really comes "pipes"-feeling ingame (except the twisted controlls) The other game-modes are nice to, sliding is a really tough mode for me, rotating is much easier.
Sadly, the graphics are a little bit to complicated to customize the tiles (like in pipes) The game calculates the blue filled tiles right? Sadly, not "compatible" with my tiles. ^^""
 
Last edited by a moderator:
rokdcasbah said:
awesome work, keep those puzzle games coming!
Thanks :) I'm already thinking about another puzzle game Blockdude from the TI Calculator series :)

fusion_power said:
Uh, I wanted to say, stressful for ME :lol: I don't know if the tiles will be (over)floated after a time delay or just floated when connected correctly. I want to test your game but with my 56K Modem it can take a while for downloading. ^^" Why is such a tiny Game nearly 6 Meg? :lol:

So your Game has static levels? And it really has an random Level mode like Pipes? Would be great. :) If i had downloaded your game, I test it. :)

Ok, after 20min Download I could test the game. First I mentioned, the ogg Music Files are the big files in the game. -And I don't like to hear music in Puzzlegames, especially Techno :lol: Well, the game works well without music files. :)
Nice Game modes. With the random-function there really comes "pipes"-feeling ingame (except the twisted controlls) The other game-modes are nice to, sliding is a really tough mode for me, rotating is much easier.
Sadly, the graphics are a little bit to complicated to customize the tiles (like in pipes) The game calculates the blue filled tiles right? Sadly, not "compatible" with my tiles. ^^""
Yeah sorry about the filesize, i don't thought everyone would have broadband by now :) but i kept it small thats why i only included 2 music files could have done some more. Also i could have included the midi files itself but i don't do this cause then u need that timidity package installed which is greater in size then my game itself at least i think so. Another reason why i converted them to ogg is that it's easier to play them in the code and with ogg i only have to change the music volume once and it stays the same during the complete game whereas with mod for example u have to reset the volume when the music restarts so i prefrer ogg. and the last reason is i like the way they sound with my sound card and they probably won't sound the same when being played directly from the midi file on the gp2x :)

But ure right i should have added an option to disable music and sound effects i did this in some previous games but forgot to do it in waternet and if i wanted to do it now i'd have to recreate some of the graphics for the main menu which takes time :)

about the floodfill, in each level there is one and only one start piece so what i do is start the floodfill in that tile and automaticly all tiles that are connected get floodfilled as well (because all the white is connected in the tiles that are connected to the start tile) so i don't actually have to calculate anything the floodfill just does it all for me :) only thing i need to do is finding out where the start tile is and start the floodfill from there :)

So basicly if u want to create new graphics, u can do this but leave the center of the tiles all white i'll try to create a quick (& dirty) sample based on one of ure tilesets.

edit:
well i tried it, and it doesn't look so good. because the tiles that are not connected show white. but i can add skin support where u define the color that will be floodfilled so u can choose other colors besides white.
i'll see that i can add skin support in newer games like i did with sokoban.
 
Last edited by a moderator:
can the shape of the float-filled area be custom? Sometimes pipes are wider or corners are more or less sharp and so on.
For PIPES I had made some Aquaeduct-skins where half-pipes filled with water. Such effect could match very well with your game if there would be an option for transparency of the filled (maybe textured? )water - just a quick Idea. :)
Your Game plays well, but I have no talent for the sliding-method, even in easy :lol: I'm happy with the rotation mode.
Beside, will the background be skinnable in the future to match with new Tile-Skins? And like I mentioned in the flowflowmania-thread, it would be much much more easy, when tiles are in one or 2 graphic files instead of one tile per file. :)
Here, this was my last skin for PIPES:
http://rapidshare.com/files/23971673/FP_Brixx.zip.html
It could fit with your game when I change the tiles from 25x25 to 24x24 and design another fill-method. Support for transulent tiles would help so the background could be used for the overall-lock of the skin and I don't need background for the empty tiles (only shadow) ...maybe... ^^"

...just crazy ideas, I knos :lol:

Besides, I always have timidity on my GP2X. ;) (for Duke3D of course ;) )

EDIT: another suggestion: in rotation mode it seems, that every button rotates the tiles only in one direction (counter clockwise). There also should be a rotation clockwise like B for clockwise, X or A for counter-clockwise. :)
selected menu options should be highlighted. Better than darkened. A selected option could be glow or something, looks better I think. :)
And all the fading in the menus takes to long for my taste. Could be quicker so the wholt handling of the game would be faster.
 
hey,

Floodfill wil always work on any shape as long as the color where the floodfill occurs is always the same for example in my game the shapes are not always rectangular. but the color is all white and all white will be replaced with another color like blue as long as all white is always connected to another white etc. (it's basicly the same as a bucket tool in paint).

I could add skin support will have to change some things but yeah it should be possible, however and this might be a big turn off, because i'm using a floodfill the tiles which are not connected will always have one color (i can make this chooseable) that is just plain for example all black that is connected to each other will be changed to another color or a pattern (i think i can do this as well) but then tiles that are not connected will just show black or another color like it is now the tiles just show white so u'll have to take this into considiration when creating new graphics.

ure right about the rotation mode it only rotates in one direction but i thought generally even if there is an option to rotate it in 2 ways that people will only use one of the rotations possible. like only clockwise or something. but i can add it if u want to.

about the menu graphics, well i just plain suck at creating graphics it was the best i could do that looked more or less ok hehe :) but ure right it should be highlighted.

about the fading u don't have to wait till the fade is done in orde to select stuff in the menu's or start ure game u can do this all very quick (just keep pressing A for example and u'll see that u'll be in the game very quick) but i can increase the speed yes.

about the tiles being in one file i find it easier to program if they are just in a seperate file but i'll see if i can move them to a single file (at least when it comes down to the pipes the rest i'll probably leave as it is now).
in waternet i can do this, but in sokoban and blockdude i'm creating i can't do this since it's how i wrote the engine for it and it wouldn't look so good (codewise) if i started messing around with it but then again those games don't use many tiles :)

and finally about the background u can change it if u like but i was drawing empty tiles as well i think i can leave that out doh will have to check so u'll just see the background instead of the empty tiles :)

u know what i'll see that i can change some bits this week(/end), i do have to see if i get some time doh, with work, and the mame cabinet i'm building and Blockdude i'm creating time is rather short but i'll see what i can do :)

edit:
okay the tube tiles are now in a file and the arrows are in another file, the rest of the graphics i'm goan to leave untouched that should make it easier already. Oh yeah u can now see the background as well, i don't use the empty tile anymore, i just draw nothing when i encounter an empty spot :) should have done this earlier :)
Now i'm going to see if i can add skin support

edit 2:
working on the skin support, i decided that all graphics will be skinable and i do mean everything except perhaps the intro screens since u'll be able to change skins on the title screens, perhaps even during gameplay !!!
so fusion u up for creating a complete skin for the game ? :) as soon as i have something working i'll send u a beta so u can play a bit with it.
 
Hey, sounds interesting! :)

I Mentioned bidirectional turns because your game counts moves. And I like to solve a Level with as few moves as posible (known from PIPES), so turning Tiles in booth directions would make me feel better. ;)

The current Idea with one tile as background is not bad. One-Tile BG's can fit well, I think it could be cool, if we just can decide, how big this bg-tile will be. So one 320x240 "tile" would fit the whole screen, if someone want to make a unique, complex background. (with or without the HUD-Sidebar-graphic) Or we just could use 48x48 tiles etc. (The game just fill the screen tile for tile from left to right and top to down, except the 320x240 (centered) so everything is maximum variable. (24x24-Size minimum or so) :)

Complete Skin? Phew...hard work, I think Pipes sucked me out enough. :lol: I don't like your flood-fill method because it's very limited for making Skins. White/blue/other single color wouldn't fit in an existing Skin that i could change from Pipes (damn, I'm lazy :lol: ) But maybe you have better Ideas than me (easy). :) All I could imagine is some kind of invisible mask for the filling-area of each tile. There could be placed an 24x24 texture and only the masked area would be filled. - But it's much easier to do tiles for empty and tiles for filled pipes.

If you want to play with something, here I have done a tweak of a Pipes skin in 24x24:



Would be cool if this could be implemented as "alternative fill method" or so. :) Feel free to use the graphic as you want, it's just a "scribble" It's also a good example, where simple 24x24 bg-gfx would work well, juse use the empty tiles. ;)
 
fusion_power said:
I Mentioned bidirectional turns because your game counts moves. And I like to solve a Level with as few moves as posible (known from PIPES), so turning Tiles in booth directions would make me feel better. ;)
I'll add it in :)

fusion_power said:
The current Idea with one tile as background is not bad. One-Tile BG's can fit well, I think it could be cool, if we just can decide, how big this bg-tile will be. So one 320x240 "tile" would fit the whole screen, if someone want to make a unique, complex background. (with or without the HUD-Sidebar-graphic) Or we just could use 48x48 tiles etc. (The game just fill the screen tile for tile from left to right and top to down, except the 320x240 (centered) so everything is maximum variable. (24x24-Size minimum or so) :)
well the thing is i changed it to one big tile now 320x240 and the side bar is drawn on this background so people can do whatever they want with it :)

fusion_power said:
Complete Skin? Phew...hard work, I think Pipes sucked me out enough. :lol: I don't like your flood-fill method because it's very limited for making Skins. White/blue/other single color wouldn't fit in an existing Skin that i could change from Pipes (damn, I'm lazy :lol: ) But maybe you have better Ideas than me (easy). :) All I could imagine is some kind of invisible mask for the filling-area of each tile. There could be placed an 24x24 texture and only the masked area would be filled. - But it's much easier to do tiles for empty and tiles for filled pipes.
i was thinking the same thing, but i can have a look to see if i can't figure out a way to do it without floodfill because using a mask is a bit far fecthed. I think about that tommorow at work hehe :)


fusion_power said:
If you want to play with something, here I have done a tweak of a Pipes skin in 24x24:
i'll see what i can do with it :) thanks alot.

a few more notes:
skin support is WORKING :D and to make it even better i made it so that you don't have to skin everything but it is possible to skin everything from intro screens to credits screens to tiles all graphics in the game are skinable :) and if u want for example to only change the pipes u can do so since the game checks if an image exists or not and if not it will revert to the default graphics for that file :)
 
Last edited by a moderator:
great! :) Fall-back modes are always a good Idea in programms. Everything can be done, nothing has to be done :lol:

While playing your game (this sliding mode kills me! ) I had some more suggestions:
-in sliding only mode, it would be nice, if the cursor can only jump from arrow to arrow.
-in all modes it would be an improvement, if the cursor can jump from one screen side to the opposite screen, for example disappearing left and appearing right, It's a help for big playfields. :)
-ingame Font should be a little bit more bigger/clearer to read.

So, here are some Arrows for my Skin, top row inactive, bottom row active:


and a simple custom cursor:


Besides, you are the coder of Sokoban, right? I liked this game and played it a long time on my GP2X. :) But when reformating SD card from time to time, Sokoban really sucks while copying, because of the zillions of files. ^^""" Maybe there could be an Container format for all the Levels? Same for Waternet, when more levels will be included?
Is not that important, just a suggestion. :)
 
fusion_power said:
-in sliding only mode, it would be nice, if the cursor can only jump from arrow to arrow.
Well i had thought about this also but the problem is that this isn't so easy to do for a number of reasons codewise in my current implementation, i'll have a look at it but i can't promise this.

fusion_power said:
-in all modes it would be an improvement, if the cursor can jump from one screen side to the opposite screen, for example disappearing left and appearing right, It's a help for big playfields. :)
This can be done - Edit is done so. I first thought to let them stay on the tiles but then then i had a problem with the sliding / rotating game and it's not easy to solve programmaticly except rewriting some stuff, so i kept it so that it wraps around the corners of the full playfiel not the actual grid size, The cursor now also starts on the start tile

fusion_power said:
-ingame Font should be a little bit more bigger/clearer to read.
tell me about it i know about this 2 but i couldn't find any ttf font's that display nicely in low resolutions, i have yet to find one ! and testing out every single font is just painfull. although u ore other people can help with this by just replacing font.tff with another font from your windows/font(s?) directory and see if it improves. will search for some other fond if i can find one i'll repalce it

Edit: I increased font size with 2, and had to change the text locations a bit so that it still fitted the side bar, acutally i'm one pixel short for one word, but i'll leave it like that

fusion_power said:
So, here are some Arrows for my Skin, top row inactive, bottom row active:
and a simple custom cursor:
Hell yeah thanks a lot ! u'll be happy to know that i managed to get rid of the floodfill !!!!!!!
It's now as u like it 2 files one for the active and one for the inactive tubes, no crap masks or anything :D
although it's cool doh in order to check for which tiles are connected and what to draw i kinda still use a floodfill method algoritm :D And another big thumbs up for me, when using the floodfill fps crippled to around 15 fps in a custom level i made with all tiles being crosses to test out the speed of the game. Guess what fps just doubled with my new method ! 30 fps :D

Btw i have it so that u can also make special looking tiles for the start positions so u can for example add some cool looking flag to a castle or something to show a start point and on the end points show a flag with a diffrent color or sumthing possibilites are endless :) And another thing the tiles can have a color key (RGB 255,0,255) that will be transparant when being drawn :)

I'll change the cursor to an image so it's skinable as well :D

fusion_power said:
Besides, you are the coder of Sokoban, right? I liked this game and played it a long time on my GP2X. :) But when reformating SD card from time to time, Sokoban really sucks while copying, because of the zillions of files. ^^""" Maybe there could be an Container format for all the Levels? Same for Waternet, when more levels will be included?
Is not that important, just a suggestion. :)
Yup i'm the sokoban author, glad u like it :D
i know about the gazzilion of little files, problem is i don't know how to program a container or how to read files from a zip file or sumthing otherwise i'd do it, should look into it , but it's so easy with the way i'm doing it atm that i just might leave it like it is ;)

You can change skins anywhere in the game. i'm almost finished reordering your tiles in the correct place when i'm done i'll send u a pm with a link to the current version so u could if u like create some more skins for it with the new system, if someone else is intrested in creating skins already please let me know so that i can send u a version with skin support and so that it'll get included with the next release if u want this :)
 
Last edited by a moderator:
Okay this is the current state in a quick summary :

- Added skin support - You can skin everything or just certain parts of the game that's up to u
- No More floodfill just graphics for connected and not connected tiles Results in a big speed increase as well
- Changed to cursor to a graphic
- Cursor Starts on the start position in the level
- Cursor wraps around the edges
- Fading speed has been doubled
- increased ingame font with 2
- bidirectional turns (clockwise & counterclokwise)
- Resampled the music so they are smaller in size

that's about it.
if someone wants the current version for creating skins please let me know, I can send u it so u can create skins and if they are finished and u'd like them included in the release send them to me or post it here in the forums i'll add them before i release the game then.
 
Wow, everything sonds really impressive. :)
As soon your Homepage is reachable, I try the Test version of your game, can't wait. ^_^

joyrider said:
fusion_power said:
-in all modes it would be an improvement, if the cursor can jump from one screen side to the opposite screen, for example disappearing left and appearing right, It's a help for big playfields. :)
This can be done - Edit is done so. I first thought to let them stay on the tiles but then then i had a problem with the sliding / rotating game and it's not easy to solve programmaticly except rewriting some stuff, so i kept it so that it wraps around the corners of the full playfiel not the actual grid size, The cursor now also starts on the start tile

Oh, cool. I only thought about the whole playfield too, because in smaller fields, the distance is short enough for the cursor I think, so such a jump-function shouldn't be necessary there . :)

Good to hear, that the speed is improved. Even the old version was fast enough ingame, I clocked the game to 133MHz - no problem.

This point with the custom-start position Tile sounds interesting. I will study it when I have the new game. :)

I have found a bug while playing the sliding-mode levels (pure luck because I don't play this mode much)
Level 5, sliding only, easy: I could solve the level without connecting all the tiles. At the end there was an blue, closed ring including the start-tile and above a white, unfloated closed tileset with 2 end tiles and one simple straight tile in the middle: o---o -funny. :)
Oh, ingame I miss the 4-way-junctions in larger playfields. They are there from time to time but seldom. They could be more often in the harder skills.
 
Last edited by a moderator:
Back
Top