SFML community forums

General => SFML projects => Topic started by: eigenbom on January 14, 2015, 03:06:01 am

Title: Moonman (my sfml game has been funded on kickstarter!)
Post by: eigenbom on January 14, 2015, 03:06:01 am
Hey guys, well I've been working away on an sfml-based game for the last 3 years. It's called Moonman and I've just launched a Kickstarter to help fund the final year of development. I'm happy to answer any questions you have about the game or the code. I'd also appreciate if you could share the kickstarter with your friends.

Thanks to the SFML team for making a great library, without which I wouldn't have been able to make this game. :)

Moonman Kickstarter! (https://www.kickstarter.com/projects/eigenbom/moonman)

(http://moonman.io/wp-content/uploads/2015/01/yet_another_promo_image.png)

Moonman is a 2D procedurally-generated adventure game (think Terraria, Spelunky, Minecraft, Binding of Isaac, Knytt Stories) set on a nocturnal planet orbited by many moons. The game is about a character called Moonman who explores the vibrant regions and biomes of his nocturnal world looking for fragments of moons -- in order to build a sun. The fragments may be hidden in caves or tombs, be inside large creatures, or hoarded by hermits. The gameplay involves a mix of platforming, resource collecting, crafting, trading, combat and puzzle solving. Each new game will procedurally generate a unique planet to explore and you'll be adventuring through populated towns, dark dungeons, exotic forests, quiet caves, submerged tombs, and crumbling castles.

Follow me at @eigenbom (https://twitter.com/eigenbom) for regular updates. Sign up to the mailing list at http://moonman.io/ (http://moonman.io/) to get notified of the release. (Also facebook (https://www.facebook.com/pages/Moonman/333164920040372).)

(http://moonman.io/wp-content/uploads/2015/01/owl_v_croc.png)
(http://moonman.io/wp-content/uploads/2015/01/mushroomman.gif)
(http://moonman.io/wp-content/uploads/2015/01/dungeon.gif)
(http://moonman.io/wp-content/uploads/2015/01/chop_and_mine.gif)
(http://moonman.io/wp-content/uploads/2015/01/armours.gif)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Glocke on January 14, 2015, 08:55:37 am
First of all: Great job 8)
To be honest, I don't like sidescroll games xD But I it looks great anyway ;) I'm not familar with those kickstarter stuff but I hope you'll be able to finish the game! From my point of view, you've invested a huge among of time, creativity and skill to reache the current state of development. :)
The most remarkable aspect of your game is (at least for me) the procedurally-generated-aspect. I really like everything that's procedurally-generated - it makes the game even more "replayable"... ;D

Unfortunately I cannot watch the videos at the moment. But maybe later ;)

Because you offered to answer questions about game and code .. can you tell us a bit about it? Especially:

Kind regards, and again: great job. Congratulations!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Tank on January 14, 2015, 09:22:14 am
Good job, this looks fantastic!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Hiura on January 14, 2015, 10:02:38 am
I'm really impressed!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eXpl0it3r on January 14, 2015, 10:59:06 am
Well what can I say? Backed! :D

It's really nice seeing this project developed that far. Back when you first showed off Moonman, I didn't think it would get so far. I always wondered if development was still going, but didn't know you worked on it full time!

So here's to hope that this reaches its goal. :)

Edit: Totally forgot to ask: What role does SFML play in your game/engine?
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 14, 2015, 11:25:35 pm
Hey guys, thanks! Yes who knew the little SFML prototype I made 3 years ago would develop into this :D

The game is about 70k lines of C++ and uses SFML, Box2D, and Boost. I have some Python scripts for the tools, and have also built a sprite editor using Qt. It will be released on Windows first, through Steam and directly. But then I hope to release on OSX and Linux -- I have an OSX build from a year ago so I know it's not too tricky to get it all working properly.

I use SFML for all the windowing, graphics, sound, etc. All the sprite drawing is mostly just sf::Sprite, with the occasional texture mapped quad or shape. All of it is composited together with a few shaders, and there is minimal custom opengl in there. If you have any specific q's I can answer them.

The game will be about $10-15 when released. It's better for me if you can pre-order it by backing the Kickstarter though. :)

Yep I mainly work alone, but have contracted out the music. I've done 99% of the art in the game, and I suppose that's a big factor in why the game has taken 3 years, as I've been learning the style as I go.

Development steps? This is quite an involved question, but I hope to write an article soon which covers the last 3 years of development. So stay tuned!

Oh and lastly, if you can bother to wade through my Devlog (http://forums.tigsource.com/index.php?topic=21997.0), I have lots of information in there about the engine and how I built certain parts.
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jesper Juhl on January 14, 2015, 11:43:57 pm
Nice work.
Just backed your kickstarter with 3 AUD - can't really afford more at the moment, but I hope it helps. Game looks really nice and it's cool that you are using SFML :-)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 15, 2015, 12:02:53 am
Thanks Jesper, yeah every little bit helps for sure, and I really appreciate your support! I've only backed about 10 projects myself, I've been living off a tiny amount of money for the last 3 years, and most of the KS will go towards contracting external help -- but this is the life we choose to follow our dreams :D
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jesper Juhl on January 15, 2015, 12:19:16 am
Arrgh, can't resist. Just updated my pledge to 10AUD - I have to get a copy to play with - I'll just have to live without the extra money ;-)
I just hope there will be a Linux version or I won't be able to play it...
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 15, 2015, 12:27:41 am
Oh, thanks! It's appreciated. :)

The linux version will come shortly after the windows version. Maybe I can get a Linux and Mac alpha out earlier..
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Hapax on January 15, 2015, 12:40:52 am
This looks really well done; nice work!
It has its own visual style too, which is always good  ;)

Good luck with this project  :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jabberwocky on January 15, 2015, 12:04:13 pm
Looks great, eigenbom!  Pledged.

I'll be very interested to read about and watch your development, as I've chosen a nearly identical set of tech for my own work. 
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Cirrus Minor on January 15, 2015, 08:01:50 pm
It looks really good!
And I like the pixel art of the game.

Good luck with the Kickstarter campaign!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jesper Juhl on January 15, 2015, 08:50:44 pm
In addition to Steam, have you considered getting MoonMan listed on some of the various smaller indie game sites?
I'm thinking of sites such as itch.io (http://itch.io/), Desura (http://www.desura.com/) and IndieGameStand (https://indiegamestand.com/). I know that at least I often go to those sites to find new interesting indie titles - might broaden MM's reach a bit  :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 15, 2015, 10:14:17 pm
Thanks for all your support :D

Jesper -- It really depends on the overhead of doing that. If I sign up to a publisher, then they distribute everything for me, but without one I would then have to maintain builds and push updates across all the platforms. But I'll definitely consider each one of those, thanks for the info :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: cepro on January 15, 2015, 11:44:41 pm
Those pixels are beautiful. Well done! I have a question concerning the lighting system. How is it implemented in your engine?
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 16, 2015, 12:55:31 am
Thanks cepro. There's a few posts on my devlog about the lighting system, google is the easiest way to check it out I think:
https://www.google.com.au/search?q=moonman+lighting+site:forums.tigsource.com (https://www.google.com.au/search?q=moonman+lighting+site:forums.tigsource.com)

It's a simple 2D grid-based simulation (like a CA)  where light flows out from lit tiles and loses energy as it crawls through the space. Lighting is cached, is stored locally in 16x16 chunks, and only recomputes when necessary. It actually works quite similar to the fluid and fire system. Happy to answer any specific Q's.
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jabberwocky on January 16, 2015, 06:23:14 pm
If I sign up to a publisher, then they distribute everything for me, but without one I would then have to maintain builds and push updates across all the platforms. But I'll definitely consider each one of those, thanks for the info :)

I would be very cautious about signing with a publisher.

First off, you probably don't need one.  The KS looks to be going well, I doubt you'll have any problem getting greenlit, and the game looks great.

Secondly, there's a lot of indie+publisher horror stories.  You'll pretty much have to hand over the keys to the finances of your game.  They get paid, then send you money.  Except, they don't always send you money. 

Third, it doesn't look like you need any money to finish the game, given how far into dev you are, and provided the KS is successful.

Publishers were a necessary evil in the days when they held the keys to major distribution channels.  For PC games, this is no longer true at all.

The ONLY way I'd even consider a publisher is:

Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 17, 2015, 01:03:11 am
Thanks for the comments Jabberwocky, I'll keep that in mind. Basically I imagined a publisher could do these things, which I *could* do but would prefer not to:
- marketing
- demoing and promoting the game in the states (I live in australia)
- distribution
- interviews and general promo stuff

Like everything about indie dev, yeah I can do it myself but it's *very* time consuming and demoralising. I'm going to be cautious about who I sign up with (if anyone) and will be very mindful of the contract. In fact, I've staved off signing up to a publisher for the whole last year because of my reticence.

Thanks again :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Jabberwocky on January 17, 2015, 03:36:56 pm
Glad to share, eigenbom.

Basically I imagined a publisher could do these things, which I *could* do but would prefer not to

I totally get it.  As an indie, you're already tackling a ridiculous amount of work.  Even more so for you because you're handling code + art.

Still, let's look at what you want to pass off to a publisher:

marketing
If a publisher is willing to spend some money, fair enough (but get the exact responsibilities in writing).  This is probably/hopefully something they're good at. 

Then again, what (likely?) may happen is they just throw up a few banner ads and press releases.  Stuff you may have to provide the content (art, feature blurb, screen shots, press kit, etc) for anyway.  If you took the sales % that you have to pay out to the publisher, and just use that yourself to buy some ad space, it might easily go just as far or further without too much work.

demoing and promoting the game in the states (I live in australia)
Tough one.
You're missing out big-time passing up any opportunity to demo the game yourself, and watch people play it.  You'll learn more about your game doing that than almost anything else.  Also, people will respond far more positively to meeting the developer than some publisher suit.

Personally, I'd prefer not to demo the game at all at a trade show, if I (or a trusted co-worker) couldn't be there myself.

distribution
Yeah, they should be good at this.
The only downside here is losing the opportunity to make these contacts yourself, which will be valuable in your own future career as an indie.

interviews and general promo stuff
Most media, and especially indie sites, aren't going to be too interested in talking to a publisher.  They want to talk to the folks who made the game.

I know I'm painting a dismal picture here.  And there's so many hours in the day.  Another option might be to bring in another team member who can help with other tasks to free up some of your time.  Maybe an engineer who can handle setting up all the builds for your various distribution platforms, and/or any ports (mac, linux, whatever).  Alternatively, hire a business guy who can handle contracts, accounting, general numbers stuff, and help with community and marketing (but try to do the interviews yourself).

This way, you still maintain ultimate control over your game and finances.

I'm going to be cautious about who I sign up with (if anyone) and will be very mindful of the contract.

Alright, here's the last bit of doom and gloom I'll cast out today.  ;)

Rule #1:  If it isn't in writing (contract), it means NOTHING.

Many publishers will make all sorts of promises while talking, emailing, skyping, or whatever.  They'll reassure your every concern.  They'll act like your best buddy. 

Don't buy it.

They might be lying.  They might be telling the truth, but circumstances change when the shit hits the fan.  The publisher could get into financial difficulty or even go bankrupt.  The guy who made all the promises might not even work at the publisher a few months down the road.  Get everything in writing.  If you have a concern, and they say, "no problem, don't worry about it", your immediate response should be "Great!  Let's put that in the contract".

Ok, rant over.   ;D
Apologies for taking up so much space in your project thread.

If you do self-publish, just make damn sure your game is stable and well tested before you release.  This will allow you to switch gears into marketing and distribution mode once the game is ready for release.  There's always going to be some fires to fight, but you don't want to deal with a buggy mess and handle a game release at the same time.  I know this is obvious, but it can't be stressed enough.
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Carlitox on January 17, 2015, 04:24:49 pm
Hei!! Good job.

As you i'm working in a game. I have been programming one year in order to make a kickstarter in the future. It will be an action rpg but I don't want to make any presentation because I'm using graphics that are not mine and i must work more in scripting, enemys and particles, when I finish the demo with a town and a dungeon and final boss i will publish it in forums to get feedback and then make the kickstarter.

Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: StormWingDelta on January 17, 2015, 06:35:39 pm
When it comes to publishers make sure it is in writing with their signature in blood and the whole conversation is recorded on a recorder somewhere.  Some of these guys will try to trick you just to get your game and sell it for their own profit.  Do everything they'll hate, force them to put things in writing and record it on a reorder too. :)  These guys don't like being held up to their end of the contract and might want you gone in any number of ways to solely profit from it so countering them with a lot of things that make it so they have to hold up their end is always a good idea.


Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 17, 2015, 09:18:52 pm
Jabberwocky -- you make some really good points, I've noted them down to consider later. :)

Thanks everyone for the support, the project is 25% funded!! I hope I can keep up the crazy pace, although I'm starting to lose sleep :D :D

(http://moonman.io/wp-content/uploads/2015/01/spiders2.gif)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: SpeCter on January 17, 2015, 10:25:49 pm
Are you going to make donations with paypal available if the kickstarter is through?
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 17, 2015, 11:01:51 pm
Yep, will do!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: SpeCter on January 18, 2015, 11:22:23 pm
Wonderful, can't donate right now, but will do as soon as paypal is up :D
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: cepro on January 19, 2015, 10:21:33 am
Thank you for your answer :) I will check that out :) And by the way I was reading you Kickstarter page and noticed that it's not clearly mentioned that you're running a Steam Greenlight campaign at the same time. Maybe what you need is that big "Help get us on STEAM" banner. In my opinion that will help you drive the traffic to your Steam Greenlight page. :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: zmertens on January 19, 2015, 06:09:32 pm
Looks beautiful. I love the quirky music and the ambiance. I can't wait to see it on Steam. Do you mind if I ask what you use to make sound effects / music?
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 19, 2015, 10:20:02 pm
Thanks everyone! The campaign is going really well so far.

Thanks cepro -- I'll emphasize the greenlight some more. To be honest, the greenlight campaign is much less of a priority, but it would definitely get Moonman boosted up to the top 100 using the KS traffic.

NullP - Thx! The music in the trailer was composed by Aliceffekt, but the more ambient music in the game was composed by FightTheDawn. The sound effects I've got in the game at the moment are basically just free sfx I got from various sites, including freesound.

(http://moonman.io/wp-content/uploads/2015/01/arrows2.gif)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: SpeCter on January 19, 2015, 11:29:01 pm
I can't say how much I'm hyped for this game, I saw it by pure coincidence on tigsource in its humble beginings when i searched for something and fell in love at first sight :D

Still have to laugh everytime I think about the houselegs running gag :D

Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Mario on January 21, 2015, 11:00:27 am
Looks nice, backed as well. :)

[...] and there is minimal custom opengl in there [...]

Would really be interested in knowing such small details, might even be oversights or some interesting stuff that could be useful as part of SFML.

Don't forget to send Laurent a free copy once you're done, unless he backed it anyway. :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on January 21, 2015, 11:31:36 pm
Thanks guys!

Quote
Would really be interested in knowing such small details..

One thing that I used to do is render some sprites with all their pixels greyed-out (like an alpha mask). I could have done that in a shader but I used code like:

Code: [Select]
// Render a sprite with all colours replaced to greay
glPushAttrib(GL_TEXTURE_BIT);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE);
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_RGB, GL_REPLACE);
glTexEnvf(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_MODULATE);
static GLfloat constColour[4] = {0.25,0.25,0.25,1}
glTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, constColour);
glTexEnvf(GL_TEXTURE_ENV, GL_SOURCE0_RGB, GL_CONSTANT);
target->draw(sprite);
glPopAttrib();

But that code is old and now I render things as black, like in some of items in the box on the right:
(http://moonman.io/wp-content/uploads/2015/01/greyed_out_inv.png)

It's not a deficiency of SFML, as all those texture ops are getting pretty old now, and you can easily do that sort of thing in a shader.

Other smatterings of GL are just some immediate mode drawing that is in the debug drawing code.
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on February 06, 2015, 12:20:03 am
Well it's been an absolutely crazy few weeks. I'll tell you all about it one day, but it's really been a rollercoaster. Some days I wake up with 30 emails and other days I wake up with nothing. I've sent hundreds of emails to the press, done 5 or so interviews, and haven't had a break.

Moonman is 85% funded and has 6 days to go!

If you haven't yet backed it, now is the time! (http://kck.st/1DElnw3) :D

(http://moonman.io/wp-content/uploads/2015/02/gam2.gif)

(http://moonman.io/wp-content/uploads/2015/02/gam4.gif)

Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: ILostMyAccount on February 06, 2015, 08:39:51 am
Wow, this is so good, not my kind of game but it's really well done and the graphic style is incredible.
Also this kind of games it's usually popular on YT, have you thought about giving it for free to a few youtubers?
you could get a lot of attention in that way.

--
Also code related question, if I can ask, you said that you are for the most part using sf::sprites, for the terrain too? doesn't that cause issues? or the culling is enough to avoid problems?
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on February 06, 2015, 09:17:27 am
Wow, this is so good, not my kind of game but it's really well done and the graphic style is incredible.
Also this kind of games it's usually popular on YT, have you thought about giving it for free to a few youtubers?
you could get a lot of attention in that way.

--
Also code related question, if I can ask, you said that you are for the most part using sf::sprites, for the terrain too? doesn't that cause issues? or the culling is enough to avoid problems?

Hey thanks :) yep I've had some big you tubers play it, with over 40000 views total I think.

I split the terrain up into 16x16 tile chunks and use a render texture to cache the rendering. So if the terrain doesn't change its only a few draw calls.
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Grimshaw on February 07, 2015, 03:30:44 am
Hi again Ben (from facebook),

Really hope you succeed your funding, you're really close man! I'm sure you will. Your work deserves only praise, its looking pretty sweet, time to conquer the world! Pity I don't enjoy myself playing this style of game (not Terraria or Starbound or alikes), but if I liked the genre I'd really buy this right away!

Good luck!
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on February 08, 2015, 01:03:04 am
Thanks Grimshaw :D

The Kickstarter (http://kck.st/1DElnw3) is 97% funded and has 4 days left! Thanks for getting involved you guys, and if you're going to back to get alpha access and KS-only updates, then now is the time to do it. I'm going to be really busy the next few weeks so I might not be around, but please ping me at @eigenbom (https://twitter.com/eigenbom) if you want to say hi or ask a question. :D

Go SFML! :D
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: Hapax on February 09, 2015, 12:03:17 am
It looks like it's been fully funded now. Congratulations! :)
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: eigenbom on February 09, 2015, 12:11:10 am
Yep we made it! Thanks everyone for backing the project and showing enthusiasm for it! :D
Title: Re: Moonman (my sfml game is on kickstarter!)
Post by: SpeCter on February 09, 2015, 09:05:30 am
Congrats!