Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1364825 Posts in 63862 Topics- by 55745 Members - Latest Member: TallGuyProds

August 25, 2019, 11:19:30 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsMoonQuest (OUT NOW!)
Pages: 1 ... 175 176 [177] 178 179 ... 189
Print
Author Topic: MoonQuest (OUT NOW!)  (Read 1118271 times)
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3520 on: May 25, 2016, 03:18:37 PM »

How did you learn to make pixel art/tiles so well? I'm pretty new to the gamedev industry, and work with Unity. I'm not very good at coding, and am even worse at art.


Any tutorial you used in particular?

What Shackhal said. Also I started a pixel art community called Pixel Dailies over on Twitter where we people practise every day. I'm not involved too much any more, but I completed a full year of daily pixel art pieces that gave me a great boost to understand how it all works.

How did you learn to make pixel art/tiles so well? I'm pretty new to the gamedev industry, and work with Unity. I'm not very good at coding, and am even worse at art.


Any tutorial you used in particular?
As everyone will tell you, practice makes the master. But a beginner have to learn somewhere. So here are 2 good tutorials: Derek Yu's Pixel Art Tutorial and PixelJoint's Tutorial

After you learn the basics, you are by yourself. Study a lot of pixel art pieces and make your own pieces. Also, you can ask for feedback on the Creative/Art subforum.

Also, Ben! Are you planning to make an alpha or beta one day? Because you will need it soon or later. Or you are already doing that?

Yes! We've been running a closed alpha test for the last year, and are close to running a closed beta with a much larger group.


Actually that's why I've dropped by. We've just uploaded the first Linux version of Moonman, so if you backed the game at the alpha level on the KS then drop by the forums and help us test the Linux version.

Logged

Shackhal
Level 9
****


Like a child with toys


View Profile WWW
« Reply #3521 on: May 25, 2016, 06:24:25 PM »

Unfortunately, I didn't backed it. I was poor at that moment.

It's good to know that you already have testing support from your fans.
Logged

 
Haggen
Level 0
*


View Profile
« Reply #3522 on: May 25, 2016, 06:34:06 PM »

Very nice work.
If I had been there before, I would back at KS. Dammit.

Any ETR?
Logged
Kakapio
Level 0
***



View Profile
« Reply #3523 on: May 26, 2016, 07:18:02 PM »

Why did you choose to make your own engine with SFML and C++? And why did you choose C++ over something like Monogame and C#? Just wondering, since I'm having a hard time wrapping my head around basic stuff  Grin
Logged

What will you make?

Twitter
Scarlet Tower DevLog
michael_88
Level 0
**


hello


View Profile
« Reply #3524 on: May 26, 2016, 07:35:18 PM »

moonman reminds me of Gumby, if he went on a diet and killed monsters n junk





If moonman and Gumby fought, who would win?
Logged

X P E T S    |    F I L T H Y  B E A R    |    P E S T
ansimuz
Level 1
*



View Profile WWW
« Reply #3525 on: May 26, 2016, 10:34:46 PM »

Wow its looking great since the last time i checked. All that path finding and jumping algorithms are rocket science.

Good job man.
Logged

I made Elliot Quest. Now i make Pixel art https://www.patreon.com/ansimuz
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3526 on: May 26, 2016, 10:37:18 PM »

Very nice work.
If I had been there before, I would back at KS. Dammit.
Any ETR?

Thanks, this year I really hope Smiley

Why did you choose to make your own engine with SFML and C++? And why did you choose C++ over something like Monogame and C#? Just wondering, since I'm having a hard time wrapping my head around basic stuff  Grin

I wanted to learn how to build a game 'from scratch'. There's still some pieces like the physics engine and OS layer that I haven't built myself, but everything else I have. Smiley

If you're starting out, definitely don't choose SFML + C++. Instead I'd recommend to use Unity.

moonman reminds me of Gumby, if he went on a diet and killed monsters n junk

If moonman and Gumby fought, who would win?

Gumby would win because Pokey would come and Poke moony to death.

Wow its looking great since the last time i checked. All that path finding and jumping algorithms are rocket science.

Good job man.

Hey dude, yeah it's been a while! Currently in a content sprint so adding a whole heap of new stuff. No time to even write this post Wink
Logged

Kakapio
Level 0
***



View Profile
« Reply #3527 on: May 26, 2016, 11:20:59 PM »

Very nice work.
If I had been there before, I would back at KS. Dammit.
Any ETR?

Thanks, this year I really hope Smiley

Why did you choose to make your own engine with SFML and C++? And why did you choose C++ over something like Monogame and C#? Just wondering, since I'm having a hard time wrapping my head around basic stuff  Grin

I wanted to learn how to build a game 'from scratch'. There's still some pieces like the physics engine and OS layer that I haven't built myself, but everything else I have. Smiley

If you're starting out, definitely don't choose SFML + C++. Instead I'd recommend to use Unity.

moonman reminds me of Gumby, if he went on a diet and killed monsters n junk

If moonman and Gumby fought, who would win?

Gumby would win because Pokey would come and Poke moony to death.

Wow its looking great since the last time i checked. All that path finding and jumping algorithms are rocket science.

Good job man.

Hey dude, yeah it's been a while! Currently in a content sprint so adding a whole heap of new stuff. No time to even write this post Wink



Haha, definitely won't tackle my own tile engine for quite a while. Perhaps I will as soon as I get my PHD in computer science Wink
Logged

What will you make?

Twitter
Scarlet Tower DevLog
Kakapio
Level 0
***



View Profile
« Reply #3528 on: May 27, 2016, 05:50:22 PM »

How do you handle slopes? I'm working on a project in Unity right now, and am having difficulty as my tiles are too large. I have a circle collider on the feet, that I hope would allow the player to glide over small differences in height.


Here's what I'm talking about:
https://gyazo.com/53811ba375389c4244dfb45c139f9793
Logged

What will you make?

Twitter
Scarlet Tower DevLog
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3529 on: May 27, 2016, 06:48:48 PM »

The easiest way is to just override the physics and snap the player up to the next height if they are pushing against a step. You'll have to search this devlog for specifics on how I handle slopes, it's complicated. Personally I'd just avoid having slopes altogether.
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3530 on: May 27, 2016, 07:24:27 PM »

Update: The big news this week was that we released the Linux version of the Moonman alpha. If you're an alpha tester you can check it out from your humble (refer to the support page for installation details). It was a great achievement by Sam to get it all up and running so quickly, and over the next couple of weeks we'll sort out any issues that people have had.

While this has been going on Alex and I have been in art mode, sorting through the large amount of stuff we have, filling in gaps, making sure we similar colours for similar materials, and so on. It's a big job due to the sheer amount of assets we have, but we're making our way through. There are lots of things like tiny piles of skulls that all needed to be cleaned up and finalised.

I'll be implementing the labyrinth next and I just added some of the new tiles in this morning. See you next week!

Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3531 on: June 03, 2016, 06:59:32 PM »

Update: Hey there :slight_smile: This week Alex and I have been mocking up lots of concepts for world features -- intriguing things that you'll come across on your adventure. They range from small objects like lamp-posts to self-contained sub-areas like a room of traps. For example:


- dragon tooth (a growth of bone ore in a tooth shape);
- crystal sanctuary (a pocket of nature surrounded by crystal in the volcano area);
- specimen (a glass-block enclosure filled with liquid with a plant or thing inside);
- spider hole (a dug out hole in the terrain filled with webs and spiders); and
- skull pit (a dug out pit with skulls and bones down the bottom).


We've got a whole bunch of interesting ideas for these, broadly categorised and in a number of different styles. After these concepts are done we'll figure out a subset to include in the beta and then move on to implementing them.

Alongside this I'm continuing to add the Veil pieces to the game. Some new features are switches, spikes, and traps - some static and some triggered by sensors. Here's poor Carl testing these things out:







We've got a bunch of feedback back from the Linux test and we'll be making a few changes, specifically: we'll be packaging a 32-bit and 64-bit version in the same distribution and we'll be getting rid of the installer and just releasing a tarball (for the non-Steam version). We're having trouble replicating some of the OSX crashes you guys have been reporting so we'll be leaving them for now.

Sam has been investigating the renderer and making some optimisations. Some big goals for us there are:

- patch over any small pauses in gameplay due to rendering;
- improve efficiency when rendering many things on screen; and
- provide a 'lite' mode for older hardware.



Logged

RujiK
Level 2
**



View Profile
« Reply #3532 on: June 06, 2016, 04:40:34 AM »

Take that Carl! No one likes you anyway!

Eigenbom, have you gotten any bogus "publisher" offers? Like, "For 20% gross we'll market your game!" or something.


I saw this awhile ago and wondered how common it is.
http://morrisonlee.com/2016/05/23/game-publishers-in-2016-how-to-throw-your-lifes-work-away-in-seconds/
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #3533 on: June 06, 2016, 09:16:21 AM »

I've checked out quite a few Greenlight projects in the last few months and every one of had a post with a similar marketing offer.  Interestingly, a month or so ago I used to see UltraShock but nowadays, it's a "sexy chick" avatar image (that changes from time to time) with some other account.  Not sure if it's the same company but the offer is probably the same.  As mentioned on the website that you posted, do your homework before actually committing to a deal like that.
Logged

io3creations.com :: twitter  :: YouTube
Mr E Key [formerly Mr E Soup] devlog
miguli
Level 1
*



View Profile
« Reply #3534 on: June 06, 2016, 09:24:17 AM »

I one day read whole devlog of your's and very inspiring to read. It was interesting to see how much your project has grown and changed since start.

Seems like I'm late to the party, but following this devlog, really interesting to read.
Logged
kcbanner
Level 0
***


View Profile
« Reply #3535 on: June 06, 2016, 09:30:17 AM »

I'm always blown away with the particle effects in Moonman gifs, have you ever done a writeup on that implementation?
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3536 on: June 06, 2016, 04:22:09 PM »

Eigenbom, have you gotten any bogus "publisher" offers? Like, "For 20% gross we'll market your game!" or something.

Not really *bogus*, but I've been approached by about 15 different publishers, from all the big names, to really tiny ones. I never really got my head around the value they would provide so have never seriously considered it. (i.e., I could just hire a marketing person for some small fee if I needed to offload some of that work.)

I one day read whole devlog of your's and very inspiring to read. It was interesting to see how much your project has grown and changed since start.

Wow, thanks for reading, it's a very long devlog Smiley

I'm always blown away with the particle effects in Moonman gifs, have you ever done a writeup on that implementation?

Thx, and nope, I haven't. I assume you're talking about the fire effect, rather than the water splash or block particles, etc. The key to the fire is additive blending and tone mapping, if you're interested you can read up on those.
Logged

Cragz
Level 0
*


View Profile
« Reply #3537 on: June 08, 2016, 04:08:17 AM »

Hi Ben, like a bunch of others I've just binge-read your entire devlog. Whilst the game looks stunning, what I really appreciate is your dedication to updating this thread over the last ~4.5 years.

Keep up the exceptional work, I'm certain you'll unlock the Worldwide Indie Darling achievement following release.

 Beer!
Logged
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3538 on: June 10, 2016, 04:29:27 PM »

Hey Cragz, thanks dude! Smiley
Logged

eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #3539 on: June 12, 2016, 08:17:41 PM »

Update: We nudge ever closer to the public beta. This week has been about the dev tools, working on compatibility of save files, optimisation, and world feature concepts. This devlog I'll be talking about the Editor and Serialisation.

Editor
I made some huge improvements to the internal editor -- this is the tool I use to test things and prototype little areas. It lets you add blocks, objects, mobs, etc. I spent a few days making it more user-friendly so that Alex and I can more easily create those world features I talked about last week.

Here's the block panel, which shows you all the blocks and offers a paint and fill tool. (It uses Dear ImGui10 for the GUI.) There's a "filter" text box which lets you navigate the list more easily. The fill tool and bigger brush sizes are especially handy.







The "object mode" lets you select an object from the list and then click into the world to add it. The editor also tries to snap the object to the nearest valid point and place it. Similar modes exist for mobs and items, too.



At the moment these tools are developer only, but we're having so much fun with them that I'm now seriously considering bundling them with the final game. It would probably be a feature that you'd have to unlock somehow, and to prevent spoilers it would only contain a subset of the content. Imagine creating a little level and then sharing it with your friends to play, I think that could be a lot of fun. This is a low-priority feature for now.

Serialisation
Not the most fun of topics but I think it's an important one to mention. The game is currently very fragile in terms of save files: you can't load games from different versions, and if something goes wrong with loading the game may just crash. I aimed to fix both of those this week. As we move into a content-creation phase of development we needed a stable save file system that is backwards and forwards compatible.

There are a few issues involved with compatibility:

File format
System architecture differences
Missing resources
Unknown/New resources


File Format: Consider that I want to add a new field "pants" to an object which I've saved. If your save file version is the same as your game version then this is all good, the game knows about pants and can read in that struct no problem.

struct DudeV1 { int x, y; }

struct DudeV2 { int x, y; bool pants; }


But what if you have V2 of the game and want to load a V1 save file (for instance if an update comes over steam and you want to continue playing your current game)? More rarely, what if you have V1 of the game and want to open a V2 save file? (This may happen if someone makes a level and sends it to you, but you don't have the exactly-right-version of the game.)

One solution to this is to use a generic format like JSON/XML, and then read or write as much as you want -- setting defaults when things are missing. E.g., if V2 reads in a V1 it may just set pants = true because that field would be missing in the V1 save. As long as you are strict about not removing any elements then all will be good.

If you're working in a binary format, as I am, then you need to be a little more careful. If you're writing out the Dude struct to a binary file, you'll need to also write out the sizeof(Dude) (see below) and the version of Dude. This allows V1 to skip unknown V2 data, and V2 to only read in as much V1 data as it should.

I built a little system based around libs like Cereal and Boost::Serialisation to do this in Moonman. The Dude example looks like this in the engine:



However there will always be occasional big structural changes to the save system, and for those I will break compatibility. The save will have a structural "VERSION" number, which is changed only if the save format breaks compatibility. I expect this will happen rarely, but when it does you'll lose your save files. A workaround for this is to provide a 'save game converter' function to map between old and new saves, but I don't think this'll be necessary given the nature of the game.

System architecture differences: Low-level languages are very susceptible to changes in architecture. If I write something like file.write(x); then that will write the exact bits of x as stored on the current system. Some typical example of architectural differences are little endian/big endian and 32-bit/64-bit. Floating point numbers may also be stored differently.

In C++ we also have a bigger problem, certain types or structs may have different sizes depending on which compiler and system you use. You write out a flat struct on MSVC and read it in on OSX? This may not work. To get around this you can use #pragma pack for structs and then sizeof() will be consistent, but this brings it's own challenges, and so the most straightforward way is to just serialise all the members of a struct explicitly (as I did in the Dude example above). There are other approaches (e.g., Protobuf) but this is the method I'm using in Moonman.

For differences in type size I'm just restricting my serialisation to types with a constant size, e.g., int32. And for differences in endian-ness, well, this is where I've drawn the line -- in the rare situation of a Big Endian port of Moonman comes up (Nintendo Wii?!), save files will simple be incompatible between endian-ness.

Missing resources: Assume you load a V1 save in a V2 game, but in V2 I've removed hats. Or I've removed the soil tile. Or something. Previously the system would have crashed because it didn't recognise the old hat or soil. Now it happily continues on, skipping over the unknown data. If you were wearing a hat it won't be there anymore - but that's the worst case.

For blocks we also have another problem, the IDs of blocks may change between version. A stone block may have ID=3 in V1, but ID=4 in V2. This is due to how I generate the ids. Previously the game would have seen ID=3 and used it's own mapping to determine the block (maybe wood has ID=3 in V2 and then all the stone would become wood!). Now I store a block database with the world itself and use this to maintain a compatible mapping.



Unknown/New resources:
Assume you load a V2 save in a V1 game, the save file may have kinds of unknown objects, items and blocks. The game now reports a warning but can skip over all the unknown data and load the level anyway. This is a rare situation, and if you got that warning and really wanted to play that level, then you'd probably want to update your game version anyway.

As always, I'm happy to answer any questions about this stuff. You can also subscribe to this forum to get the devlog updates.
Logged

Pages: 1 ... 175 176 [177] 178 179 ... 189
Print
Jump to:  

Theme orange-lt created by panic