|
Title: The furnace engine Post by: madflame991 on February 02, 2014, 12:08:48 PM (http://www.ludumdare.com/compo/wp-content/compo2/thumb/cdc7e40ebf5fdf2e139e76105d63b9e2.jpg)
Hi! You know how in life you see something, you really like it and the next thing that pops in your head is "I think I can make that too, but I would add this and that..."? ...one day I saw PuzzleScript - and it seemed amazing how increpare managed to make an accessible game specification language with which you can cover a pretty wide variety of (puzzle) games. That's how the furnace engine started: use a DSL similar to puzzle script, but offer mechanics (rules if you wish) for other types of games. While PuzzleScript is based on rewriting rules and interaction consists mainly in stuff around the furnace engine revolves around a USE function (and using stuff on other stuff). What's possible in the furnace engine? You can USE swords on monsters. You can USE pickaxes on rock. (yes, you can write a subset of Minecraft only in USE rules) You can USE keys on doors. You can USE fire on iron to obtain gold (alchemy rules!). You can also transform the world by just walking over stuff which opens up possibilities for puzzles (the whole of Whir can be specified in the furnace engine). Stop repeating USE! NO! it's a function! USE: (TerrainItems x InventoryItems) -> (TerrainItems x InventoryItems x HealthDelta) Some other features I should mention are:
And here's a few notable additions I'd like to include in the future:
Github link --> https://github.com/madflame991/furnace-engine (https://github.com/madflame991/furnace-engine) And a sample playable, editable world --> http://madflame991.github.io/furnace-engine/src/ (http://madflame991.github.io/furnace-engine/src/) P.S. Thanks increpare for PuzzleScript and all the deliciously weird games you've made throughout the years! Title: Re: The furnace engine Post by: madflame991 on February 09, 2014, 08:16:13 AM Progress report 9 feb 2014
Title: Re: The furnace engine Post by: Suedeash on February 12, 2014, 11:03:53 AM Progress report 9 feb 2014 This looks cool. Following.
Title: Re: The furnace engine Post by: madflame991 on February 18, 2014, 10:50:24 PM Progress report 19 feb 2014
Not really visible changes, but still important
Title: Re: The furnace engine Post by: madflame991 on February 26, 2014, 12:29:24 PM Status Update 26.02.2014
There were no new features added as during the past weekend I've been working on a game for the miniLD competition, using the engine. It was a bliss not having to code anything and focus only on the content. At the same time, as the engine had not been properly battle-tested before,during these two days I've identified several bottlenecks in the development process (defining sprites using letters is tedious and boring)and I will address them as soon as possible. Here's a link to the LD entry (which became the default example game): http://madflame991.github.io/furnace-engine/src/ (http://madflame991.github.io/furnace-engine/src/) It's a minecraft-like adventure game with crafting, mining, smelting, chopping down trees, swording down enemies, exploring and matching keys with doors! (http://www.ludumdare.com/compo/wp-content/compo2/330374/5035-shot1.png) Title: Re: The furnace engine Post by: Gimym JIMBERT on February 27, 2014, 05:13:53 AM keeping an eye
Title: Re: The furnace engine Post by: madflame991 on March 04, 2014, 12:11:01 PM Update 04.03.2014
As promised, I've started to address the issues I've noticed while making the LD entry. It seemed that building the sprites in an image-editing software and then encoding them manually as characters was the biggest bottleneck, so I've made an automatic importer. You just have to drag your pretty spritesheet and the importer will magically create all the color bindings and object sprites. Here's a link if you want to try: http://madflame991.github.io/furnace-engine/src/conv.html (http://madflame991.github.io/furnace-engine/src/conv.html). Keep in mind that it's just the fist iteration and it will become better - in the future it will also remove white/unused space from the spritesheet. Right now it outputs in the Furnace Engine format, but I'll add support for the PuzzleScript format too. Title: Re: The furnace engine Post by: madflame991 on March 11, 2014, 12:13:42 PM Status update 11.03.2014
Title: Re: The furnace engine Post by: madflame991 on April 01, 2014, 10:47:37 AM Status update 01.04.2014
After a two week break (hey, I work on other projects* as well (and I have a regular job**)) I took the time to implement some goodies:
* An S-expression parser: href="https://github.com/madflame991/espace.js" (http://href="https://github.com/madflame991/espace.js") ** I am a developer of the Goo Engine - a WebGL 3d engine Title: Re: The furnace engine Post by: mike_w on April 01, 2014, 12:18:56 PM This looks neat-o. I really like the idea of a sort of expanded-scope puzzlescript.
Sort of odd question, but will the engine keep the format "move one tile instantly" or are you planning to add more real-time movement. Not necessarily that you can bust out of the grid and go whereever, but just an animation when moving between tiles kind of like how Pokemon does it. Not make-or-break, just curious. Title: Re: The furnace engine Post by: madflame991 on April 18, 2014, 10:21:51 PM @mike_w
Both "grid-locked tweened movement" and "grid-free movement" are on my list. They will, of course, be optional of course as there's no _best_ movement style for all games. Status update 19.04.2014
Title: Re: The furnace engine Post by: madflame991 on May 01, 2014, 02:11:47 AM Status update 01.05.2014
There have been no new features added this week, but guess what?! The Ludum Dare compo was on this week-end and that means... I got to make a new game in the Furance Engine. It didn't turn on to be the prettyest game in town, but it was fun and user-testing is very useful (I get to play-pretend a user). Here's the link to the LD entry and a screenshot. http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=5035 (http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&uid=5035) (http://www.ludumdare.com/compo/wp-content/compo2/thumb/2c22ebf3d8958a23cefe400900c344e2.jpg) Title: Re: The furnace engine Post by: madflame991 on May 28, 2014, 11:01:58 AM Status update 28.05.2014
In the next period I'd like to focus on the vallidator and parser (better parsing, more useful messages) Title: Re: The furnace engine Post by: madflame991 on June 28, 2014, 09:36:01 AM Status update 28.6.2014
Writing a game spec validator is taking more time than first anticipated. I managed to cover a lot of ground: wrote unit tests, converted a bunch of js files to coffee and have validation working for some sections of the spec... however, there's still a lot left. After the validator is finished and the code is nice and tidy, I anticipate I will be working on more features (ARROWRULES maybe?) Title: Re: The furnace engine Post by: madflame991 on July 13, 2014, 09:58:08 PM Status update 14.07.2014
I'm continuing to work on the validator. SETS and LEVELS should be fully covered now. Only the *RULE sections remain now. I'll post as soon as I'm done and then I can bump the version up to 0.5 Title: Re: The furnace engine Post by: madflame991 on September 19, 2014, 11:19:43 PM Status update 20.09.2014
Validator is COMPLETE. That means there are safety checks and descriptive error messages whenever a game spec is not valid. I'm also very happy that now the Parser and Validator have plenty of tests in place - this makes further development much easier. Development will continue, but at the same slow pace. I'm aiming to add sounds and more rule types. Title: Re: The furnace engine Post by: madflame991 on November 17, 2014, 12:23:17 PM Status update 17.11.2014
|