• 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.

Indie Game Development Discussion Thread | Of Being Professionally Poor

Status
Not open for further replies.

gofreak

GAF's Bob Woodward
I put together a little prototype of my player movement:

http://gofreak-ie.appspot.com/

The key problem was having multiple sources of gravity working in Unity.

E.g. each platform has its own gravity field. You can move between them and move objects between them. Like this box in field one...

c46jhxS.png


...pushed over the side into field two, and pulled down by its gravity to that platform:

jYOXJuT.png


My brain has gone a bit silly trying to get this to work. But I'm pretty happy with how it is now though!

Not sure yet about how the player should transition between different gravity fields, though. At the moment you 'auto adjust' your orientation to the new gravity direction. It feels pretty cool but maybe there's other alternatives to be explored.
 
So I managed to beat out the May 1st deadline by Apple and got my game submitted and released ($0.99 here)


Without any artist help, it's going to look amateurish, and it's been hell for me on the programming side nailing all the stuff down and developing for too many things without a proper way to test it all (was written for cocos2d 1.0.1, targeted against iOS4.0, which means I had to use xcode 4.4.1 and test only on my 3G device)

The "free" version wasn't as lucky, as I had made the stupid mistake of calling it a "demo" (which apple didn't like), and since it's past May 1st, I had to upgrade it to iOS5.0 and cocos2d 1.1 to support the widescreen function.

Either way, that's done for now, and I ended up placing my two other paid games as "free" for a day or two as freebie advertisement, you can check them here and here.


Now then, time to look at all the other stuff I need to actually support with using iOS5.
 

Raide

Member
Indie GAF. Some advice.

Back in 2009 my friend and I worked on a prototype for a game idea that I came up with. I have always been good at ideas and writing and his brain works for programming. We unearthed this beast today and he has no real desire to relearn programming to update it, so he passed it onto me.

It has rudimentary graphics for the majority of things, but the basic gameplay mechanics are there for the early part of the game idea but we did nothing more with it. My programming background is 0%, so I am not sure if I could learn enough to actually do anything with it.

Any advice on what I should do? I certainly think the idea is still good but it does need work to get in anywhere near game ready.
 

bumpkin

Member
looks like sfml 2.0 just went stable.

http://www.sfml-dev.org/download/sfml/2.0/

think they also updated the page sometime later today since i was just there this morning.
Nice. I'll have to give it a whirl again. I tried to rig up an Xcode project with it not too long ago, and it was just an utter nightmare. I can't remember if I kept hitting compile errors or if it just crashed inexplicably at launch, but either way, it was a no-go.
 
However, that's not the main reason to keep the data-structures as flat as
possible though it speeds things up even in high-level languages. The main
reason was given in my last post, i.e. during programming of algorithm. The
trick is to feed the algorithms only the absolute necessary data. This allows
for the highest flexibility while combining said algorithms. Many people sent
a full object straight to an algorithm while the algorithm has to peel out
the little piece of data it really needs making it dependent on the type of
the object (parameter). And the most inflexible way is to embed the algorithms
with the data (OOP). I think some people understand OOP the wrong way. OOP is
about data not algorithms.

Yeah, that sounds exactly like what I was getting hung up on with OOP.

What is your take on entity systems (as described here for example? They seem designed to solve the problem of separating data from algorithms, and I've heard nothing but praise in the few articles I've read on them.

I think my next goal will be to make a simple game or two using entity systems and try to wrap my head around that process.
 

Duderino

Member
Hello again Indie NeoGaf community, I'm going to be streaming in 15 min, doing some character modeling for one of the characters for Air Dash Online, Tesla:

t25jBi4.jpg


Big shout out to Clash Tournaments for hosting:



(Click Here)


Keeping it casual, so feel free to come in and talk about anything from Indie game dev, 3D modeling, to Smash Brothers. :)
 

yurinka

Member
Hi indie Gaf!

There is an upcoming crowfunded documentary about the game development in Spain focused into indie studios on the way and will feature a lot of really talented people (and at least a couple of gaffers) :
http://www.neogaf.com/forum/showthread.php?p=56733938#post56733938

Some of the questions in the interviews are about how did we start in the industry so hopefully you'll like it.

I suggest to check the teasers of the documentary and the videos or the sites of the teams who will appear there. They range from students who are making their first game to people who had number ones in phone gaming, social gaming or had their game published by MS or Sony.
 

missile

Member
Yeah, that sounds exactly like what I was getting hung up on with OOP.
I think the problem with OOP started with Java - the way it was taught at
some universities - putting everything in classes mixing code and data at
will while hoping that OOP will make the code modular and reusable by default.
LOL Before OOP (before C++ and Jave) there was modular programming albait
some other languages had OOP for ages - whereas C and Fortran didn't. And
today, one can still learn from the modular programming method; Wiki: Modular
programming [...] is a software design technique that emphasizes separating
the functionality of a program into independent, interchangeable modules, such
that each contains everything necessary to execute only one aspect of the
desired functionality. ...". The cool things start if you program your logic/
methods/algorithms modular and treat your data in an OOP fashion. One of the
best examples doing this is the C++ STL (Standard Template Library). ...

... What is your take on entity systems (as described here for example? They seem designed to solve the problem of separating data from algorithms, and I've heard nothing but praise in the few articles I've read on them. ...
... And how you group these methods together is up to you, as I've explained
in my last two posts. What Mick West describes here is basically type-fying
modular programming to a certain degree. Removing all the objects and list
stuff he talks about, the concept boils down to;

(based on the concept of game entities being quite similar)


Code:
struct EntityData;

EntityData pd;              // player data
pd.position = vec3(0,0,0);
pd.velocity = vec3(1,2,3);
...

void UpdatePlayer(EntityData ed)
{
    Position(ed);
    Movement(ed);
    Render(ed);
    Script(ed);
    // Target(ed);
    Physics(ed);
}

void UpdateTarget(EntityData ed)
{
    // Position(ed);
    // Movement(ed);
    // Render(ed);
    Script(ed);
    Target(ed);
    // Physics(ed);
}

...

Well, that's similar to what I was talking about previously, basic building
blocks grouped by a given logic.

Using objects;

Code:
class EntityData;

class Position : Base
{
    Update(EntityData ed)
    {
      ed.position += ed.velocity*dt;         
    }
};

class Movement : Base
{   
    Update(EntityData ed);          
};

...

class A_Player
{
    EntityData pd;
    EntityFunctionList pfl;
    
    A_Player()
    {
        pd.position = vec3(0,0,0);
        pd.velocity = vec3(1,2,3);
        pd.render = { VertexList, FaceList, CULL, SHADE, ...};
        pd.script = { Idle, Move, Jump, ...};
        pd.target = vec3(0,0,0);
        pd.physics = { Rigid, ...};       
         
        pfl.insert(Position);
        pfl.insert(Movement);
        pfl.insert(Render);
        pfl.insert(Script);
        pfl.insert(NULL);
        pfl.insert(Physics);    
    } 
    
    Update()
    {
      for(i=0; i < pfl.end(), i++)
        pfl.elem(i).Update(pd);
    }
};

Methods and data are kept separated.

Usually we have;

Code:
class B_Player
{
    position = vec3(0,0,0);
    velocity = vec3(1,2,3);
    render = { VertexList, FaceList, CULL, SHADE, ...};
    script = { Idle, Move, Jump, ...};
    target = vec3(0,0,0);
    physics = { Rigid, ...};
    
    B_Player();
    
    void UpdatePosition()
    {
      position += velocity*dt;   
    }
    
    void UpdateMovement();
    
    ...                       
    
    Update()
    {
        UpdatePlayer();
        UpdateMovement();
        ...      
    }
};

As you can see, B_Player's methods like UpdatePosition are tied to the object.
Sure, one can start to build interfaces, base-classes whatsoever to abstract
it all "away", but this is exactly where the problem with all the deep class
hierarchies starts;

Code:
class B_Player : public Human -> Entity, Drawable, Movable, Pwnable 
{
    // HELL &#8595;  
}


What Mick West describes (OBJECT AS A PURE AGGREGATION) is just a way of
grouping things. But the primary assumption is the simplicity of the basic
building blocks (components). Starting from these blocks allows to form many
different groupings - fitted for a certain purpose. However, you're never
going to see such possibilities while using way too complex objects at first
instance. That's it.
 

Alienous

Member
I put together a little prototype of my player movement:

http://gofreak-ie.appspot.com/

The key problem was having multiple sources of gravity working in Unity.

Being focused on my own projects, I haven't really posted in this thread, but I'd just like to say that you're on to a winner with that concept. Depending on the level design, it could be the next game in the line of Portal-like puzzlers.

I'm doing a similar thing with, messing with gravity, but only in two dimensions. Good luck getting it to work.
 
So I've been watching most of the Adventure Game Studio video tutorials and it seems like exactly what I want to use...

one question: is there any plugin to allow video files to be played (preferably fullscreen)? considering a tv channel within something I make.
 

missile

Member
Indie GAF. Some advice.

Back in 2009 my friend and I worked on a prototype for a game idea that I came up with. I have always been good at ideas and writing and his brain works for programming. We unearthed this beast today and he has no real desire to relearn programming to update it, so he passed it onto me.

It has rudimentary graphics for the majority of things, but the basic gameplay mechanics are there for the early part of the game idea but we did nothing more with it. My programming background is 0%, so I am not sure if I could learn enough to actually do anything with it.

Any advice on what I should do? ...
You have arguably a very good reason to start programming!


Nice!
(Don't love the green trailing but ...).
Does the resolution stays the same for the full title?
 

qq more

Member
Nice!
(Don't love the green trailing but ...).
Does the resolution stays the same for the full title?

Yes, but you can resize it.

Also the green trailing is when you do a slide or a slide+jump. Anything you don't like about it? I'll see what I can do about it if so since someone else commented on the same thing.
 

missile

Member
Yes, but you can resize it.

Also the green trailing is when you do a slide or a slide+jump. Anything you don't like about it? I'll see what I can do about it if so since someone else commented on the same thing.
To be more specific, I'm not against the effect per se. It just "clutters" the
screen way too much for me and is way too catchy on the eyes. Perhaps you can
tone it down or made it fade away more quickly. Another color perhaps? Perhaps
a refraction (distortion of the background underneath each trailing sprite
while each has a slightly different index of refraction) might look cool. ;)
Anyhow, I don't assume anything is final. Just a thought of mine.
 
I think the problem with OOP started with Java - the way it was taught at
some universities - putting everything in classes mixing code and data at
will while hoping that OOP will make the code modular and reusable by default.
LOL Before OOP (before C++ and Jave) there was modular programming albait
some other languages had OOP for ages - whereas C and Fortran didn't.

That sounds like my university experience with Java. We learned about concepts like coupling and cohesion, but never really had to deal with a code base large enough that they mattered. You can get away with it a bit more when you're working on a smaller project with clearly defined requirements, but for a game I would think it's important to be a lot more flexible.

I'll have to look into modular programming -- this has been enlightening, and it's helping me rethink how I want to approach my next attempt at a game.
 

missile

Member
:D

I think I really should but I am not sure I have enough time or willpower to get good enough to actually make good on the prototype.
Going by how many here say making games with various game makers is easy,
esp. if you're a starter, you shouldn't have too much problems doing cool
stuff quickly (to get into).


That sounds like my university experience with Java. We learned about concepts like coupling and cohesion, but never really had to deal with a code base large enough that they mattered. You can get away with it a bit more when you're working on a smaller project with clearly defined requirements, but for a game I would think it's important to be a lot more flexible. ...
What I love about programming games is that one has to take everything into
account. It's a tricky balancing act. And it's one of the last resorts where
your knowledge and skill matters in the end.


Am still working on my game. Got away from graphics and stuff for some time.
I'm currently programming a text console for an in-game programmable computer,
with the console being running / executed on the same computer, used to show
for example boot-up messages, error/debug messages, or status. And you should
also be able to enter commands for execution.
 

beril

Member
Yes, but you can resize it.

Also the green trailing is when you do a slide or a slide+jump. Anything you don't like about it? I'll see what I can do about it if so since someone else commented on the same thing.

It's too opaque imo. Also somehow the green colour feels weird. We're kindof used to seeing blue/purple trails in some capcom figthers or a fiery yellow/red trail could make sense, but green just seems strange. Personally I'd probably use the original sprites palette (or with a slight tint), and lower the opacity a bit more.
 

missile

Member
little update on my shadows scene, now you can look around with mouse and turn the light on/off.. Too bad I don't have a real game idea where I could use something like this. Doh..

http://dl.dropboxusercontent.com/u/14109231/shadows/Shadows.html
Forget about the light.

Here's an idea about a stealth game using just what you have.

Pitch:
Use the light cone as a cone of sight for guards patrolling a certain area
securing a certain object. The mission of the player is to get hold of the
object passing all of the guards unseen.

Technique:
The guards moves around and turn their head to scan the area. The guard's
cone of sight is visible to the player. The player may hide behind obstacles,
blocking the sight of a guard, moving closer and closer to the mission
objective. Proper placement of the obstacles and careful selection of moving
patterns for the guard's position and sight is necessary to make the game
challenging and thrilling. The guards may also hear footsteps and may also
have a certain personality (talking with others, smoking, falling to sleep
etc.) letting them get lose of their job. The player may also have a certain
inventory useful for distracting the guards.

I think this can be a very interesting game. It is easy to make and easy to
play - yet challenging!
 

V_Arnold

Member
is loading 7-9 2048 x 2048 sprite sheets on mobile suicide?

It really depends on how big they are. If you use a reduced color palette, optimize the PNG, then it should not be a problem (or if simply the mobile is better than the lowest of low level phones), the size should not be a problem - I guess you always render only parts of it at the same time, right ? Animation sheets, I assume.
 

Dynamite Shikoku

Congratulations, you really deserve it!
Really? I've heard that Cave has stuff on IOS. I have to admit I'm a dinosaur when it comes to this stuff.

Is the concept that you hold your finger on the player?

You don't have to hold your finger on the actual ship, just somewhere else on the screen and then the ship will follow your finger movement. The Cave games have a little strip at the bottom of the screen to give you some space for your finger.
If you have an iDevice you should try one of the Cave demos or the free game 'Phoenix HD'
 

-COOLIO-

The Everyman
on a new iPad? I wouldn't think so

It really depends on how big they are. If you use a reduced color palette, optimize the PNG, then it should not be a problem (or if simply the mobile is better than the lowest of low level phones), the size should not be a problem - I guess you always render only parts of it at the same time, right ? Animation sheets, I assume.

hmm, maybe ill try that stuff but i use a lot a gradients :X

thanks for the tips though.
 

AlexM

Member
You don't have to hold your finger on the actual ship, just somewhere else on the screen and then the ship will follow your finger movement. The Cave games have a little strip at the bottom of the screen to give you some space for your finger.
If you have an iDevice you should try one of the Cave demos or the free game 'Phoenix HD'

I'll have to see if I can borrow one. I dont own a tablet or phone.

I was thinking about buying a nexus 7 or the new sony one that's waterproof so I can use it in the bath.

That's interesting though. I'm really interested to try out that scheme. Regardless I think I may finish my current game and one other educational game then try to see if I can get access to the C++ Vita SDK. PSM is really unoptimized currently.
 

Bollocks

Member
Man, I'm having a hard time getting my head around vectors in Unity.
As I learned from Math 101 you need 2 points to form a vector, a starting point and endpoint, otherwise it's just a point in space with no direction.

Yet Unity's vector3 class features only one set of coordinates(x,y,z)
http://docs.unity3d.com/Documentation/ScriptReference/Vector3.html
Where's the second point to make it a valid vector?
More so how is the magnitude variable going to work if there's only 1 point?

They should have introduced a Point3 class....
Am I missing something?
 

Feep

Banned
Man, I'm having a hard time getting my head around vectors in Unity.
As I learned from Math 101 you need 2 points to form a vector, a starting point and endpoint, otherwise it's just a point in space with no direction.

Yet Unity's vector3 class features only one set of coordinates(x,y,z)
http://docs.unity3d.com/Documentation/ScriptReference/Vector3.html
Where's the second point to make it a valid vector?
More so how is the magnitude variable going to work if there's only 1 point?

They should have introduced a Point3 class....
Am I missing something?
This isn't Unity, this is...well, everything.

For easier storage, all "Vector3" objects are presumed to have a starting point of (0, 0, 0). It makes math much much much much simpler.
 

Hazaro

relies on auto-aim
Magenta3_zps55067d0b.png


Coming along nicely. I'm anticipating to have it done by July.
Looking great
As an artist myself I'll say that art is overrated. Good mechanics and solid gameplay, show it off, and artists will come.

If it ever makes you feel better, look at Braid with Jonathan's original artwork. I enjoy all of his talks, but this one might inspire you (about 28 minutes in): http://www.youtube.com/watch?v=ISutk1mauPM
Bookmarked.
*Rasberry looks really neat

Did you ever get video footage from your PAX panel?
 

Noogy

Member
Anyone else ever discouraged by their programmer art? I shouldn't worry about it but it really does bother me. :p

Funny you post after I did. I am worried about my art. A lot.

As an artist myself I'll say that art is overrated. Good mechanics and solid gameplay, show it off, and artists will come.

If it ever makes you feel better, look at Braid with Jonathan's original artwork. I enjoy all of his talks, but this one might inspire you (about 26 minutes in): http://www.youtube.com/watch?v=ISutk1mauPM
 
Anyone else ever discouraged by their programmer art? I shouldn't worry about it but it really does bother me. :p
I am. Unfortunately, it's what I have to deal with since I can't get close by artists to "do things for projects" "for free" (basically asking to be paid out in contract in advance first). It's an interesting limitation, and it forces you to look at other ways that can play to it's strength.

In unrelated things, just wrapped up TOJam with a team of 5 (2 programmers, 2 artist, I was on it as designer/generalist cleanup), game runs, has some balance issues, major sound bugs, but yeah, it works, all in just 3 days.

Some Vine captures
https://vine.co/v/b2WV61YdgHK
https://vine.co/v/b2Wj3Quv3HQ
https://vine.co/v/b2WjmQuOwwQ
 

Bollocks

Member
This isn't Unity, this is...well, everything.

For easier storage, all "Vector3" objects are presumed to have a starting point of (0, 0, 0). It makes math much much much much simpler.

Well yeah but for example in Unity .transform.position returns a Vector3 with the position of the object. I think it's useless to have the position as Vector, a point would suffice, as that's what it is. As I said I think the naming convention is weird.

.transform.forward also returns a Vector3 but this time it makes sense as it gives you the direction the object is facing (as unit vector).
 

Dynamite Shikoku

Congratulations, you really deserve it!
Anyone interested in doing a twitter follow exchange? I made an account cause I'm going to release my game soon, but I don't want to look like a loser with no followers. If you want to, I'm @emmetmorris
 

Feep

Banned
Well yeah but for example in Unity .transform.position returns a Vector3 with the position of the object. I think it's useless to have the position as Vector, a point would suffice, as that's what it is. As I said I think the naming convention is weird.

.transform.forward also returns a Vector3 but this time it makes sense as it gives you the direction the object is facing (as unit vector).
It's just semantics. Having two separate data structures, Point3 and Vector3, that hold identical data, would require many functions and methods to overload and support both types for no apparent reason, because they're actually the same thing. Many color-based functions also utilize Vector3, because of its convenience in holding R, G, and B channels.

It's just context. Three floats. That's what it is.
 
Man, I'm having a hard time getting my head around vectors in Unity.
As I learned from Math 101 you need 2 points to form a vector, a starting point and endpoint, otherwise it's just a point in space with no direction.

Yet Unity's vector3 class features only one set of coordinates(x,y,z)
http://docs.unity3d.com/Documentation/ScriptReference/Vector3.html
Where's the second point to make it a valid vector?
More so how is the magnitude variable going to work if there's only 1 point?

They should have introduced a Point3 class....
Am I missing something?

You were misinformed in Math 101. A Vector does not have a start point and an endpoint. That is a 3d Vector is not 6 dimensional, just 3.

A Vector can be sensibly described as having a magnitude and a direction, or representing a point in space.
 

Bollocks

Member
You were misinformed in Math 101. A Vector does not have a start point and an endpoint. That is a 3d Vector is not 6 dimensional, just 3.

A Vector can be sensibly described as having a magnitude and a direction, or representing a point in space.

True, you need a direction for it to be a vector but to get the direction you need a second point otherwise it's just a single point with no information where it's going.

Ah well, at least Unity is easy to set up stuff, I think I made the right decision in favoring Unity over CryEngine.
 
Status
Not open for further replies.
Top Bottom