• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GAF Indie Game Development Thread 2: High Res Work for Low Res Pay

Status
Not open for further replies.

LordKasual

Banned
Last week was quite productive. We're currently working hard on the 0.85 Update for CrossCode and still plan to release it this year. If everything works out as planned we might have the update ready between mid november and the beginning of December. However, let's get back to last week.

We started working on the interiors of Basin Keep (a town introduced in the last update)
interiors-first.gif


Working even harder on the next dungeon...
mapping-start.gif


which is called So’najiz Temple and...

mapping-progress.gif


... it's an underwater dungeon this time.
mapping-progress2.gif

I remember playing this demo on Tigsource! The pixel work is amazing, love the style you have going.


Man, engine optimization sucks but I manage to salvage my project on CTF :D although construct 2 seems comfy as hell, i'm gonna keep my prototype on CTF since I did already so much progress.

Turns out cropping your animation and mirroring instead of duplicating your animation saves quite a lot =p It's maybe the biggest flaw in CTF right now is that "Flipping" is not a natural thing in engine but an effect. Thankfully someone helped me out and did some math. Gotta make a few concessions but for that project it'll be alright

That is very good to hear. But are you sure you want to keep using it when you have seen the future of its memory limitations?

Do you think you can finish the game without running into the same issue?
 

Lautaro

Member
Today's progress: Simple inventory system stored in an Array so that when the player touches a chest it generates an item and add its to their inventory then returns the item type to the player via dialogue boxes.

14713551_10154011833157066_7270207783432612562_n.jpg


14650536_10154011833127066_1443173051394877787_n.jpg

There's an instruction called "switch" that you can use instead of a putting a lot of "if else".

Also you could put all those strings in an array and just get the result with
"CurrentRunInventory.Add(ItemNames[Random.Range(0, 3)]);"

Personally I prefer to use ScriptableObjects for items and their data. Now if that's too advanced is still good idea to keep data as strings or numbers in parameters so you can change them in the inspector instead of hardcoding them.

Its just a suggestion, of course (a suggestion based on my experience making commercial games with Unity ;) ).
 

1upsuper

Member
I'd recommend Game Maker Studio since the base version is free and even lets you export Windows applications - http://www.yoyogames.com/gamemaker. I haven't used RPG Maker in years but it looks like the scripting language that MV uses is very similar to other C like languages. Here are some examples - https://rpgmaker.net/scripts/693/

For beginners there are bunch of tutorials and classes available for you to learn a C like language. I personally recommend one of the Unity 2D courses on Udemy but those do cost money - I personally brushed up using Nakov's teach yourself C# book which is available for free here and assumes you have no knowledge of development. It starts you with simply printing to the console and goes from there. http://www.introprogramming.info/wp...Programming-with-CSharp-Nakov-eBook-v2013.pdf

In my experience, RPG Maker of any kind is more than capable of making complete (and somewhat complex) experiences without touching Ruby! With a bit of effort, you can even subvert some of the game's systems through its event editor only. You won't have the freedom Ruby would allow, or Game Maker (or Construct 2) in general, but RMK is an excellent way to get your feet wet and get a sense for the overall logic behind scripting. That's how I got started, anyway :)

Thank you both! I think I want to stick with RPG Maker. I'm glad to hear it's fairly capable on its own but I will look into learning C in some way if needed. I just don't want to sacrifice too much due to my own ignorance.
 
Today's progress: Simple inventory system stored in an Array so that when the player touches a chest it generates an item and add its to their inventory then returns the item type to the player via dialogue boxes.

14713551_10154011833157066_7270207783432612562_n.jpg


14650536_10154011833127066_1443173051394877787_n.jpg

There's an instruction called "switch" that you can use instead of a putting a lot of "if else".

Also you could put all those strings in an array and just get the result with
"CurrentRunInventory.Add(ItemNames[Random.Range(0, 3)]);"

Personally I prefer to use ScriptableObjects for items and their data. Now if that's too advanced is still good idea to keep data as strings or numbers in parameters so you can change them in the inspector instead of hardcoding them.

Its just a suggestion, of course (a suggestion based on my experience making commercial games with Unity ;) ).
you could go one step further and just store the items in an array so you don't even need the switch statement either :D

So it could be something like this:
Code:
public string[] treasureItems;

public string GenerateInventoryContent(){
	int RNG = Random.Range(0,treasureitems.Length);
	ItemName = treasureItems[RNG];
	CurrentRunInventory.Add(ItemName);
	return ItemName;
}

Then you can just populate the treasure strings from the inspector and it'll dynamically size based on however many you add :D
 

Lautaro

Member
you could go one step further and just store the items in an array so you don't even need the switch statement either :D

Yep, that's why I told him to avoid hardcoding strings and numbers. Now I don't know how much he knows about the engine but I recommend learning about ScriptableObjects (check this link) instead of going with strings that can be mispelled. Basically he could keep the items as assets and choose how many attributes they'll have, in my current project Items have properties like image (sprite), title, description, object to instantiate, base cost, type (quest, consumable, ingredient), etc.
 
Yep, that's why I told him to avoid hardcoding strings and numbers. Now I don't know how much he knows about the engine but I recommend learning about ScriptableObjects (check this link) instead of going with strings that can be mispelled. Basically he could keep the items as assets and choose how many attributes they'll have, in my current project Items have properties like image (sprite), title, description, object to instantiate, base cost, type (quest, consumable, ingredient), etc.
Oop, so you did. My eyes just immediately gravitated toward the code part of your post XD
 
I just launched a Greenlight campaign for The Artist - a first person puzzle adventure game that I made, inspired by other awesome environmental puzzlers like Myst, Riven, and The Witness! I'm hoping to release the game on PC and Gear VR next month, so I would love to get your thoughts - also looking for a tester or two if anyone is interested.

Check out the Greenlight page here, and a trailer for the game here!

EM9iyCM.png

Looks interesting. I agree with the steam comment about showing a puzzle or two. Puzzle games live and die based off the quality of the puzzles and right now your trailer doesn't leave me with any mysteries beyond the general setup. I'm making a puzzle adventure game myself and I fully understand the desire to not spoil things but you can still make up new puzzle solutions just for a trailer.
 

correojon

Member
Such awesome progress, great job guys! Keep it up!

Forgive the quality and/or size, i'm bad at GIFs. Tried to make them 60FPS but they play back at like 1/4th the speed. :(

Action-Adventure RPG i've been working on, i'm currently calling "Arcedge". Created using Scirra's Construct Classic.

(...)
Looks awesome, I love this kind of games. Very good hit effects and the combat seems fluid and fast, hope to hear more from this!

Man Pehesse that looks soooooo good! Loving the fluidity of the movements, should make movement tech a LOT of fun. Awesome stuff!

I wish I had more to update on my buddy and I's endless runner mobile project but I've been cranking on the algorithm that generates the levels and while I've finished the majority of the maths involved I've gotta now finish the object pooling for platforms and actually get those injected into the correct place in the hierarchy based on player position.... yaaaaaaay....

Buuuuut I think we're a bit closer to finalizing our visual style!
Love that sprite! Good animation and cool artstyle, great job!

Here's the first look at a new level for Stage Presence: The Moon Base (click the gifs for the full length videos)
Lol, your GIFs are always unexpected and crazy. The spins you´re putting in a "simple" singing simulator are really original and funny, I hope I had your creativity.

Getting all of my AI hooked up for pedestrians/tourists and feeling really good about this game now

Gotta be done before October 31st so I need to start making a level or two or three soon
I think I already said it some pages ago, but this game has so much personality, it shines even in WIP GIFs like this one.


Last week was quite productive. We're currently working hard on the 0.85 Update for CrossCode and still plan to release it this year. If everything works out as planned we might have the update ready between mid november and the beginning of December. However, let's get back to last week.
Awesome art, this looks great!
 

Tetraeon

Member
Looks interesting. I agree with the steam comment about showing a puzzle or two. Puzzle games live and die based off the quality of the puzzles and right now your trailer doesn't leave me with any mysteries beyond the general setup. I'm making a puzzle adventure game myself and I fully understand the desire to not spoil things but you can still make up new puzzle solutions just for a trailer.

Very good idea actually - just invent a few puzzles that won't be in the final game for the trailer? I think I might do that, though I fear it may be too late already considering I'm almost past my Greenlight prime.
 

D13Michael

Neo Member
I was wondering how progress was going on this the other day (holding off on full release to really play), and poking around your website I came across your second demo. I had only played the first one before, and... good lawd.

Glad you liked it. A while ago it was updated for... reasons. Both of us, Deck13 and Radical Fish felt that the old demo was... well, old. Plus the portraits were outdated and folks were criticizing them without knowing that they were updated in the actual game already. So an update was needed. But yeah, the progress has been incredible in the last 4 months. Slowly everything is coming together - but it's not yet finished. Next update will hopefully be released around mid Nov. to beginning of Dec.

Hooked the whole way through, little over 2 hours to get all the boxes in exploration mode. And it's a small thing in a game that's beautiful throughout, but I just have to mention how fantastic all the UI stuff is.

Thanks for the kind words :)

Gorgeous looking game. Keeping ny fingers crossed for a console version.

That's a tricky one. We are actually actively looking for a studio to port the game. The devteam hardly has the time to do that as they are busy with the pc version and they're still small in terms of size. And it is quite tricky as it is HTML5 based and TRCs / TCRs are always a big questionmark here for most studios which were interested in a partnership. But if anyone's reading that now and thinks: Hey, that's easy as hell, feel free to get in touch :D
 

MrHoot

Member
I remember playing this demo on Tigsource! The pixel work is amazing, love the style you have going.




That is very good to hear. But are you sure you want to keep using it when you have seen the future of its memory limitations?

Do you think you can finish the game without running into the same issue?

Yeah. Not only did I manage to salvage almost a gig of memory, but i also found something that frees up the 2gb memory limit of CTF just in case. And its just gonna be a prototype, not the full game so I should be fine ^^
 

ephemeral

Member
Today's progress: Simple inventory system stored in an Array so that when the player touches a chest it generates an item and add its to their inventory then returns the item type to the player via dialogue boxes.

14713551_10154011833157066_7270207783432612562_n.jpg


14650536_10154011833127066_1443173051394877787_n.jpg
Just a tip, I'd use switch case if you intend to have a lot of different items.
 

Water

Member
Just a tip, I'd use switch case if you intend to have a lot of different items.

Lautaro and Geminosity already discussed switch and array based solutions.

I teach game development from scratch with Unity, and I have chosen to not even mention the switch statement. It's quite limited in application (only a handful of basic types, only equality test), and even when you could use it, either you tend to have so few cases that you get virtually no readability improvement over an if-else, or you should be using an array / dictionary / etc approach. I literally can't remember the last time I opted to use a switch. It would be much more useful if it was an expression with a value, like in some functional languages.
 

ephemeral

Member
Lautaro and Geminosity already discussed switch and array based solutions.

I teach game development from scratch with Unity, and I have chosen to not even mention the switch statement. It's quite limited in application (only a handful of basic types, only equality test), and even when you could use it, either you tend to have so few cases that you get virtually no readability improvement over an if-else, or you should be using an array / dictionary / etc approach. I literally can't remember the last time I opted to use a switch. It would be much more useful if it was an expression with a value, like in some functional languages.
I use an array based solution when there's loads of possible outcomes, which is probably the case for kitsune. So yeah, switch is probably not the best solution in this case. I still prefer it over if statements for a bunch of outcomes though; to each their own.
 

aesinv

Neo Member
Dang, every time I open this everyones progress seems wicked! Side note though, how is everybody getting such amazing quality gifs?!? Everything I try seems to end up showcasing awful gif quality :(

My level generation algorithm liiiiiiiives! It's just a first draft, but it was awesome seeing it working as anticipated.

The backgrounds in the following are all generated from the algorithm, I only have two items for each layer (close grass, far grass, close mountains, far mountains) but I went through and dumped a ton of random resources into it to verify that it will work as expected with a larger object pool and it worked perfect, so I'm super amped on it.

EzZeLRy.png


I can configure a couple different things about the general algorithm such as the amount of items generated, whether or not to use a dynamic/ranged gap value between elements or whether to place items directly following the previous, and then I can configure how many times any particular item can be immediately repeated. There's a configurable probability system in place, but I've currently disabled it until I have more objects available for use.

Ubzxigi.png


Essentially each iteration it goes through the elements and calculates it's probability by setting everything to a base probability figure; then it adds/subtracts from that based on a couple different metrics such as whether or not its repeatable and has reached its max repeat value, the last time that element was used, the total number of times that element has been used throughout the lifecycle of the level, etc.

My next draft of it will be rewriting it to allow for a dynamic 'pace' that will adjust itself throughout the lifecycle of the gameplay (easy segments are 1, hard segments are 3, 'rest' segments are 0, etc.) and finishing implementation of object pooling for all teh perf0rmanc3 gainz. I'm excited about the pace system as it will allow the algorithm to not just bombard the player with nonstop obstacles but give the player a chance to rest in between difficult sections.
 
Just curious, anyone going to GDEX this weekend? My team and I will be showing off our game at a booth there. We're pretty excited to get some outside feedback after getting a lot of work done.
 

Tetraeon

Member
Optimizing for mobile VR is a pain but very rewarding. Managed to reduce my draw calls by 75% which is fantastic for mobile rendering! Pretty pleased at the moment - still experiencing some minor CPU bottlenecks but the majority of the work is done now. For the record, occlusion culling is awesome!
 
Optimizing for mobile VR is a pain but very rewarding. Managed to reduce my draw calls by 75% which is fantastic for mobile rendering! Pretty pleased at the moment - still experiencing some minor CPU bottlenecks but the majority of the work is done now. For the record, occlusion culling is awesome!
That sounds like a huge reduction. Was it a whole host of errors or one simple change that propagated everywhere?
 

aesinv

Neo Member
Optimizing for mobile VR is a pain but very rewarding. Managed to reduce my draw calls by 75% which is fantastic for mobile rendering! Pretty pleased at the moment - still experiencing some minor CPU bottlenecks but the majority of the work is done now. For the record, occlusion culling is awesome!

Holy hell, that rules! As liliththepale mentioned, was it a simple change that propagated everywhere? (forrrrr example occlusion culling? :D)
 

Tetraeon

Member
For the curious, I implemented a number of improvements to make the game mobile and VR friendly - obviously, shadows and reflections had to go right off the bat, bake whatever I can including lights. Minimize alpha and specularity where I can to reduce draw call passes, combining as many meshes as I possible can (everything static) and writing a shader to hijack vertex colors from a C# script I attached to each object, effectively allowing me to use one material across the entire scene to color everything!

Obviously using stock unity OC was good, but not good enough, so I programmed triggers that swap on and off manual zones of the scene when you're unable to access them to prevent unnecessary overdraw.

I'm having a touch of trouble with the raycast for object interaction; while it works just fine when playing the game on a PC, I can't seem to register any raycast hits on a mobile device... looks like I have some digging to do.
 
I spent the last few days looking for shader that can actually work with Spine, wish I could write one. There is still solid line around characters that I would like to remove but I will live with it and focus on enemy AI for now.

 

HowZatOZ

Banned
So we've now hit our launch milestone and you can download the game for free through IndieDB. After a year of development I'm pretty proud of what we've accomplished, and considering halfway through our project the artist had to leave for personal reasons I'm particularly proud of our team.

While it has been a real eye opener for game development I've learnt a lot and am really keen to move onto the next project, one that I at the moment will be tackling by myself. So now its time to re-learn C# and move forward into the big world of solo indie dev!
 

Lautaro

Member
I end up changing the impact fx and pulling them towards the camera so they don't get obscured by the 3d models (other option could be use a dedicated camera for fx but this seems to work fine):



Now I just need to start recording short clips with the best monsters and visual effects so I can make a Greenlight trailer, add a few nice screenshots (it seems to me that most people ignore trailers and jump directly to the images but I still need to have at least one video) and I'll be ready to start the campaign... wait, I feel deja vu, If I already said this I apologize, I tend to repeat myself a lot.
 

Kitsune86

Neo Member
So we've now hit our launch milestone and you can download the game for free through IndieDB. After a year of development I'm pretty proud of what we've accomplished, and considering halfway through our project the artist had to leave for personal reasons I'm particularly proud of our team.

While it has been a real eye opener for game development I've learnt a lot and am really keen to move onto the next project, one that I at the moment will be tackling by myself. So now its time to re-learn C# and move forward into the big world of solo indie dev!

Grats!

tumblr_nbsrxqPt2E1tw8163o1_500.gif
 

aesinv

Neo Member
So I wanted to see if I could get some other peoples opinions cause my buddy doing the artwork for our mobile endless runner and I keep going back and forth on something.

Ever since we decided to do this project I had the idea in my head of the game being playable with one hand comfortably. For this reason so far all of the development has been done with the device in portrait mode rather than landscape. Obviously this has some implications in regards to pace + the UI as there is less available horizontal space.... so I guess, does potentially sacrificing pace and ease of UI design make sense to make sure the game is playable comfortably with one hand or is latching onto that a stupid plan?

We keep going back and forth on it but we can't come to a definitive answer haha.
 
You can make the game playable with one hand comfortably in either orientation. I don't generally hold my phone with two hands so I think it'd be a cool idea.
 
bSmFo30.gif

Getting down to animating.

As a 2d animator, It's really interesting achieving the same "limited animation" look in 3d. Gonna be even more interesting once I get to attacks and start adding in manual smears.
 

MKingery

Neo Member
A bit of progress with BYOB.

Since we started working last October we've always had issues where blocks placed above a certain height were significantly darker than they should be.

Finally, after tackling many more pressing issues, our UE4 tech artist / multitool finally got a chance to dig into the issue only to realize that the default light probe volume was too small and never recalculating.

He also got our skylight object working so our shadows are no longer 100% pure black which is good.

5Bol7Xp.png

VgL6gku.png

FIf813t.png
 

MrHoot

Member
Something a bit different today but I've been working on concepts rather than animation this week, thought i'd show a bit :) man i've lost my hand at speedyness in concept art tho. I need to be faster

48d7c9fb86.jpeg


is this laying it on too thick with the vfx for the death stroke? I normally prefer something more subtle but I got kinda carried away.

evLtmoF.gif

I'd say the wooshie effect is too long. Plus maybe it lacks a bit of a "directional punch" ? Like it might be better if instead the effect accentuated the blow of the hit
 
Something a bit different today but I've been working on concepts rather than animation this week, thought i'd show a bit :) man i've lost my hand at speedyness in concept art tho. I need to be faster

48d7c9fb86.jpeg




I'd say the wooshie effect is too long. Plus maybe it lacks a bit of a "directional punch" ? Like it might be better if instead the effect accentuated the blow of the hit

I think you're right on both counts, though I'm hoping adding bits of debris solves the latter issue.

That concept art is gorgeous! How long did it take you?
 

MrHoot

Member
I think you're right on both counts, though I'm hoping adding bits of debris solves the latter issue.

That concept art is gorgeous! How long did it take you?

A bit more than a day which is way more than what it should take for me. I haven't done big background concepts in a while so I need to get back in the groove (plus I lost my hand at detailing, but thankfully the colours catch it up)
 

Tetraeon

Member
Almost done porting my game to Gear VR! Hopefully a release on that platform will stir up some Greenlight votes. Does anyone have any suggestions on how to handle marketing as an indie dev, when the time comes for release?
 

Timeaisis

Member
Last week was quite productive. We're currently working hard on the 0.85 Update for CrossCode and still plan to release it this year. If everything works out as planned we might have the update ready between mid november and the beginning of December. However, let's get back to last week.

We started working on the interiors of Basin Keep (a town introduced in the last update)
interiors-first.gif


Working even harder on the next dungeon...
mapping-start.gif


which is called So’najiz Temple and...

mapping-progress.gif


... it's an underwater dungeon this time.
mapping-progress2.gif

I remember playing this game like ~2 years ago at SXSW. I talked to one of the devs, might have been you, haha. Anyway, really loved it then and I can see it's come a really long way. Looks really awesome! I notice your on early access and are gonna do a full release soon. If you don't mind me asking, how did early access work out for you, considering your a single player game? I was thinking going that route for a few of my projects, but they are non online multi, which I feel like the majority of EA games are for whatever reason.

is this laying it on too thick with the vfx for the death stroke? I normally prefer something more subtle but I got kinda carried away.

evLtmoF.gif

I really like the vfx, but I think the ghost swirl lasts a bit too long. Maybe half it?


Whew, yesterday I finally bit the bullet and added an event listener system to the game. I know it really doesn't have any performance impact (frankly, it impacts performance worse than the alternative) but boy does it make the code so much cleaner and simplifies adding new stuff. I'm adding unique character abilities and I really, really did not want to add special-case function calls peppered throughout my update loops to trigger them. Now my characters just subscribe to events and activate away.
 

Fou-Lu

Member
So where would you guys say to start learning how to apply programming knowledge to game programming? I've made some fun little prototypes with Game Maker and RPG Maker, but I'd really like to do my own coding. I just don't really see how what I know of languages like c++ applies to making a game.
 

ephemeral

Member
Something a bit different today but I've been working on concepts rather than animation this week, thought i'd show a bit :) man i've lost my hand at speedyness in concept art tho. I need to be faster

48d7c9fb86.jpeg




I'd say the wooshie effect is too long. Plus maybe it lacks a bit of a "directional punch" ? Like it might be better if instead the effect accentuated the blow of the hit
Stunning. Your art style is perfect.
 

D13Michael

Neo Member
I remember playing this game like ~2 years ago at SXSW. I talked to one of the devs, might have been you, haha. Anyway, really loved it then and I can see it's come a really long way. Looks really awesome! I notice your on early access and are gonna do a full release soon. If you don't mind me asking, how did early access work out for you, considering your a single player game? I was thinking going that route for a few of my projects, but they are non online multi, which I feel like the majority of EA games are for whatever reason.

Probably it wasn't me, I'm at Deck13. Radical Fish is developing it, we're helping out with distribution, marketing and sometimes a bit of design stuff. But that helps me probably to answer your question: It was, well, tricky. It started really slow, even with the free demo. What helped back then was actually putting the game into a bundle. That led to a massive amount of positive reviews which led to way more sold copies per week.

We just reached the Overwhelmingly Positive status on Steam and suddenly even more copies per week were sold (for obvious reasons). What was a let down was the day when Steam re-evaluated the Review system. It hit everyone quite hard. From there on it took us 4 weeks to get back to the Overwhelmingly Positive status.

That combined with very focused marketing efforts (combining the updates with press releases, facebook and twitter marketing, small discounts on Steam etc.) now led to a really... well, interesting situation. Usually, when you release a game on Steam, you have the peak in the beginning. Afterwards smaller peaks during sales. CrossCode has a very different sales curve. Actually, the highest peak was just two or three weeks ago. And the wishlist is growing and growing, nearly 100k now...

One day I'll prepare a more detailed write up for Gamasutra I think, cause the history of CrossCode is really interesting. But to answer your question: It wasn't an easy road. Quality helped. And it took really long till it really took off. But now it does. If you put enough work into your campaign and experiment a bit to find out more about your audience, EA can help creating you the best possible experience for the gamer.
 

MKingery

Neo Member
We just released a new trailer for Wildfire! Tell me if it looks exciting?

https://www.youtube.com/watch?v=Ql_GmKODgdQ

Looks cool.

What exactly do you mean by light probe volume? Are you using a custom version of the engine with dynamic GI or are those "Indirect Lighting Cache" or are they LPV?! I'm very interesting in knowing what exactly I'm looking at.

I misspoke - It is the indirect lighting cache.

Just channeling my years of time in Unity. Sorry for the confusion!
 

Pehesse

Member
I'll hide these at the bottom of the page, since there are quite a few of them (should be small each, but it adds up). If too much, I'll remove some of them!

BogusTanAzurevasesponge.gif
ExhaustedGentleAlligatorgar.gif

ImpassionedBraveGhostshrimp.gif
SpicyWarmAmericanindianhorse.gif

ImperfectPettyChick.gif
ThickMeagerAmericanbittern.gif

HonestSnoopyDwarfmongoose.gif

TheseUnacceptableBullfrog.gif
OrganicSereneGlassfrog.gif


Currently at 477 frames, already have to start thinking about droppint some of the additional detail animations planned if I want to cram in everything I need. I'm hoping to keep the whole moveset (Warrior+Acrobat) at around 500-600 Mb in RAM, and use the rest sparingly for the levels+enemies... but we'll see how that goes :v One thing's for sure: I had considered a third, extra form, but I don't think I'll be able to afford it at this rate :-D
 

Timeaisis

Member
Probably it wasn't me, I'm at Deck13. Radical Fish is developing it, we're helping out with distribution, marketing and sometimes a bit of design stuff. But that helps me probably to answer your question: It was, well, tricky. It started really slow, even with the free demo. What helped back then was actually putting the game into a bundle. That led to a massive amount of positive reviews which led to way more sold copies per week.

We just reached the Overwhelmingly Positive status on Steam and suddenly even more copies per week were sold (for obvious reasons). What was a let down was the day when Steam re-evaluated the Review system. It hit everyone quite hard. From there on it took us 4 weeks to get back to the Overwhelmingly Positive status.

That combined with very focused marketing efforts (combining the updates with press releases, facebook and twitter marketing, small discounts on Steam etc.) now led to a really... well, interesting situation. Usually, when you release a game on Steam, you have the peak in the beginning. Afterwards smaller peaks during sales. CrossCode has a very different sales curve. Actually, the highest peak was just two or three weeks ago. And the wishlist is growing and growing, nearly 100k now...

One day I'll prepare a more detailed write up for Gamasutra I think, cause the history of CrossCode is really interesting. But to answer your question: It wasn't an easy road. Quality helped. And it took really long till it really took off. But now it does. If you put enough work into your campaign and experiment a bit to find out more about your audience, EA can help creating you the best possible experience for the gamer.

Very interesting, yea. I'd really love to read a detailed post-mortem on it. Sounds really interesting. I just don't hear a lot about single-player experience going EA (or maybe there are lots and I just don't realize it haha), so that's really cool and interesting to me.

I'll hide these at the bottom of the page, since there are quite a few of them (should be small each, but it adds up). If too much, I'll remove some of them!

BogusTanAzurevasesponge.gif
ExhaustedGentleAlligatorgar.gif

ImpassionedBraveGhostshrimp.gif
SpicyWarmAmericanindianhorse.gif

ImperfectPettyChick.gif
ThickMeagerAmericanbittern.gif

HonestSnoopyDwarfmongoose.gif

TheseUnacceptableBullfrog.gif
OrganicSereneGlassfrog.gif


Currently at 477 frames, already have to start thinking about droppint some of the additional detail animations planned if I want to cram in everything I need. I'm hoping to keep the whole moveset (Warrior+Acrobat) at around 500-600 Mb in RAM, and use the rest sparingly for the levels+enemies... but we'll see how that goes :v One thing's for sure: I had considered a third, extra form, but I don't think I'll be able to afford it at this rate :-D

Haha, I was scrolling through your beautiful animations and was about to ask about how you were planning to get away with all that in RAM. What engine are you in? Unity's profiler has been very helpful for me in the past with stuff like this. Shit can get tricky sometimes, but I think if you are clever with the way you are doing your environments and enemies, you should be ok.
 

Pehesse

Member
Haha, I was scrolling through your beautiful animations and was about to ask about how you were planning to get away with all that in RAM. What engine are you in? Unity's profiler has been very helpful for me in the past with stuff like this. Shit can get tricky sometimes, but I think if you are clever with the way you are doing your environments and enemies, you should be ok.

Definitely going to need to be clever, I'll be having tight room to manoeuver :-D It's in C2, and it's really the only engine I'm able to work with, so I have to find ways to make it happen, no matter what! In my experience, it can handle pretty much anything I tried to throw at it so far, but it starts whining when I reach upwards of 1Gb estimated RAM use, even though the game still plays just fine (or at least, Honey did). If I could just somehow remove that warning message that pops up when above the 1gb threshold, I really wouldn't worry, but it's my biggest unknown so far.

As far as memory use, I'm pretty sure C2 frontloads everything in memory, which makes for super long initial load times, but a smooth experience afterwards. I'm planning to go overboard on the main character and have a moderate amount of detail in the backgrounds, basically using layers/pieces as collages to cover a more unified colored backdrop, so I don't have any single "big" BG piece (compared to Honey). The enemies should have WAY fewer animation frames (and moves), even bosses, so I think I'll be fine on that front. The other unknown will be music/sound, since that was another memory hog in Honey, so I'll try to be a lot more conservative there!
 

MrHoot

Member
Currently at 477 frames, already have to start thinking about droppint some of the additional detail animations planned if I want to cram in everything I need. I'm hoping to keep the whole moveset (Warrior+Acrobat) at around 500-600 Mb in RAM, and use the rest sparingly for the levels+enemies... but we'll see how that goes :v One thing's for sure: I had considered a third, extra form, but I don't think I'll be able to afford it at this rate :-D

All of these are so nice !

I've continued bringing down a few frames myself. Currently sitting between 700-800mb or ram usage(i'm in CTF but it's about the same in C2) (depending if I chain a whole lot of animations) but some animations could definitvely get some trimming. Doesn't help the model has a lot of colours and details, and a lot of attack animations. But I think I can trim another 100-150mb at least.
 

Pehesse

Member
All of these are so nice !

I've continued bringing down a few frames myself. Currently sitting between 700-800mb or ram usage(i'm in CTF but it's about the same in C2) (depending if I chain a whole lot of animations) but some animations could definitvely get some trimming. Doesn't help the model has a lot of colours and details, and a lot of attack animations. But I think I can trim another 100-150mb at least.

Do you trim those animations by hand? One of C2's nicest features is its integrated image editor with stuff like trim for entire animations! Some of my dev friends bemoan it for not being optimized enough to their taste, but in my experience, it's far better than most other automating software I've tried out there. It's to the point where I now simply work off huge empty canvases, then trim them off in C2, just to make sure I won't have to mess too long with anchor points even with displacing animations! And it feels awesome to trim 150Mb off an animation in a single go :-D
 

MrHoot

Member
Do you trim those animations by hand? One of C2's nicest features is its integrated image editor with stuff like trim for entire animations! Some of my dev friends bemoan it for not being optimized enough to their taste, but in my experience, it's far better than most other automating software I've tried out there. It's to the point where I now simply work off huge empty canvases, then trim them off in C2, just to make sure I won't have to mess too long with anchor points even with displacing animations! And it feels awesome to trim 150Mb off an animation in a single go :-D

CTF also has a "crop all" frames ^^ so I got huge gains. The only thing it doesn't do very well is "mirroring" as i had to do a bit of math for the hotspot point to stay still when mirrored to the left. But I gained so much by doing this optimization that it feels all worth it. But I do the same as you basically...well rather I export in spine with all at the same size so it's super easy to set up an origin point for everything, then mass crop ^^

Only thing I have left is reduce the FPS of some anims. First because I like the "choppy" feeling. Second because having 40 frames for a single idle animations is fairly ridiculous :U

EDIT: Oh unrelated but did also some work on another game i'm collaborating on (called Splash Blast Panic, a jetpack+waterpistol arena party brawler =p). Making some new characters at the moment and it's pretty damn fun to just completely switch styles and be goofy

92aade9e97.gif
 
Status
Not open for further replies.
Top Bottom