• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Indy Game Development: any GAF'er ever make their own game, or even make money on it?

Aren't most people's screens going to be running at 60? What are the benefits to not V-syncing?
In theory you could get lower latency and less mouse lag. Some games have especially sluggish mouse response if they use a software mouse corsor. I think triple buffered vsync can help this a bit, but it's been a long time since I've read up on that, and I don't know if it's possible/feasible with SFML in its current state.
 
Here's a question for the programmers in the group. How did you find an artist to work with? My girlfriend is going to do a lot of the graphic design work, buttons etc., but we need someone to do some cartoony type work as well. We had a friend who was interested but he's too busy now. Is deviant art a good option?

Right now I'm looking into doing my own art. So basically if I do the art my game will look really simple.
 
This thread is great for me, I just switched my university course to Computing Science with Games and Virtual Environments and I'm looking at getting a good headstart for when it kicks in in the summer.

I know Java, C++ and C# to around the same level but I've never done ANYTHING to do with videogames before and I've no idea where to start, got some links off the previous page and subscribed though. Some of the stuff GAFfers have come out with is incredible.
 
I may have asked this before, but for those of you who have done games and/or engines, how do you usually do the user interface? Use a library that gives you widgets, or write your own widget rendering and input handling stuff?

I want to at least look at one of the SFML-compatible UI libraries (sfui?), whichever was most recently updated, before I dive completely into rolling my own.
 
Ugh, I spent like half the afternoon implementing the previous/interpolated/next value system thing into my engine actors, and game loop, and when I finally got everything done it STILL looks kind of jerky when I do fast sideways scrolling past straight vertical lines. :( I guess it's time for me to start trying to grab timing values and see if I can trace any stutters.

It's so sad that it was apparently nearly perfect when I used simple variable step timing instead.


Make sure you use a super high resolution timer.

Although, if it was smooth with a variable time step, the timer must have been okay then...
 
Make sure you use a super high resolution timer.

Although, if it was smooth with a variable time step, the timer must have been okay then...
I think SFML 2.0 uses the Windows microsecond timer which is fairly accurate as far as I know. Who knows, I'm over it for now. :P I suppose I could always post a sample program and see if anyone wants to test it to see whether it's smooth on their computer.
 
I may have asked this before, but for those of you who have done games and/or engines, how do you usually do the user interface? Use a library that gives you widgets, or write your own widget rendering and input handling stuff?

I want to at least look at one of the SFML-compatible UI libraries (sfui?), whichever was most recently updated, before I dive completely into rolling my own.
I'm writing my own, but it isn't widget based and is very specific. It's been really hard work to get it how I want it, not an easy task at all, I'd recommend trying to build off a library unless you want something unusual.
 
In theory you could get lower latency and less mouse lag. Some games have especially sluggish mouse response if they use a software mouse corsor. I think triple buffered vsync can help this a bit, but it's been a long time since I've read up on that, and I don't know if it's possible/feasible with SFML in its current state.

Well if you seperate rendering and logic updates, the mouse movement would be tied to the logic rather than rendering anyway so there is absolutely no reason whatsoever to render at a higher frequency than vsync (unless you'd somehow use the extra frames for motion blur)
 
Well if you seperate rendering and logic updates, the mouse movement would be tied to the logic rather than rendering anyway so there is absolutely no reason whatsoever to render at a higher frequency than vsync (unless you'd somehow use the extra frames for motion blur)
Twitch FPS games would be one of the biggest cases for non-vsync rendering, I think. Presumably those could use both logic and rendering rates of 120 fps or more for minimum input lag. Feels goodman!
 
Twitch FPS games would be one of the biggest cases for non-vsync rendering, I think. Presumably those could use both logic and rendering rates of 120 fps or more for minimum input lag. Feels goodman!

I don't really see how rendering a bunch of frames that you won't see would be useful for anything.

Ideally you'd set your logic update to like 1000 fps, but why would you ever need to render more frames than the screen can display?
 
I don't really see how rendering a bunch of frames that you won't see would be useful for anything.

Ideally you'd set your logic update to like 1000 fps, but why would you ever need to render more frames than the screen can display?
Yeah I don't get it at all, plus with cpu cycles you save on rendering you can do more input handling? It all sounds like overkill to me anyway. 60fps shouldn't feel laggy.
 
I don't really see how rendering a bunch of frames that you won't see would be useful for anything.

Ideally you'd set your logic update to like 1000 fps, but why would you ever need to render more frames than the screen can display?
Well if you have a 60 Hz monitor, I suppose that could be true, and the key thing is to handle input quickly enough. In my case with the decoupled update rate, for instance, I have input handling on the outside of the loop at the same level as rendering. This is actually presumably a terrible idea, and I should at least run the input event check multiple times like I do the state update call.

I am almost certain that vsync'd software mouse cursors tend to feel sluggish compared to hardware mouse cursors, and I don't know if that's because of extra smoothing, buffering, interpolation etc. or because of vsync itself. :( Does anyone else who knows more than me have input on this?

It seems to me that if you use the interpolation thing we had just been discussing, combined with vsync, you could have input mouse lag of nearly two frames (33 ms), for instance, and that starts to become noticeable.
 
So you know, I have to hand it to you guys and gals. Since starting to participate in this thread, my motivation to revisit my game dev exploits has steadily increased, and today it has bore fruit. I've finally started to rewrite the engine that drove a prototype I built last year, but this time around I'm using a hybrid of OpenGL and SDL; OpenGL purely for graphic rendering, and SDL for the rest. I've gotten a basic window up and running, but now I'm having a bit of trouble wrapping my head around how OpenGL handles things. That is, the world I knew (in SDL) as far as placement goes is clearly different than OpenGL.

The basic piece of the rendering I've been working on is getting a sprite onto the screen. I'm using the approach of loading the texture and then applying it to a quad. What's throwing me off is the labeling of the vertexes in the example I found versus what I'm seeing on-screen. It's almost like the quad is technically rotated 90 degrees counter-clockwise right out of the gate. That wouldn't be so confusing if the sprite was rendering wrong. Problem is, it's right (side up).

I can post code, but before I do, anyone here with OpenGL experience willing to help me figure out why I'm seeing what I'm seeing? :)
 
Well if you have a 60 Hz monitor, I suppose that could be true, and the key thing is to handle input quickly enough. In my case with the decoupled update rate, for instance, I have input handling on the outside of the loop at the same level as rendering. This is actually presumably a terrible idea, and I should at least run the input event check multiple times like I do the state update call.

I am almost certain that vsync'd software mouse cursors tend to feel sluggish compared to hardware mouse cursors, and I don't know if that's because of extra smoothing, buffering, interpolation etc. or because of vsync itself. :( Does anyone else who knows more than me have input on this?

It seems to me that if you use the interpolation thing we had just been discussing, combined with vsync, you could have input mouse lag of nearly two frames (33 ms), for instance, and that starts to become noticeable.

I guess it depends a bit on the implementation, and I have to admit I have never coded a system where the logic and rendering are seperated myself. But yes you should have the input handling in the update loop rather than in the rendering. And when you say the input feels sluggish with vsync, I'm not sure if you mean in your own code or in other games; but with your current implementation it makes sense, and I believe there are quite a lot of games that doesn't seperate the logic and the rendering; no game I've worked on has done it at least.

Also, I might be misunderstanding your post a bit here, but if you toggle on vsync it won't necessarily lock the framerate to 60, but to whatever refresh rate the screen is set to. So if you have a refresh rate of 75 or even 120 that's the framerate you'll get with vsync (given that the game can run fast enough). And there is really no reason to actually render things at a higher rate than the screen can show.
 
I can post code, but before I do, anyone here with OpenGL experience willing to help me igure out why I'm seeing what I'm seeing? :)

If you can just paste a small bit of code for how you set up your viewport/worldview transformations (unless SDL is handling all of that for you), and the code for rendering a quad, we should be able to handle it. :) I'll try to post some sample quad code tonight.
 
Right now I'm looking into doing my own art. So basically if I do the art my game will look really simple.

We are hoping that if we put a small amount into it, we can avoid this and greatly improve the look of the app. We don't need a ton of art and some of the people on deviant art seem to be charging reasonable prices.
 
An enjoyable read so far, OpenGL on Android sounds woefully under-documented. Keep it up!

Nah not really. OpenGL on Android is pretty much like anywhere else. It's very easy to get the basics up and running, and from there on you can use any GL documentation. Obviously there's some differences between GL and GLES but not that much. It gets a bit more complicateed when you start using GLES2.0 though but once you get the gist of it, it's pretty straight forward as well.
 
I'm making my own game!

I've worked as a game programmer since 1997. I've worked for Codemasters, Sega and my last full time job was "Lead Programmer" at Bigbig studios, (as such I find myself somewhat less employed than I anticipated at the start of the year!)

Instead of leaping into another full time job I've decided to do a mix of freelancing into nearby developers and developing my own stuff. Way exciting!

I have an Android phone, a Samsung Galaxy S2, so I'm going to make a game on that and see what happens when I release it. To add to the hilarity, I'm currently developing on an NC10 netbook. Although I will be buying a decent PC soon enough, the NC10 is up to the job, which just goes to show you don't *need* super expensive/powerful equipment to make games.

I have literally just started, so, if you start following my blog, (http://jamielowesdev.blogspot.com/), you'll see every twist and turn of the story!

The blog is going to be a mix of game design and pretty technical code bits - when I solve a problem I'll share my "experience" and the solution I find. I only started the blog today, but already there's a bunch of code for reading the tilt sensors in native code, (which I found to be a pain in the ass to find out how to do...). I will make it look a bit more appealing over time too - it's a bit dry as it is now :)

So yeah, that's me!

Enjoy!
Have you tried LibGDX? I feel like a broken record but it's a really excellent framework for games on Android.

http://libgdx.badlogicgames.com/

Seriously it's great.
 
Now I'm no expect but I am doing 3d myself at the moment. Is that meant to be a hover bike of some sort? I'm not going to be much help with texturing, I'm not aware of how blender handles uvs specifically. All I can say is if that's meant to be metal it reads all wrong. Even without a spec map it just doesn't look like metal, try making an account here and using their textures as a base. Normally I'd bake an ambient occlusion map and use that as a guide for where I put my textures.
Regarding the softness of your hard edges you have two options, you either add more supporting edges like in this picture here.
Or you find the equivalent of Harden Edges in Maya for blender, basically it does something to the smoothing groups or normals or something. Just look around on the internet for that one.

Sweet thanks for the advice. Gonna look though some of those textures and see if there is a harden edges command or equivalent in Blender.

I was also thinking about instead of trying to paint everything with my tablet, go out and take some pictures of stuff.
 
If you can just paste a small bit of code for how you set up your viewport/worldview transformations (unless SDL is handling all of that for you), and the code for rendering a quad, we should be able to handle it. :) I'll try to post some sample quad code tonight.
Cool. Alright, well here is the code I'm using to initialize OpenGL with SDL:

Code:
// Initialize SDL
SDL_Init(SDL_INIT_EVERYTHING);
    
// Set OpenGL defaults
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);

// Create the window
SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);
    
// Set the window title
SDL_WM_SetCaption("SDL & OpenGL Test", NULL);
    
// Set "clear" color
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

// Enable two-dimensional texturing
glEnable(GL_TEXTURE_2D);
    
// Set projection
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f, 640, 480, 0, -1, 1);
    
// Initalize modelview matrix
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
And here is the code I'm using to draw the textured quad:

Code:
// Wipe the screen
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
        
// Draw a quad
glBegin(GL_QUADS);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
        
// Top-left vertex (corner)
glTexCoord2i(0, 0);
glVertex3f(100.0f, 100.0f, 0.0f);
        
// Bottom-left vertex (corner)
glTexCoord2i(1, 0);
glVertex3f(150.0f, 100.0f, 0.0f);
        
// Bottom-right vertex (corner)
glTexCoord2i(1, 1);
glVertex3f(150.0f, 150.0f, 0.0f);
        
// Top-right vertex (corner)
glTexCoord2i(0, 1);
glVertex3f(100.0f, 150.0f, 0.0f);
        
glEnd();
        
glLoadIdentity();
        
// Swap the buffers
SDL_GL_SwapBuffers();
Like I said in my previous post, the textured quad is rendering as expected. What's throwing me off is the comments for each of the vertexes. When I map them out on paper, they look as though they are rotated 90 degrees clockwise from where they should be. Yet in execution, the sprite appears correct in its orientation and placement.

OpenGLSDL.png


There might be nothing "wrong," I'm just confused about the location of each vertex according to the comments which I got from an example. Are they just mislabeled?
 
Incredibly new to gdx...
Having a serious issue in that's reeeaaaally pissing me off now. Trying to load in an image to use as my title screen background, I'm getting the error:

Exception in thread "Thread-2" javax.media.opengl.GLException: com.badlogic.gdx.utils.GdxRuntimeException: Texture width and height must be powers of two: 320x240

Now I don't really get this, because I've been using Mojang's Metagun as a guide and as far as I can tell Notch did exactly what I did.

A: How do I get this error to bugger off? Preferably without having to resize my image.

EDIT: Immediately after posting this I had a better idea for a google and learned what it meant that images were powers of two.
 
Like I said in my previous post, the textured quad is rendering as expected. What's throwing me off is the comments for each of the vertexes. When I map them out on paper, they look as though they are rotated 90 degrees clockwise from where they should be. Yet in execution, the sprite appears correct in its orientation and placement.

There might be nothing "wrong," I'm just confused about the location of each vertex according to the comments which I got from an example. Are they just mislabeled?

Yeah that just looks like comments are wrong



A: What the hell does powers of two even mean? I can't find anything good in the libraries or online to help me out here.
B: How do I get this error to bugger off? Preferably without having to resize my image.

Power of two means 2^x, or two multiplied with two, x number of times; so 2,4,8,16,32,64,128,256,512,1024,2048,4096 and so on.
It's pretty much the root of all of binary math and all low level graphics libraries requires textures to be a power of two number, so you'll need to resize your image
 
Incredibly new to gdx...
Having a serious issue in that's reeeaaaally pissing me off now. Trying to load in an image to use as my title screen background, I'm getting the error:

Exception in thread "Thread-2" javax.media.opengl.GLException: com.badlogic.gdx.utils.GdxRuntimeException: Texture width and height must be powers of two: 320x240

Now I don't really get this, because I've been using Mojang's Metagun as a guide and as far as I can tell Notch did exactly what I did.

A: What the hell does powers of two even mean? I can't find anything good in the libraries or online to help me out here.
B: How do I get this error to bugger off? Preferably without having to resize my image.

Powers of two: 2^n where n is a positive integer. In other words: 2,4,8,16,32,64,128,256, etc. I'm not sure if Android (I'm just assuming that by seeing OpenGL ES and Java that Android is involved) or your framework has an ability to work with this in a more streamlined way for you, but my guess is not, and you'll need to resize your image. Generally, you can just have to make the image itself in powers of 2, leaving empty space. Then when you apply the texture to whatever is receiving the texture, you just use the rectangle you need. I can't give you specific details on accomplishing this task in your framework, because I've never used it.
 
Powers of two: 2^n where n is a positive integer. In other words: 2,4,8,16,32,64,128,256, etc. I'm not sure if Android (I'm just assuming that by seeing OpenGL ES and Java that Android is involved) or your framework has an ability to work with this in a more streamlined way for you, but my guess is not, and you'll need to resize your image. Generally, you can just have to make the image itself in powers of 2, leaving empty space. Then when you apply the texture to whatever is receiving the texture, you just use the rectangle you need. I can't give you specific details on accomplishing this task in your framework, because I've never used it.

Cheers for the reply, thought up a correct google to help me too, really shouldn't have been that hard for me to work out but I was getting annoyed at the error -.-
EDIT: Just realised also that Notch did create the images in powers of two, they were just fed in as different sizes, man It's too late.
 
Sweet thanks for the advice. Gonna look though some of those textures and see if there is a harden edges command or equivalent in Blender.

I was also thinking about instead of trying to paint everything with my tablet, go out and take some pictures of stuff.
Texturing is a tough art in my opinion. I don't know much about it. I think it takes a lot of time and patience to learn 3D modeling in general, perhaps especially if you are "just a programmer" like me. Aside from tutorial videos, there is #blender on IRC here: http://webchat.freenode.net/
 
Cool. Alright, well here is the code I'm using to initialize OpenGL with SDL:
Code:
// Wipe the screen
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
        
// Draw a quad
glBegin(GL_QUADS);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
        
// Top-left vertex (corner)
glTexCoord2i(0, 0);
glVertex3f(100.0f, 100.0f, 0.0f);
        
// Bottom-left vertex (corner)
glTexCoord2i(1, 0);
glVertex3f(150.0f, 100.0f, 0.0f);
        
// Bottom-right vertex (corner)
glTexCoord2i(1, 1);
glVertex3f(150.0f, 150.0f, 0.0f);
        
// Top-right vertex (corner)
glTexCoord2i(0, 1);
glVertex3f(100.0f, 150.0f, 0.0f);
        
glEnd();
        
glLoadIdentity();
        
// Swap the buffers
SDL_GL_SwapBuffers();
I am pretty sure those are just mislabeled. It's kind of bizarre that an example would have that. I think the comments should read in order, top left, top right, bottom right, bottom left. Here is what I use:

Code:
      glBegin(GL_QUADS);
      glTexCoord2f(fpTextureX1, fpTextureY1);
      glVertex3f(fpDrawX1, fpDrawY1, 0.0f);
      glTexCoord2f(fpTextureX2, fpTextureY1);
      glVertex3f(fpDrawX2, fpDrawY1, 0.0f);
      glTexCoord2f(fpTextureX2, fpTextureY2);
      glVertex3f(fpDrawX2, fpDrawY2, 0.0f);
      glTexCoord2f(fpTextureX1, fpTextureY2);
      glVertex3f(fpDrawX1, fpDrawY2, 0.0f);
      glEnd();
 
How can I get opengl bindings? Not SFML or SDL.
You should be able to use plain Visual Studio. I mix normal OpenGL C++ calls with SFML (or SDL) calls. Or did you mean another language?

These pages might be of use:
http://www.opengl.org/wiki/Getting_started
http://www.opengl.org/wiki/Language_bindings

*edit*

After my test with 400 animated bats, I added some code to, assuming I did it properly, delete 100 of the bats and recreate 100 new ones with some random parameters every 2 seconds. There did not seem to be any noticeable performance problems or memory issues, so pretty much everything is marked off my immediate to-do list. Next up, the great user interface/menu system adventure! Scary...
 
An enjoyable read so far, OpenGL on Android sounds woefully under-documented. Keep it up!

Have you tried LibGDX? I feel like a broken record but it's a really excellent framework for games on Android.

http://libgdx.badlogicgames.com/

Seriously it's great.

Thanks Rekubot!

I'm going to doodle about just using native code for a while. I haven't got my head round the whole system yet. Once I do, I may well go for something like LibGDX. Cheers!
 
Yeah that just looks like comments are wrong
I am pretty sure those are just mislabeled. It's kind of bizarre that an example would have that. I think the comments should read in order, top left, top right, bottom right, bottom left.
Thanks, guys. I know it's probably silly to nitpick over code that works - especially the comments - I'm just trying to make sure I understand everything it's doing. It's my first foray into using OpenGL for rendering, so I'd like to not develop any bad habits early if I can avoid it; those come later when I'm strapped for time and need to just make something work. :)

I spent a bit of time folding some of the utility functions for loading a bitmap to a surface (and to an OpenGL texture) into a class last night, and I found myself with a question about the classic battle of stack versus heap. The class instance behaves the same in my code whether I declare/initialize it with "new" or like any other variable, with the only difference being how I call its member functions. I know there is a difference between the two in terms of where they reside in memory. In the world of game programming, is there a best practice?
 
I spent a bit of time folding some of the utility functions for loading a bitmap to a surface (and to an OpenGL texture) into a class last night, and I found myself with a question about the classic battle of stack versus heap. The class instance fundamentally behaves the same in my code whether I declare/initialize it with the "new" operator or like any other variable, the only difference being how I call its member functions. I know there is a difference between the two in terms of where they reside in memory, but in the world of game programming, is there a best practice?
I would say, in general, do not create objects on the stack unless you know they are small and there are not very many of them. I prefer to use "new Whatever" in general and then delete the object when I am done with it. You have to do things this way if you want to create an object in one method (say, a factory Create method) and then destroy it somewhere else (say, in a Destroy method). Otherwise the object dies when the stack goes away.

I may be biased though since I am used to working on embedded systems that have smaller stack sizes than a typical Windows application. I would still be leery of making a method/function that needs to create a ton of disposable objects which will then be deleted when it returns -- this would technically mean the stack scope is OK, but it seems to me that it could indicate an efficiency and/or design issue with the program.
 
You should be able to use plain Visual Studio. I mix normal OpenGL C++ calls with SFML (or SDL) calls. Or did you mean another language?

These pages might be of use:
http://www.opengl.org/wiki/Getting_started
http://www.opengl.org/wiki/Language_bindings

*edit*

After my test with 400 animated bats, I added some code to, assuming I did it properly, delete 100 of the bats and recreate 100 new ones with some random parameters every 2 seconds. There did not seem to be any noticeable performance problems or memory issues, so pretty much everything is marked off my immediate to-do list. Next up, the great user interface/menu system adventure! Scary...

What if I want to get opengl 2.0+ bindings? I think windows comes with the software version of opengl.
 
Hey Blizzard, quick question. I don't know if you know what kind of game you will be doing with the engine you are working on. But do you know how you will be dealing with depth sorting? SFML doesn't support it out of the box and sorting the object list every frame is probably not the best first choice.
 
A couple of years ago I made a Sierra style parser adventure game during a game jam. It has the catchy name of: The Secret of Hutton Church of England Grammar School (the theme was based on random wiki articles)

hutton1.png


http://www.tom-simpson.com/

Made using AGS, which was used in Gemini Rue.. I guess that's the most well known AGS game.

Oh sweet! You did the Portsmouth Uni Game Jam one, awesome. :D The game looks neat too, especially for 5 days' worth of work. Did your team win?

We did the same thing last year, and came up with a simple score-based action game in Flex, which was named Miriam Hopkins: Mummified Werewolf (random wiki articles, same as yours):

gamejam2011_screen_0.png


gamejam2011_wolf_idle.gif
gamejam2011_wolf_run.gif


I'll have to ask our coder if he can upload the final product. Our game won Best Design and Best Animation and a confirmed second in Best Game Overall. :3
 
What if I want to get opengl 2.0+ bindings? I think windows comes with the software version of opengl.
As far as I am aware, your video card drivers will dictate how well Windows supports running OpenGL applications.

For developing them with the newer stuff, I don't really know how it works. I saw one mention of GLEW (http://glew.sourceforge.net/) and/or GLEE (http://www.opengl.org/sdk/libs/GLee/) for handling extensions. This page might also be useful for you: http://www.opengl.org/registry/#headers

Hey Blizzard, quick question. I don't know if you know what kind of game you will be doing with the engine you are working on. But do you know how you will be dealing with depth sorting? SFML doesn't support it out of the box and sorting the object list every frame is probably not the best first choice.
The first game I want to make is turn-based strategy, so depth should not be a big deal for me. I suppose I am just planning to draw actors of a specific category at different places in the render cycle, so all actors of one category would be above all actors of another category.

This will require multiple collections of actors, however, and I suppose this would be a bad idea in some (all?!) cases. Advice welcome!
 
Oh sweet! You did the Portsmouth Uni Game Jam one, awesome. :D The game looks neat too, especially for 5 days' worth of work. Did your team win?

Yep, went to Portsmouth Uni and the first Game Jam was the summer I graduated, wanted to do more but had jobs the following years.. although did pop in one year to see what the teams were making, lots of good stuff! I probably saw yours, can't remember though sorry! It was towards the end of the week, everyone looked a little stressed..

We won 'Best looking game' and were tied first for the votes from the other teams.
 
How big a faux pas is it to create my own on screen keyboard in my Android game? For technical reasons I'm not able to use the default one. I will still allow input via a hardware keyboard.
 
How big a faux pas is it to create my own on screen keyboard in my Android game? For technical reasons I'm not able to use the default one. I will still allow input via a hardware keyboard.

I don't think it would be that big a deal, users pretty much expect games to have their own custom UI for the most part. In fact if it fits the theme of the game (like, say, a pixel art keyboard) it would fit things much better I feel.

Then again users could have bad experiences with games that have done likewise so I dunno. I say go for it since using the default seems to be a non-option for you anyways.
 
I don't think it would be that big a deal, users pretty much expect games to have their own custom UI for the most part. In fact if it fits the theme of the game (like, say, a pixel art keyboard) it would fit things much better I feel.

Then again users could have bad experiences with games that have done likewise so I dunno. I say go for it since using the default seems to be a non-option for you anyways.
Yeah, I'm slightly concerned about people giving negative feedback about it, especially if they like a different keyboard layout or something. Or maybe there's something I'm overlooking by doing it.

The reason I can't use the software keyboard is that my ads are displayed in portrait and the game is in landscape, thus the app must actually be in portrait (with everything rotated) and the keyboard too (thus not matching the game).

Given that it's all inside my game anyway and not a normal text box, and everything is rendered in Bitmap Fonts I won't be able to deal with special characters anyway so people would have a suboptimal experience even if I could get the on screen keyboard going. Perhaps it's better to only show the letters that people can use. Also as you say it's nice to keep inside the game's aesthetic. I hate it when games use toasts and Android menus.

It's only for typing a name in anyway so perhaps I'm overthinking this.
 
Right now I'm looking into doing my own art. So basically if I do the art my game will look really simple.
Simple (blown up as much as possible) pixel art really helps with this. You can still make it look pleasing without looking too amateur or concept-y. I didn't have a clue about game art before working on games but very simple pixel art solved a lot of time, stress and trouble! :)
 
Simple (blown up as much as possible) pixel art really helps with this. You can still make it look pleasing without looking too amateur or concept-y. I didn't have a clue about game art before working on games but very simple pixel art solved a lot of time, stress and trouble! :)

True dat
 
Simple (blown up as much as possible) pixel art really helps with this. You can still make it look pleasing without looking too amateur or concept-y. I didn't have a clue about game art before working on games but very simple pixel art solved a lot of time, stress and trouble! :)

You have any links I could read? Sutes where animating pixel art is broken down and explained don't seem to exist.

And XNA xml is truly a cunt. Took me 2 hours to figure out how to write an xml file. And it was simple as hell too.
 
You have any links I could read? Sutes where animating pixel art is broken down and explained don't seem to exist.

And XNA xml is truly a cunt. Took me 2 hours to figure out how to write an xml file. And it was simple as hell too.

They still haven't made that easier? Jeeze.
 
Wondering if anyone could enlighten me on this SFML Error. I'm trying to accept user input via the console to set a custom resolution to the window which stays in the 1024*768 limit.

#include <SFML/Graphics.hpp>
#include <iostream>

using namespace sf;
using namespace std;

int main(){

int i, j, k;
int width, height;

cout << "Enter background colour values: " << endl;
cin >> i >> j >> k;

while ((width > 1024) || (height > 768)) do {
cout << "Enter resolution: " << endl;
cin >> width >> height;
}

//Setting up the video mode (width, height, colour depth).
VideoMode VMode(width, height, 32);
RenderWindow Window(VMode, "SFML Coder Tutorial - Empty Window");

//While the window is open, wait for events.
while (Window.IsOpen()){
Event Event;
while (Window.PollEvent(Event)) {
switch (Event.Type) {
case Event::Closed:
Window.Close();
break;
default:
break;
}
}

Window.Clear(Color(i, j, k));
Window.Display();
}


return 0;
}

It's giving me the errors
"1>main.cpp(21): error C2226: syntax error : unexpected type 'sf::VideoMode'"
"1>main.cpp(22): error C2065: 'VMode' : undeclared identifier"

Without the while loop around the enter resolution bits it works fine but the exercise asks you to prevent the user from entering a higher resolution than this...
 
Without the while loop around the enter resolution bits it works fine but the exercise asks you to prevent the user from entering a higher resolution than this...

You have a syntax error. C/C++ does not have a "while -> do" construct. You either use

Code:
while(condition)
{
   stuff;
}

or,

Code:
do
{
   stuff;
} while(condition);
 
You have a syntax error. C/C++ does not have a "while -> do" construct. You either use

Code:
while(condition)
{
   stuff;
}

or,

Code:
do
{
   stuff;
} while(condition);

Herp, still somewhat new to C++. Thanks!
EDIT: Yep, fixed it, the daft thing Is I'm normally a Java coder and that doesn't use a While...Do loop either so I've no idea why I was trying to use one here.
 
I was looking through iOS games of last year that I missed and I just realized that what I'm working on is pretty much a clone of Battleheart.... ugh
 
Top Bottom