Been hacking a bit more on Wizznic, finding the "angle of least change" in order
to turn the text/arrow keys based menus into something that also works with a mouse-pointer..
I made a nasty hack that I quite like, and that I suggest you think about twice before doing..
Every time I call my "txtWrite" function, that function will now update an internal variable containing the "box" size of the text..
So, right after a call to txtWrite, if I do getTxtBox, I get a pointer to this rectangle.
Thus:
txtWrite("Some text", some, position);
if ( isBoxClicked( getTxtBox() ) ) { //Box was clicked }
Hehe..
In other news, I was briefly hospitalized this thursday, and thus, wasted a weekend of coding, so wizznic release date is pushed a week, meaning there's also a slim chance my gfx guy have the time he needs to finish another theme :)
Monday, January 23, 2012
Saturday, January 14, 2012
Wizznic, Content and the big 1.0.
qubodup of freegamer asked me about my graphics guy, so I thought I'd share a bit of that history and use that as an excuse for not being productive ;)
As the intro should show (the third credit), ViperMD did a great deal of graphics work on 0.9.9 release of wizznic, I met VMD at a LAN around 2000 and I consider him to be one of my close friends. He has a talent for computer graphics, both in 2D and 3D, and is an avid gamer. I have spend fair amounts of time hacking on wizznic on his couch, for whatever reason, we never talked about working on the project together.. So for the 0.9.9 release I suggested that we collaborate, admitting my shortcomings as an artist :) VMD did the Thor theme, which is going to be the default Wizznic theme, however, if I can convince him, Thor is not the last eyecandy you will be seeing from VMD, he have also shown interest in Wizznic3D, so expect some sweet graphics there ;)
VMD did 95%o of the work on Thor, with some (annoying, I'm certain) comments and input from me, Thor is his very first contribution to computer-games, and even without taking the technical limitations and my confusing and lacking leadership into account, it is a sweet piece of work if I have to say (which, obviously, I do, so I did).
We also worked together on condensing the ~80 existing levels down to 40 levels, which were divided into two packs. I hope this process increased the overall quality of the puzzles, but only time can tell. Of course I plan to add more levels in the future (New packs, and only slight adjustments/reordering of the existing ones).
The process of sorting the puzzles was interesting.. None of us had any real idea of how difficult individual puzzles were, so we did the following:
Deadline for Wizznic 1.0-rc is 29'th of January this year. That means I've got 4 weekends to work on it (I don't have much time during the week, and easily run out of steam..).
Todo for 1.0:
Updating all files to the new level format.
Optional "Unsolvable", "Out of Time" and "Reset level?" graphics (and make those for Thor).
One more theme (if VMD feels up for it), sound theme for Thor.
Once these features are completed, 1.0 is released, it's done.
Newer versions only be bugfixes and new content.
By the way, my 3D engine that I'll use for Wizznic3D. VMD modelled and textured the spaceship.
Lot's of work needed on that one..
As the intro should show (the third credit), ViperMD did a great deal of graphics work on 0.9.9 release of wizznic, I met VMD at a LAN around 2000 and I consider him to be one of my close friends. He has a talent for computer graphics, both in 2D and 3D, and is an avid gamer. I have spend fair amounts of time hacking on wizznic on his couch, for whatever reason, we never talked about working on the project together.. So for the 0.9.9 release I suggested that we collaborate, admitting my shortcomings as an artist :) VMD did the Thor theme, which is going to be the default Wizznic theme, however, if I can convince him, Thor is not the last eyecandy you will be seeing from VMD, he have also shown interest in Wizznic3D, so expect some sweet graphics there ;)
VMD did 95%o of the work on Thor, with some (annoying, I'm certain) comments and input from me, Thor is his very first contribution to computer-games, and even without taking the technical limitations and my confusing and lacking leadership into account, it is a sweet piece of work if I have to say (which, obviously, I do, so I did).
We also worked together on condensing the ~80 existing levels down to 40 levels, which were divided into two packs. I hope this process increased the overall quality of the puzzles, but only time can tell. Of course I plan to add more levels in the future (New packs, and only slight adjustments/reordering of the existing ones).
The process of sorting the puzzles was interesting.. None of us had any real idea of how difficult individual puzzles were, so we did the following:
- Rendered a screenshot of each level, and put those on a network share.
- We now had 80 screenshots, but I wanted to mature the quality of the puzzles, and decided to only include 40 puzzles, divided into 2 packs of 20. So our first task was easy, we made a "Delete me" directory, and were allowed to choose the 20 levels that we thought looked "ugly" and delete them.
- Now, remaining was 40 unsorted puzzles (with screenshots).
- We created two directories there, "Easy" and "Hard", for "Pack 0" and "Pack 1".
- We then inspected the level files visually to try to identify their difficulty, and then move their files into either one, this meant we could both work on the same task at the same time.
- Once we had 2 dirs with 20 files in each, we made 4 subdirs in both of them,
- we then worked on each our dir, and tried to identify the easist, medium-easy, medium-hard and hardest puzzles, and put them in their directories, this process was easier since it was now only 20 files to be sorted.
- Finally, 20 directories were made inside both "easy" and "hard", the idea here was to go through the 4 subdirs, having the first "map" logically to "1,2,3,4" and the second to "5,6,7,8" and so on, this way, we would only have to worry about sorting a chunk of 4 levels at a time, which is a lot easier than to inspect 20 levels as a whole.
Deadline for Wizznic 1.0-rc is 29'th of January this year. That means I've got 4 weekends to work on it (I don't have much time during the week, and easily run out of steam..).
Todo for 1.0:
Updating all files to the new level format.
Optional "Unsolvable", "Out of Time" and "Reset level?" graphics (and make those for Thor).
One more theme (if VMD feels up for it), sound theme for Thor.
Once these features are completed, 1.0 is released, it's done.
Newer versions only be bugfixes and new content.
By the way, my 3D engine that I'll use for Wizznic3D. VMD modelled and textured the spaceship.
Lot's of work needed on that one..
Etiketter:
infrastructure,
people,
rant,
thoughts,
wizznic
Sunday, January 8, 2012
More Wizznic! hacking! :D
I've been giving Wizznic some attention lately, and gotten some nice things done, I feel sharp :)
I added a little cursor inside the cursor to give the user a better feel of where the actual cursor is, it feels right :)
I fixed a long standing bug that made the cursor sometimes "jump" around when moving a brick with a brick on top of it, this happened because I have this lock mechanism, but I forgot to "unlock" the bricks after un-grabbing them :P
I also rearranged the way levels load graphics, walls are one part, "brick die" animations is one part, and the rest of the tiles are one part. This means that for example, die-animations are no longer dependant on the name of the tileset, walls are no longer dependant on the name of the tileset. This makes it possible to have several wall-sets in (or tile-sets, or die-animations or any combination hereof) in a theme.
I also solved an issue that have annoyed me for quite a while, that the "magnet/glue and one-way only" tiles were not treated as walls, even though they are basically that.. Now they are, which makes the wall-tile-selection a lot prettier to look at visually, they are also overlaid on top of the walls, making reuse easier (but optional).
I also noticed that some players had trouble detecting (yes, people are machines) the edges of the walls, making them believe that sometimes they were able to move bricks, even though there were a wall there, other times they would not move bricks to obvious places, because they believed that there was a wall (when, in fact, there was none). I have partly solved this by making the edges of the walls a little brighter. In addition, I am thinking about adding some more details to the inside of the wall tiles, tough at this moment I don't know what it would be, maybe my graphics guy have an idea and will do this? :D
And here's a little video showing those new cool things, the code is not on github yet, I still need to convert all the levels..
I added a little cursor inside the cursor to give the user a better feel of where the actual cursor is, it feels right :)
I fixed a long standing bug that made the cursor sometimes "jump" around when moving a brick with a brick on top of it, this happened because I have this lock mechanism, but I forgot to "unlock" the bricks after un-grabbing them :P
I also rearranged the way levels load graphics, walls are one part, "brick die" animations is one part, and the rest of the tiles are one part. This means that for example, die-animations are no longer dependant on the name of the tileset, walls are no longer dependant on the name of the tileset. This makes it possible to have several wall-sets in (or tile-sets, or die-animations or any combination hereof) in a theme.
I also solved an issue that have annoyed me for quite a while, that the "magnet/glue and one-way only" tiles were not treated as walls, even though they are basically that.. Now they are, which makes the wall-tile-selection a lot prettier to look at visually, they are also overlaid on top of the walls, making reuse easier (but optional).
I also noticed that some players had trouble detecting (yes, people are machines) the edges of the walls, making them believe that sometimes they were able to move bricks, even though there were a wall there, other times they would not move bricks to obvious places, because they believed that there was a wall (when, in fact, there was none). I have partly solved this by making the edges of the walls a little brighter. In addition, I am thinking about adding some more details to the inside of the wall tiles, tough at this moment I don't know what it would be, maybe my graphics guy have an idea and will do this? :D
And here's a little video showing those new cool things, the code is not on github yet, I still need to convert all the levels..
Friday, January 6, 2012
Wizznic! Touchscreens!
So, I hacked around Wizznic a bit last night and got some pretty decent mouse/touchscreen support going, this is pretty usefull on wiz, and if there's a touchscreen on the PSP I could imagine it'd be nice there too..
Anyway, it also works on PC.. I', not done with this yet though, if you wanna try it, you'll have to compile the source from github.
Anyway, it also works on PC.. I', not done with this yet though, if you wanna try it, you'll have to compile the source from github.
Thursday, December 29, 2011
Wizznic! 0.9.9 Released
Finally, after so much time, and so little work.. I am very proud to present yet another version of my little hobby project, Wizznic!
Thanks goes out to ViperMD who have helped me a lot during the preparation of this release, especially his awesome graphics skills and providing a windows box for building, also for putting up with my ranting ;)
The actual Wiz version will be out in a couple of days, also the PSP version will come out later.
Get it here: http://sf.net/projects/wizznic
Changes since last release:
0.9.9
Reordered levels
Corrected some misaligned text
Changed level file naming from levelX.wzp to levelXXX.wzp (level0.wzp is now level000.wzp and level10.wzp is level010.wzp).
Time that it takes for a brick to "die" affects the framerate of the expl-animation, this value can now be set from each level.
Particle systems have a layer associated, either PSYS_LAYER_TOP, PSYS_LAYER_UNDERDEATHANIM or PSYS_LAYER_UNDERBRICK.
"Thor" theme by ViperMD.
Tiles 0-17 can be animated from files TILEBASE-tile#.png, animation runs at 12 fps, one row of images, number of frames abritary.
Clocked wiz up to 600 mhz since the pixel plotting function became a bit heavier.
OpenGL support is enabled by default, compile with WITH_OPENGL=false to disable. See readme[1.0.4] for more information.
0.9.2-preview2
Made more changes to code to better allow for non-320x240 screensizes, fixed some related
bugs. The highscore onscreen keyboard for one.
Changed the "Please enable feedback" screen to be more obvious.
Applied PSP patch from Riviera71, this patch makes some code prettier and also more
portable for devices with non 320x240, by defining display size for device in defs.h
0.9.2-preview
Several new graphical themes added to main package.
Cut down number of background music to 9.
Prefixed wizznic pack-names with 000_ to to make sorting more sane.
Highscores are now properly saved when entering them after selecting "Exit Game".
Fixed bug that made wiz-version "hang" on first run if no settings.ini present.
This bug was hackily fixed in 0.9.1 by having settings.ini be present in the zip.
Added option to compile with MAME keyboard layout for use in an arcade cabinet.
Reworked the "Enter Highscore" screen with an onscreen keyboard instead of the
"up/down/menu" thing, which didn't seem nearly as intuitive.
Solved random-letterss/segfault in highscore entry.
Playlist functionality (overrides music= setting in levelfiles with a playlist entry)
this is done to make it easier to put music on packs. The entries are placed in
packname/info.ini and have the format mus=ff-tt,music file.ogg where ff is from
level and tt is to level. mus=00-03,music/song2.ogg will play packname/music/song2.ogg
in levels 0,1,2,3. And mus=23-23,music/song3.ogg will play packname/music/song3.ogg
in level 23.
0.9.1
Changed Wiz default clock to 500 mhz instead of 400 to improve performance.
When completing a pack, PACKNAME/finished.png is loaded and shown instead of wall-o-text.
However, another wall-o-text is shown if there is no finished.png in the pack.
Moved some levels around, removed some levels. 80 levels total.
Added optional WxH argument to tools/updatelevelpreviews.sh to generate images of given size,
while not useful in the game, they are useful for sorting levels (using an image-viewing app to browse them)
"Commercial" for the pack function. in the start of some levels.
Level editor now reads and writes all level properties, including optional ones.
Updated readme.
Updated data/empty.wzp so it contains all level properties, and comments explaining their function and usage.
Added another intro level to teleports, added intro-images to those levels.
Updated the cursor in the NES pack.
Removed "template" pack, it does nothing that the main pack does not show allready.
Fixed music changing in intermediate screens ("Level Stats" and "Entering Level").
Fixed crash that could happen when entering highscores.
Updated ports list (gee, someone ported it to a phone, neat..)
Updated changelog and decided to use X.Y.Z versioning.
Program now calls SDL_Quit() on exit (resets screen-resolution if in fullscreen)
tools/releaser.sh now generates the src package witout src-graphics, instead it generates a srcgfx tarball seperately.
moved the unused theme graphics into src graphics..
Thanks goes out to ViperMD who have helped me a lot during the preparation of this release, especially his awesome graphics skills and providing a windows box for building, also for putting up with my ranting ;)
The actual Wiz version will be out in a couple of days, also the PSP version will come out later.
Get it here: http://sf.net/projects/wizznic
Changes since last release:
0.9.9
Reordered levels
Corrected some misaligned text
Changed level file naming from levelX.wzp to levelXXX.wzp (level0.wzp is now level000.wzp and level10.wzp is level010.wzp).
Time that it takes for a brick to "die" affects the framerate of the expl-animation, this value can now be set from each level.
Particle systems have a layer associated, either PSYS_LAYER_TOP, PSYS_LAYER_UNDERDEATHANIM or PSYS_LAYER_UNDERBRICK.
"Thor" theme by ViperMD.
Tiles 0-17 can be animated from files TILEBASE-tile#.png, animation runs at 12 fps, one row of images, number of frames abritary.
Clocked wiz up to 600 mhz since the pixel plotting function became a bit heavier.
OpenGL support is enabled by default, compile with WITH_OPENGL=false to disable. See readme[1.0.4] for more information.
0.9.2-preview2
Made more changes to code to better allow for non-320x240 screensizes, fixed some related
bugs. The highscore onscreen keyboard for one.
Changed the "Please enable feedback" screen to be more obvious.
Applied PSP patch from Riviera71, this patch makes some code prettier and also more
portable for devices with non 320x240, by defining display size for device in defs.h
0.9.2-preview
Several new graphical themes added to main package.
Cut down number of background music to 9.
Prefixed wizznic pack-names with 000_ to to make sorting more sane.
Highscores are now properly saved when entering them after selecting "Exit Game".
Fixed bug that made wiz-version "hang" on first run if no settings.ini present.
This bug was hackily fixed in 0.9.1 by having settings.ini be present in the zip.
Added option to compile with MAME keyboard layout for use in an arcade cabinet.
Reworked the "Enter Highscore" screen with an onscreen keyboard instead of the
"up/down/menu" thing, which didn't seem nearly as intuitive.
Solved random-letterss/segfault in highscore entry.
Playlist functionality (overrides music= setting in levelfiles with a playlist entry)
this is done to make it easier to put music on packs. The entries are placed in
packname/info.ini and have the format mus=ff-tt,music file.ogg where ff is from
level and tt is to level. mus=00-03,music/song2.ogg will play packname/music/song2.ogg
in levels 0,1,2,3. And mus=23-23,music/song3.ogg will play packname/music/song3.ogg
in level 23.
0.9.1
Changed Wiz default clock to 500 mhz instead of 400 to improve performance.
When completing a pack, PACKNAME/finished.png is loaded and shown instead of wall-o-text.
However, another wall-o-text is shown if there is no finished.png in the pack.
Moved some levels around, removed some levels. 80 levels total.
Added optional WxH argument to tools/updatelevelpreviews.sh to generate images of given size,
while not useful in the game, they are useful for sorting levels (using an image-viewing app to browse them)
"Commercial" for the pack function. in the start of some levels.
Level editor now reads and writes all level properties, including optional ones.
Updated readme.
Updated data/empty.wzp so it contains all level properties, and comments explaining their function and usage.
Added another intro level to teleports, added intro-images to those levels.
Updated the cursor in the NES pack.
Removed "template" pack, it does nothing that the main pack does not show allready.
Fixed music changing in intermediate screens ("Level Stats" and "Entering Level").
Fixed crash that could happen when entering highscores.
Updated ports list (gee, someone ported it to a phone, neat..)
Updated changelog and decided to use X.Y.Z versioning.
Program now calls SDL_Quit() on exit (resets screen-resolution if in fullscreen)
tools/releaser.sh now generates the src package witout src-graphics, instead it generates a srcgfx tarball seperately.
moved the unused theme graphics into src graphics..
Subscribe to:
Posts (Atom)