• Skip to site navigation
  • Skip to content
  • Skip to sidebar
  • Skip to footer
  • Go to archive page
Shadowmaster’s Lair
  • Home
  • Projects
  • Articles
  • About
  • Contact
  • Blog

Automatic rebasing of master for Frogatto Git

Friday, August 19, 2011

Since Frogatto & Friends moved from its own SVN repository to a Git one on Github, some people have got confused by the appearance of true merge commits in history due to them working on their master branch directly, pulling from upstream and pushing again. I don’t personally think that this is the best workflow, but for former SVN users it appears to be the most suitable transitional option.

But Git isn’t a 1:1 equivalent solution — and I won’t get too deep into that subject, so I’ll explain instead what the method that works best for Frogatto (without merge commits!) at the moment is.

$ git config branch.master.rebase true
$ git config rebase.stat true

The first line sets a configuration option that tells Git to try rebasing our local master against upstream after using git pull on it. The result of a rebase operation is that local commits not merged upstream are temporarily removed from history, the branch is reset to its previous diversion point, fast-forwarded to the new upstream HEAD, and the local commits are then rewritten on top, giving the user the choice to solve conflicts by hand as they appear, should they appear at all. The second line makes automatic and manual rebase operations to display a summary and stat display of changes merged in the fast-forward operation. I’m not entirely sure why this is not the default; normal fast-forwards and true merges (controlled by the merge.stat option) on git pull and git merge already do this.

See also git-rebase(1) for further information on what the rebasing procedure entails.

Once the configuration is adjusted with those two lines, it’s safe to git pull right away and later git push once everything is ready for committing to the Github repository for everyone to see.

For Frogatto’s SVN-inspired linear approach to history this means that merge commits won’t be generated and they won’t pollute history and confuse people who are not used to distributed version control systems.

Posted in Frogatto, Software at 20:31 UTC | No comments

Preparing for yet another year

Tuesday, November 30, 2010

It’s almost over. Time flies even faster as we get closer to the end of 2010, and apparently there’s a lot to summarize despite we’re not in the finish line yet!

This has been a particularly difficult year for me in a more personal sense, and I’ve faced some trials I won’t speak about and then some, but I’ve also learned new things in the road — things that may be of greater use to me in the future. There’s really a lot that could be said about this year but I’ll restrict it to computer stuff to avoid boring the audience too much bore the audience as much as possible.

Continue reading “Preparing for yet another year” ›
Posted in Frogatto, IRC, Miscellaneous, Personal, Projects, Rei 2 IRC Bot, Software, Web design, Wesnoth, Wesnoth RCX, freenode at 02:11 UTC | 1 comment

KMS and Frogatto: a Retrospective

Saturday, August 14, 2010

Not very long ago I mentioned that Frogatto’s iris transition effect didn’t work with the ATI R600 KMS drivers, and I assumed that this was caused by some lacking in the Mesa code. I even filed a bug report to its developers about it.

I was wrong. As MostAwesomeDude explained to me on IRC, and later posted in the bug tracker:

In UMS mode, r600c provides 8 bits of stencil on all configs, but in KMS mode, the normal wider variety of configs are available. The app used to have a call to SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1), but it was commented out for some reason. Uncommenting that line caused a stencilled config to be properly selected.

The moral: Always check your GL configs.

Effectively, we discovered that restoring that line would solve the issue. It was apparently commented out by Dave at some point by accident. This won’t matter for long anyway, since Frogatto is already using a different mechanism to render the transitions on SVN trunk, solving the missing effect on who knows how many PC configurations. The iPhone port also lacked these transitions because of a platform limitation, so maybe the new technique will solve that minor shortcoming as well.

So now I’m basically just waiting for a new official release of the Tux-On-Ice patch for Linux 2.6.35 before switching to a complete KMS-based configuration. Until that happens, I’ll continue using 2.6.34.4 in UMS mode.

Again, thanks to MostAwesomeDude for the help with finding the cause of the bug!

Posted in Frogatto, Hardware at 07:25 UTC | No comments

Frogatto packages are go!

Tuesday, July 13, 2010

For those who won't be following me on Twitter, or aren't following the relevant website closely, Frogatto's just been released for the three main platforms! Now we are only missing the Apple appstore approval, so soon this game and my levels will be available for mobile users so they can waste their time playing a colorful and pretty platformer no matter their location!

Just as planned. 8)

Posted in Frogatto, Software at 04:42 UTC | No comments

Twitter

Tuesday, July 13, 2010

Finally, the trap that is social networking has caught me.

I have joined Twitter as ShikadiLord (since “shadowm” and “shadowmaster” were already taken :/) mainly because of Frogatto, which also has presence in Twitter now.

Let's see if I make use of this thing. To make things easier for me I'm using Choqok, a micro-blogging client for KDE SC 4.

Yays.

Posted in Frogatto, Miscellaneous, Personal at 02:39 UTC | No comments

Frogatto

Wednesday, June 16, 2010

Some time ago, a mysterious link was added to my site's sidebar to feed search engines, but I never got around to explain what the deal was with that link.

Well, it turns out that I've been semi-secretly working on a certain retro-style platformer game, Frogatto, along with other people from the Battle for Wesnoth Project. My work in Frogatto is almost exclusively in the level design area, although I've also done some minor object coding.

Frogatto: Dungeon Crawling (screenshot)
Our mysterious protagonist.

There are two things that attracted me to Frogatto:

Firstly, I have wanted since around 2006 to create a sidescrolling platformer engine of my own — that project, codenamed “Mesiga”, unfortunately, finally died around the end of last year after several years with no significant progress and no content to work with. But then, I stumbled upon Frogatto per David White (a.k.a. Sirp)'s recommendation during a talk about writing text parsers in C++, around 2008. I didn't pay much attention to Frogatto back then, but near December last year I started testing Frogatto mainly using it as a test case for the Mesa 7.7 DRI drivers for ATI R600-based chipsets. Around February some Wesnoth developers (including me) reported a Mesa issue affecting Frogatto which got quickly solved.

Secondly, Frogatto's level editor ease of use impressed me, although I don't have a lot of experience with tile-based game level editors in the first place — mainly with Wesnoth's map editor, a few fan-made editors for Commander Keen: Invasion of the Vorticons, and TED5, the editor originally used for creating the levels in Commander Keen: Goodbye Galaxy! and Rise of the Triad. The nicest feature offered by Frogatto's editor is being able to place objects and set their parameters (unlike in Wesnoth), and actually preview some of their behavior without leaving the editor.

Frogatto: Rock-a-Fort (screenshot)
Rock-a-Fort (world1 level)

The editor is so flexible due to its usage of objects and automatic tiling that I instantly fell in love with it and made three levels of my own, reported bugs with some objects' behavior, and got invited to take part in the level design when there were only three or four forest area levels and only three quarters of the seaside level set done.

We have been working hard into bringing the first release of the game to completion and so far things are looking very well. In fact, the level set is rather complete now and most of the work remaining to be done is polishing what's finished and tying some loose knots in the art department.

The game engine itself is free software (in the “freedom” sense), but the game's content is not. See our About page for details. Frogatto runs on Windows, Linux and Mac OS X as long as OpenGL support works. Naturally, you'll need drivers which support hardware-accelerated rendering for the best experience. Note that despite Frogatto using OpenGL interfaces for rendering, it's entirely 2D in terms of gameplay and graphics.

Frogatto will also be available as a paid AppStore application for iPhone and iPad once it's released, which means that you'll be able to waste your time playing as a frog no matter where you are at the moment!

If you are curious about which mainline levels were designed by me, here's a list:

Seaside (world1)

  • Water adventure (superseded by Rock-a-Fort)
  • Water adventure 2 (superseded by Flooded Caverns)
  • Downhill from Here (later known as Downhill after a major edit by me)
  • Rock-a-Fort and its small cave sub-level
  • Flooded Caverns
  • Fan House and its small sub-level (neither are connected to the main levelset yet)

Forest area (world2)

  • Twisted Trees
  • Peaceful Pond (to be removed from the main levelset unless I change my mind)
  • Autumn Town (to be removed from the main levelset, at least for the first release)
  • Eerie Arbor
  • Bon Bosque (both versions)

Cave area/Limestone caverns (world3)

(Notably, I've designed all of the levels in this set. There are other cave levels around that are not part of this set which were designed by other people. Still, some cave levels may need to be cut from the first release to avoid monotony, etc.)

  • Rocky Roots
  • Caverns of holes
  • Underground river
  • Darkness Central
  • Bombing Fools
  • Hidden Depths
  • Watery Alley
  • Plagued Mine
  • Bug Mining
  • Fast Lane
  • Hanging Platforms (formerly known as Plagued Mine, otherwise unrelated to the current level of the same name)
  • The ancient secret (codename — may need to be removed from the first release but it's a WIP intended to be a secret level removed now)

Dungeon levels/Milgram's Fortress (world4)

(The only mainline levels here that weren't designed by me are Sirp's, “Dungeon Blocks,” and Jetrel's, which are Milgram's Throne Room prelude, main level and epilogue level.)

  • Killer Bunnies
  • Burning Stone
  • Dark Corridor (codenamed Doomy Dooms of Doom)
  • Dungeon Crawling
Frogatto: Dungeon Crawling (screenshot)
Dungeon Crawling (world4 level)

It's been an amazing 5-month work which has almost been halted by a great earthquake and a broken power adapter (twice). Admittedly, I had to abandon IftU to get more work done in less time, but I think it's a fair trade since Wesnoth campaign maintenance has slowly become a sucky job due to the always changing conventions with every mainline development cycle.

I couldn't finish my own platformer engine as I wanted, but instead I found this awesome opportunity to design nice levels inspired by my favorite platformers of the DOS gaming era (Commander Keen and Jazz Jackrabbit), this time with a heavy focus in fun, yet reasonably challenging gameplay and ambient design thanks to Jetrel (also Wesnoth's Art Director) and Neorice's (also a Wesnoth artist) awesome art and Sirp's brilliantly designed engine. The main background music used in the seaside levels is also remarkably sweet, provided by Rain, another Wesnoth musician who has provided such epic themes as “Suspense” and “Knalgan Theme” to the strategy game.

We'll need lots of testing to make sure the final product's quality is what we've been aiming for and that nothing's been broken or messed up during development. It's a highly recommended game for retro-freaks like me. :D

Posted in Frogatto, Personal, Software at 00:54 UTC | 7 comments
Page 1 of 1, totaling 6 entries
‹ June ’13 ›
Mo Tu We Th Fr Sa Su
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  • Recent posts
  • Archives
  • RSS/XML RSS 1.0
  • RSS/XML RSS 2.0
  • Atom/XML Atom 1.0
  • RSS/XML Comments
Twitter: @shikadilord
  • Welcome back, #Wesnoth 1.10 add-ons server.20 hours ago
  • Goodbye #Wesnoth 1.10 add-ons server.20 hours ago
  • Welcome back, #Wesnoth 1.11.x add-ons server.22 hours ago
  • Goodbye #Wesnoth 1.11.x add-ons server.22 hours ago
  • Okay, that wasn't too bad, I think. At least I could continue to access the forums while running that task. #Wesnoth4 days ago
  • All services hosted on http://t.co/IOYN5dR02A may be slightly slower than usual (that's saying a lot) for the next hour and a half. #Wesnoth4 days ago
  • Shadowmaster’s Blog: After the Storm 0.9.2 http://t.co/qgnyTwyFpd #Wesnoth5 days ago
  • This is a mess. http://t.co/nYzsJPDv3l #WhyAlluraWhy5 days ago
Categories
  • XML Frogatto
  • XML Hardware
  • XML IRC
  • XML freenode
  • XML Miscellaneous
  • XML Personal
  • XML Projects
  • XML Rei 2 IRC Bot
  • XML Wesnoth RCX
  • XML Wesnoth-TC
  • XML Site updates
  • XML Software
  • XML Web browsers
  • XML Web design
  • XML phpBB
  • XML Wesnoth
  • XML After the Storm
  • XML Invasion from the Unknown
  • XML Wesnoth Evolution
  • XML Wesnoth-UMC-Dev
Projects
  • Wesnoth Add-ons
  • Wesnoth RCX
  • Wesnoth-TC
  • Frogatto levels
  • Rei 2 IRC Bot
  • Wesnoth-UMC-Dev Registry
  • Shikadibot 0314
  • irker-svnpoller & svnmail-filter
  • phpBB 3.0 Mods/Hacks
Articles
  • Wesnoth Evolution
Links
  • Battle for Wesnoth
  • Wesnoth-UMC-Dev
  • Frogatto & Friends
Contact • Site Information & Disclaimer

Copyright © 2006-2013 by Ignacio R. Morelle. All rights reserved.
Powered by Poison Ivy/Dorset6 D18 and Serendipity.
Hosting by rewound.net and NearlyFreeSpeech.NET.

Serendipity PHP Weblog Valid XHTML 1.0 Transitional