• 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.
"Getting a rigidbody and applying force to bullets is almost certainly more than you need to do in a bullet script unless you're getting fancy and doing real world bullet physics.
If its just a generic videogame bullet - ie it moves quickly in the direction it was fired in - it doesn't even really need a rigidbody at all, you can just transform.translate 'forward'."


As an addendum to this, due to the way transform.Translate works (Basically teleporting an object from one position to the other) depending on the speed of the projectile you may also need to check if there's a collision that happened between a projectile's previous and current position or you can run into situations where a collision won't get called because your projectile teleported right past a collider and thus neither an OnColliderEnter or OnTriggerEnter event will get called.
 

Davision

Neo Member
I now have paint strokes in my shader working. I also improved ramp mapping and outlines.

Using a simple painted strokes flow map:
h4AYQ3Xl.jpg


With some slight texture shading for the strokes:
X0ihBvyl.jpg


This are just random strokes while the outlines hide the randomness a bit. If UE4 would allow for custom post processing passes I could make strokes flow maps in the actual materials/textures so the directions could make sense and I could even let them be guided by UVW.

Color palette tests:
mufdoQlm.jpg

Ofol7jDm.jpg
 

Jumplion

Member
"Getting a rigidbody and applying force to bullets is almost certainly more than you need to do in a bullet script unless you're getting fancy and doing real world bullet physics.
If its just a generic videogame bullet - ie it moves quickly in the direction it was fired in - it doesn't even really need a rigidbody at all, you can just transform.translate 'forward'."


As an addendum to this, due to the way transform.Translate works (Basically teleporting an object from one position to the other) depending on the speed of the projectile you may also need to check if there's a collision that happened between a projectile's previous and current position or you can run into situations where a collision won't get called because your projectile teleported right past a collider and thus neither an OnColliderEnter or OnTriggerEnter event will get called.

Will keep that in mind. First immediate thought on how to handle that is to make a short raycast between current and previous position (or maybe current position and future position since, in my case, it's a constant speed?) and detect if the raycast collided with, say, an enemy. Need to practice with raycast/raycasthits anyway.
 

Yoshi

Headmaster of Console Warrior Jugendstrafanstalt
@Davision: That looks absolutely incredible! I would love to play a Yoshi game with those looks.
 
"Getting a rigidbody and applying force to bullets is almost certainly more than you need to do in a bullet script unless you're getting fancy and doing real world bullet physics.
If its just a generic videogame bullet - ie it moves quickly in the direction it was fired in - it doesn't even really need a rigidbody at all, you can just transform.translate 'forward'."


As an addendum to this, due to the way transform.Translate works (Basically teleporting an object from one position to the other) depending on the speed of the projectile you may also need to check if there's a collision that happened between a projectile's previous and current position or you can run into situations where a collision won't get called because your projectile teleported right past a collider and thus neither an OnColliderEnter or OnTriggerEnter event will get called.

I'll add to this by saying raycasts are your swiss army knives of goodness. What could we collide with, how far away is it, i I am moving at X speed at Y deltaTime, how many frames before I get there, will I move past the object next frame, overlap, etc.

Lots of awesomeness you can do with raycasting.

Edit: beaten for putting the phone down for a few minutes and not posting!
 

missile

Member
... Lots of awesomeness you can do with raycasting. ...
It is said that the (vector parameter) equation of a line

p(t) = p0 + t*p1

is the "fundamental equation of computer graphics". Well, it doesn't look as
spectacular as E = mc², but one can solve a huge amount of problems just with
this simple equation of a line.
 
Cosine and performance never go together. ;)

The comment "note: x = sqrt(r² - y²)" wasn't meant to compute x for each pixel
even if does look like it. It just indicates Pythagoras theorem, and it can
be used to calculate x_min, i.e. x_min = sqrt(r² - y²) with x_max = -x_min.
So within the outer-loop we just compute the square root once per line. Hence,
using the square root, we just draw halve of a circle and reflect it (x_max =
-x_min). This is even not the best (yet simpler and more extendable) way to
draw a circle. One of the fastest is Bresenham's incremental circle algorithm
based on integers. It just computes an octant (45-degree section) and the
other seven through mere reflection.

However, the bottleneck is in the inner-loop. It can be removed easily. Let us
put d = sqrt(x² + y²) into our function f;

Code:
f(d, b0, b1, r) = (b1-b0)/r^4)*d^4 + b0
<=>
f(sqrt(x² + y²), b0, b1, r) = (b1-b0)/r^4)*(sqrt(x² + y²))^4 + b0

Now we have this term here
Code:
(sqrt(x² + y²))^4
which equals
Code:
(x² + y²)^(4/2) = (x² + y²)^2

Hence, instead of using d within the function f, we use d² = x²+y² and cut
the power for x, within our function f, in halve, i.e. we define our scaling
functions as
Code:
f'(x, b0, b1, r) := (b1-b0)/r^4)*x^2 + b0
leading to the same behavior if the parameter x is already squared.

If we now compute d in our inner-loop as d = x² + y², instead of
d = sqrt(x² + y²), and use our modified function f', we will get the same
lens, yet without any square root computed.

So if we use Bresenham's circle algorithm and do remove the inner-loop square
root via our modified function f', then the algorithm will be about 10x
faster, I guess. There is some speed left in the algorithm by reordering
stuff. But if you need even more speed, you may start to precompute things.



Am pretty glad it serves you anything! Yeah, looks cool. :+

quite interesting, I didn't think it that way :) are you drawing your results on the CPU or pixel shader? wondering if I should change my equations to remove the Cos instead...
 

Dascu

Member
New Steam refund policy honestly worries me. Two hours is a decent bit of time for a lot of indie/shorter/singleplayer games.
 
New Steam refund policy honestly worries me. Two hours is a decent bit of time for a lot of indie/shorter/singleplayer games.

I'd like to have enough faith in human nature to say that people abusing the system realise there is no difference between doing that and just downloading a pirate copy.
I mean, I really would like to think that.
 

Dascu

Member
I'd like to have enough faith in human nature to say that people abusing the system realise there is no difference between doing that and just downloading a pirate copy.
I mean, I really would like to think that.

I think it's going to lead to a lot of cases of people buying a game, trying it for a while, and then getting a refund. If they like it, they re-buy it at a sale. This is only going to further lead to game sales being concentrated around massive discounts and bundles.
 

Yoshi

Headmaster of Console Warrior Jugendstrafanstalt
Again I'm having a problem I just seem to be incapable of solving :/. I've used my work computer for the last few days in the evenings to program on the game because I had to work at home anyway and it was more convenient to just stay at that laptop. Now, starting tomorrow, I can finally go back to my office and wanted to transfer my project back to my personal laptop. However, even though, as far as I can tell, absolutely everything in the project is copied 1:1 (after all, I just copied the folder...) the game looks a lot worse on my personal laptop. First a screenhot of the work laptop's version:

X12lN2B.png


Then one of my personal laptop:
90rVpuZ.jpg


It's
- the same resolution
- the same graphics quality
- the same Unity version (only difference: Work laptop is 64bit, personal laptop is 32bit)
- in the project, I've set the camera unit-to-pixel value to 48, as the sprites are 48*48
- I'm using the default 2D sprite shader with pixel snap activated and the sprites using filter mode "point"

The result I get looks exactly the same as it did look on the old version of the program before I used the pixel snap and point filter. But the project seems to really be identical on both laptops and I just have no idea what could have went wrong :(.
 

Das-J

Law of the West
I think it's going to lead to a lot of cases of people buying a game, trying it for a while, and then getting a refund. If they like it, they re-buy it at a sale. This is only going to further lead to game sales being concentrated around massive discounts and bundles.
Honestly, the timing of this terrifies me. Hopefully Valve will take a cautious approach when actually HONORING said refund requests...

We're launching in Early Access this summer and if we get hammered with refund requests from people trying to game the system it could do irreparable damage!
 

missile

Member
quite interesting, I didn't think it that way :) are you drawing your results on the CPU or pixel shader? wondering if I should change my equations to remove the Cos instead...
It's the old squared-distance trick seen in many old yet blazingly fast
algorithms. Back in the days computing a square root was an absolute NOGO.
Everything was done to restructure the algorithms in such a way that the
squared distance would suffice to compute the needed result. Bresenham's
circle algorithm is a pretty good example of it. This trick is used a lot in
fast code.

Whenever you see something like u = sqrt(v), you need to think u² = v first and
try to restructure your algorithm (function), if possible, such that u² would
suffice. It's a similar trick to u = v/w => u*w = v and try to stay with u*w.

The stuff here runs on the CPU for the time being. The lens and stuff is not a
real project or something. Am just experimenting. I'm trying to come up with an
interesting warping algorithm for another project of mine, which is better
done on the CPU first.
 

UsagiWare

Neo Member
Jumplion said:
Cheers!

I like what I see, to be honest. Keep the good work!. Was Super Mario World an inspiration for this game? (I say because of the platforming style). Also, by the look of the main screen, this is a mobile game, right?


Thanks! It is inspired by SMW (and later installments). I really like that type of level design. Simple but fun.
And it is indeed developed for mobile use, Currently hoping for a mobile (android) release within this year.


------------------------------

New day, new progress:

I may be seeing this wrongly, but Alice's right arm's shadow seems to be on top of her right breast??

And maybe you can add a blink? Should add to the realism of the animation





Here's the main character evolution over the past two years.
First version was done using Synfig, Such a pain to use (under windows atleast)
That is also the reason why the enemies are more robot like, To reduce the animation workload,

Immediately switched to Spriter last year once I found out about it.

dhap50w.jpg
 

Blizzard

Banned
New Steam refund policy honestly worries me. Two hours is a decent bit of time for a lot of indie/shorter/singleplayer games.
It says right in the policy that people could get refunds disabled for abusing it, so it comes down to whether Steam considers completing a game and refunding it abusing it. If each game has a "beat the game" achievement, it should be pretty easy for Valve / support / whatever to notice that pattern for a particular person.

Who knows how exactly it will play out though. It seems like a positive consumer measure, at least, and I like positive consumer measures.

I do wonder how it appears for the seller. Like, should one only treat bank account deposits as "real" 14 days after they appear, for fear of them vanishing due to a batch of refunds?
 

Yoshi

Headmaster of Console Warrior Jugendstrafanstalt
In case someone stumbles over the same problem as I did above: I think the problem is that the 32bit version of Unity scales all non-power-of-two sprites to the nearest power-of-two and then back down if you set one unit to you non-power-of-two sprite-resolution. In the 64bit version, it just does not seem to do this. A temporary work-around I have found is, to use the texture type "Editor GUI and Legacy GUI". That looks quite close to the original sprites, but not quite as good as the 64bit version. If only Nintendo had reached back already, if I knew if this is a problem on Wii U as in the 32bit version of Unity, or not, as in the 64bit version, this whole problem would bother me a lot less. Anyway, this whole thing scares me a bit wrt the first try to get it to run on Wii U, who knows what strage behaviour will happen on Wii U, considering such problems occur when switching from Windows 7 Premium 64 bit to Windows 7 Premium 32 bit....

If anyone knows a better solution than the one I've chosen or if someone even could tell me if the Wii U behaves like 32bit or 64bit Unity in that regard, any help would be greatly appreciated!
 

GulAtiCa

Member
Yes! Nintendo finally approved my 2nd patch for my Wii U game (ZaciSa's Last Stand). Can't wait for my users to try it out. Really looking forward to seeing their reactions to how much better, different, and fresh it is.

I was up to 2:30 am last night working on the Europe build. So many late nights lately.. Hopefully get to submit that soon to Europe. Also need to spend time re-doing a new (though most of video shots are done) trailer for the 1.2 patch for the NA game, so that I can get that online and show off on the eShop.

Next comes fun job of figuring out DLC! Oh joy.. I want to release a patch that has DLC in it by Nov. So really need to complete the DLC implementation by Sept at latest (to help deal with any potential lotcheck errors). But that does give me 4 good months of coding. And Nintendo does have a fairly detailed guide & example for implementing DLC in NWF (Nintendo Web Framework). So that should help. Since the game is a Tower Defense game with focus on multiple maps, will focus on offering more complex maps for DLC. Got a big idea of doing giant size maps. I could add DLC for new interesting bot weapons. But.. I think that might be crossing a line, as would be unfair to others in online leaderboard in other maps for those that don't have that/etc. So will likely stick to maps. I know for the big maps I have planned, I plan to make it $0.99 for 1 map (this is about a $3.49 game by time this DLC is out) since they are big style and complex featured. But will have to think of how to handle normal size maps. Do I do 2 maps for $0.99 or split it up and do 1 normal map per $0.49.

And of course still got my next "big game" (well, big for me, that is) is aiming for a Oct or Nov release. Oh boy.. I got my work cut out for me. And that is on top of a full time coding job. :lol
 

Dynamite Shikoku

Congratulations, you really deserve it!
In case someone stumbles over the same problem as I did above: I think the problem is that the 32bit version of Unity scales all non-power-of-two sprites to the nearest power-of-two and then back down if you set one unit to you non-power-of-two sprite-resolution. In the 64bit version, it just does not seem to do this. A temporary work-around I have found is, to use the texture type "Editor GUI and Legacy GUI". That looks quite close to the original sprites, but not quite as good as the 64bit version. If only Nintendo had reached back already, if I knew if this is a problem on Wii U as in the 32bit version of Unity, or not, as in the 64bit version, this whole problem would bother me a lot less. Anyway, this whole thing scares me a bit wrt the first try to get it to run on Wii U, who knows what strage behaviour will happen on Wii U, considering such problems occur when switching from Windows 7 Premium 64 bit to Windows 7 Premium 32 bit....

If anyone knows a better solution than the one I've chosen or if someone even could tell me if the Wii U behaves like 32bit or 64bit Unity in that regard, any help would be greatly appreciated!

What option for non power of 2 did you choose in the texture settings?
 
So guys I wanted to take a look into game development. I heard good things about Unity,Gamemaker, Stencyl. What engine should I look into as a beginner who knows how to code a bit?

If you already know how to code a bit (and aren't adverse to learning more about the subject) you'll get quite a bit more mileage out of Unity than Gamemaker or Stencyl, in my opinion.

The added bonus is that the C# you learn with Unity is a skill you can put towards other things. Proprietary scripting languages that Gamemaker (and Stencyl too, I think) kind of "lock" you in to a certain engine. C# is much more widely used, and it also serves as a good gateway into C++ if you decide to move into that later on.
 
So guys I wanted to take a look into game development. I heard good things about Unity,Gamemaker, Stencyl. What engine should I look into as a beginner who knows how to code a bit?
This guy PSM inspired me to do something simple https://www.youtube.com/watch?v=Vk1NORiFMPg

My friend, that video you posted... Thats FAR from simple. Especially for one guy/gal. Not saying its impossible, and please, jump in, game dev can be extremely fun and rewarding (and the opposite so just be prepared for that lol). You should think smaller and more simple, especially for a first project.
 
Cheers!




Thanks! It is inspired by SMW (and later installments). I really like that type of level design. Simple but fun.
And it is indeed developed for mobile use, Currently hoping for a mobile (android) release within this year.




I may be seeing this wrongly, but Alice's right arm's shadow seems to be on top of her right breast??

And maybe you can add a blink? Should add to the realism of the animation





Here's the main character evolution over the past two years.
First version was done using Synfig, Such a pain to use (under windows atleast)
That is also the reason why the enemies are more robot like, To reduce the animation workload,

Immediately switched to Spriter last year once I found out about it.

dhap50w.jpg

If I can be frank, I prefer A LOT the eyes of the 2014 version.
Gives it a retro cartoon feel. I think putting those eyes on the 2015 version would do the character wonders.
 

Unain

Member
I love it when you sometimes do something by accident and then make it a permanent feature in the game.

You heard about rocketjumps? This is package jumps!
http://i.imgur.com/iSUne47.gifv
Gotta be able to deliver those packages on the top floors!

Now back to working on my randomly generated cities.
http://i.imgur.com/Y2bVMql.gifv

Not exciting yet, because its just randomly placing stuff in a grid with some scaling :).
At least Instance Static Meshes are cool in UE4, because this generates only 4 drawcalls.
 

UsagiWare

Neo Member
If I can be frank, I prefer A LOT the eyes of the 2014 version.
Gives it a retro cartoon feel. I think putting those eyes on the 2015 version would do the character wonders.
Fully agree!
In my opinion, the 2014 version is the best. I think the thick outlines kinda gives it a cheapo mobile game feel.
Same here. I think 2014 is the best one.
I like the 2014 too.


Thanks for the responses! At some point it becomes really hard to judge your own decisions.

My rationale behind those changes:
1) "normal eyes". This was changed back because I don't know how to do the enemies eyes in a similar style and I'm worried that the mix in style looks weird.
2) Thick outlines. This was done just to make everything stand out more, both the characters and the solid parts of the foreground layer.

Based on that feedback, this is what it would look like
Ie09oDz.jpg



Here is a proper screenshot for reference (it is aimed at mobile screens)
- Character/props are 1.5px width,
- Forground is 3px width.



Are these lines too thick?
And would the simple eyes fit wrt the enemies?


32D9f3L.jpg




edit: Missed your post:
I like the pixel style of the car, And ridiculous physics/mechanics are usually a good thing :)
 
Thanks for the responses! At some point it becomes really hard to judge your own decisions.

My rationale behind those changes:
1) "normal eyes". This was changed back because I don't know how to do the enemies eyes in a similar style and I'm worried that the mix in style looks weird.
2) Thick outlines. This was done just to make everything stand out more, both the characters and the solid parts of the foreground layer.

Based on that feedback, this is what it would look like
Ie09oDz.jpg



Here is a proper screenshot for reference (it is aimed at mobile screens)
- Character/props are 1.5px width,
- Forground is 3px width.



Are these lines too thick?
And would the simple eyes fit wrt the enemies?


32D9f3L.jpg




edit: Missed your post:

I like the pixel style of the car, And ridiculous physics/mechanics are usually a good thing :)

Think I like the thin lines more.
 

Pehesse

Member
Based on that feedback, this is what it would look like
Ie09oDz.jpg

As it is, I like the thin outlines better too, though I can imagine the concern they cause for legibility on mobile screens.
If anything, my issue with the thick outline isn't because it *is* thick (actually, I usually like that more), but rather that it's uniform. I don't know how it's made, so I can't really offer suggestions to have a decent progressive thinning outline effect (as though inked with a pen), but an overall thick outline+occasionnal thinning would be the winning combination in my book!
 

mStudios

Member
What do you guys think about this idea?
I was thinking to add blur whenever characters are having a conversation, once they are done talking, the effect goes back to normal.

Good idea, bad idea?
 

Yoshi

Headmaster of Console Warrior Jugendstrafanstalt
What do you guys think about this idea?
I was thinking to add blur whenever characters are having a conversation, once they are done talking, the effect goes back to normal.


Good idea, bad idea?

I think your artist will probably not be happy about people not seeing the art properly most of the time ;). I would reserve that for situation-dependent effects, like for instance if a character feels nauseous.



Due to the problemsI just had with Unity on two different Windows versions, I'm getting a bit impatient regarding the Wii U dev platform - being in fear of a tremendous amount of issues amounting by the time I get the dev kit. I'm now at 1.5 months waiting for a reply. I always fear that I might miss the call and they just throw away my application afterwards. Do you usually get an email beforehand? If it is important, I'm from Europe, Germany.
 

Jumplion

Member
Though I've read several articles, I'm not 100% sure what should be on a Greenlight page and what not, so here is my first try:
http://www.anteevy.de/upload/qfu/greenlight_description.jpg (screencap from the private Steam page)

ChaseLogo_small.jpg


Does anyone have any tips/feedback? :) Also, is there a "best weekday" to launch a campaign? Any statistics?

c5f.gif


Love the name. One of those "why didn't I think of that?" kind of things.

The picture looks good, maybe a bit plain but I can see the appeal of a more minimal "here's the stuff" information dump. I might suggest shortening or rearranging some of the features to make the more "juicy" bits more prominent (for example, floor texts isn't that exciting, but more diversity in what you put into your game sounds good to me), but so long as you get the information across clearly and quickly it should be good.
 
There we are, we've just launched the kickstarter campaign for our dungeon crawler!


this gif cracks me up too much

During the 5 months of development we've passed so much time developing the thing that we could pay just so little attention to build
the community/social awareness, so in the past month we had a friend of ours to work on our twitter and be basically gained 1.1k followers in the last month.


We received even some attention from people in the business and exchanged very friendly conversations, but then, here we are.
So I can't spend enough time, recommending to do some PR, and if you can try to put someone in charge of just that even periodically.

Let's cross fingers it will do fine.
 

GulAtiCa

Member
Due to the problemsI just had with Unity on two different Windows versions, I'm getting a bit impatient regarding the Wii U dev platform - being in fear of a tremendous amount of issues amounting by the time I get the dev kit. I'm now at 1.5 months waiting for a reply. I always fear that I might miss the call and they just throw away my application afterwards. Do you usually get an email beforehand? If it is important, I'm from Europe, Germany.
You will get an email first. You might want to try contacting them again though. It is E3 season, so Nintendo will be little busy. But try again.

Anyways, they will email you 1st to make sure you are still interested and to set up possible call times of when you might be available.
 

anteevy

Member
There we are, we've just launched the kickstarter campaign for our dungeon crawler!



this gif cracks me up too much

During the 5 months of development we've passed so much time developing the thing that we could pay just so little attention to build
the community/social awareness, so in the past month we had a friend of ours to work on our twitter and be basically gained 1.1k followers in the last month.



We received even some attention from people in the business and exchanged very friendly conversations, but then, here we are.
So I can't spend enough time, recommending to do some PR, and if you can try to put someone in charge of just that even periodically.

Let's cross fingers it will do fine.
Nice, looks fun! Good luck with the Kickstarter!

If I may ask, how did your friend manage to get you over 30 followers per day? Any tips for fellow developers who struggle with public awareness of their game?

Edit: I just followed you and your automatic PM says "...our Kickstarter will be live soon!" :p
 

Yoshi

Headmaster of Console Warrior Jugendstrafanstalt
You will get an email first. You might want to try contacting them again though. It is E3 season, so Nintendo will be little busy. But try again.

Anyways, they will email you 1st to make sure you are still interested and to set up possible call times of when you might be available.
Thanks for the advice, I will contact them again. Since Adelman has left, I guess my best option is to write them an email, right? And yeah, E3 probably is a very busy time at Nintendo, strange I didn't think of it myself :D.
 
Nice, looks fun! Good luck with the Kickstarter!

If I may ask, how did your friend manage to get you over 30 followers per day? Any tips for fellow developers who struggle with public awareness of their game?

Edit: I just followed you and your automatic PM says "...our Kickstarter will be live soon!" :p

ahah thanks a lot! We've fixed it!
Actually it's a bit of black magic from what I see, as I told you we had this friend of ours dealing with it and he mostly shown us the graphs.
If I recall he passed the first 5 days tracking interesting users and then built some kind of bots to auto-like and perhaps follow similar users, and then I don't really know.

I'll see if I ask some more details.
 

JulianImp

Member
What do you guys think about this idea?
I was thinking to add blur whenever characters are having a conversation, once they are done talking, the effect goes back to normal.


Good idea, bad idea?

At least for that particular background, I feel like the fact that it's full of dull colors that contrast with the character's sharper color palette is more than enough. As long as there aren't any BGs that manage to be even more colorful and eye-catching than the characters themselves I don't think applying a blur filter would help (on top of that, it'd be a waste of that cool BG).

Also, I've got to tell you that I've made some more progress on the toolset's documentation today in case you want to check it out. I typed all that from memory, though, so I'll have to add stuff and proofread what I wrote later.
 

Dynamite Shikoku

Congratulations, you really deserve it!
I don't suppose anyone here would know what kind of extra features facebooks iOS SDK has over apples own social framework?
 
I got the call from Nintendo to become an approved Wii U developer just last week. In my case, it was three months of waiting. The guy I chatted with said they were swamped with applications. I didn't receive any advanced notice, the call just happened out of the blue.

Now I'm anxiously awaiting the arrival of the dev kit. Just hope I don't have to fix too many Unity bugs to transition over...
 
Status
Not open for further replies.
Top Bottom