Experiment - game in 7 days!

As the title says, I’m going to write a game in 7 days or so.
It will be an experiment on myself, and on the community as well.

  • Why I think this is the right place for this post.

I’m using cocos2d-x
If I can, then others can too. So this should inspire others.
It will be fun if someone wants to join and also write his/her game in 7 days.
I’m kind of wondering if there is someone like me.

  • What you will see in this post.

Some information about me, my progress, maybe some tips, humor, sarcasm, more sarcasm, and maybe, only maybe statistics of downloads and revenues.

  • What you will not see in this post.

My name, the name of my project or any other information that may identify me.

  • Some information about me.

I’m in a depression. In a deep depression. And I have good reasons for this.
And now I’m in an uncomfortable psychological environment, although it was worse.
I know well what psychological violence is. Because of this, I have several psychological problems including perfectionism. I tried to write the project many times in more than a year. But every time I feeled that this is not good enough, that it will not be successful, that it is not possible to create something beautiful in this place, that I need to start again.
Well, I start again.
Sounds like a plan.

On the bright side - I know C ++, design patterns, and basic things about this engine.
And I’m able to do some graphics myself.
Oh, yes, and I’m a graphic perfectionist, too.
It will be interesting, is not it?

  • Today is Day #0

I am preparing my workplace. :heavy_check_mark:
I format my pc. :heavy_check_mark:
I write this post. :heavy_check_mark:
I choose which of the two concepts I will work on. :heavy_check_mark:
And I write the basic mechanics on paper. :heavy_check_mark:
Do not say that I’m the only one who uses paper for this. Hey, It’s convenient to draw on it!

Feel free to comment or join the experiment!

7 Likes

Maybe join ludum dare? link

Thanks for the comment! I’m not quite comfortable with this, because

Do not worry, if this is not the right place for this, or if no one is interested, then this post will simply get lost in the depth of the forum.

hey! i tried this as well :smiley:

Polished game a week. with ads/iap/analytics and submission to appstore and google play. But i got really bored after 5 games.

1 Like

Hey, thanks for the reply!

Why? Were not happy with the result?

The results were ok… I guess after 2-3 games i felt like i wasnt learning anything new… so for my 5th game i tried a 3d game.

I understand. Well I have a complicated concept too, but I think that if I start it now, then I will not finish it… again.

I believe once you start something you should finish it, no matter if it takes a little more time then expected. Achieving goal should be the priority not completing it on time. [quote=“ProjIn7, post:1, topic:36157”]
I’m a graphic perfectionist, too.
[/quote]
sounds like me :slight_smile:,
i welcome you to experiment on your concepts and game ideas and will be looking forward to it. If you need assistance just ask away someone will surely come forward to help you.

Best of Luck :slight_smile:

3 Likes

Thank you for your kind words! :slight_smile:

3 Likes

Paper is indeed amazing for game design :wink:

Looking forward to seeing how you get on! :smiley:

1 Like

Thank you so much! :sunny:

Hi!

First I want to say thanks to everyone for your comments and likes! You are amazing!

  • Today is Day #1

I chose to work on the concept #2. This is simpler than the concept #1, but it requires the use the features of the engine that I have never used before.

So today
I read the documentation. :heavy_check_mark:
I do some tests to be sure that things work as I expect. Almost done. :heavy_check_mark:
I draw a simple graphics, only for the prototype. :heavy_check_mark:
I develop the core architecture, still on paper. Almost done. :heavy_check_mark:

If everything will be ok, Then tomorrow I will have a working prototype.

  • A few words about the concept.

It is hard to describe the concept and not be identified. I will try.
The object does its way through some abstract space, on its way there are obstacle-objects.
Is it sounds familiar? Well, at least the rest of this concept is original.

Actually the object moves only along x, and these obstacles move along the y.
But it should look like the object is moving, and the obstacles are static.

And I have a question

Is it possible to draw a line, add it as a child object to the Node, and then move it?

Of course I have other questions, but I think that I will try to find the answer myself.


  • A few words about different screens.

Before drawing graphics I had to decide how I would support different screens.
cocos2d-x has a really elegant solution for this. But it may seem difficult, especially the first time.

So I thought that it might be useful if I share my thoughts on this with this particular project.

I need the portrait orientation. I need the height of my layout to be fully displayed. I’m fine if the width will be cut, but I want to know how much it may be cut. And I do not want black borders.

As I understand it, the engine supports Immersive mode by default if the device has an android version 4.4 or greater.
Looking at the android dashboards I decided to set minSdkVersion = 19 and do not worry about Status bar and Navigation bar.

In this case, the extreme cases for the aspect ratio are 16/9 and 4/3. Like 2560/1440 and 2560/1920.
Right?

So I have

static cocos2d::Size designResolutionSize = cocos2d::Size(2560, 1440);

static cocos2d::Size resourceResolutionSize2560 = cocos2d::Size(2560, 1920);
static cocos2d::Size resourceResolutionSize1280 = cocos2d::Size(1280, 960);
static cocos2d::Size resourceResolutionSize640 = cocos2d::Size(640, 480);

and

glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::FIXED_HEIGHT);

auto frameSize = glview->getFrameSize();

if (frameSize.height <= resourceResolutionSize640.height)
{        
    director->setContentScaleFactor(resourceResolutionSize640.height/designResolutionSize.height);
}

else if (frameSize.height <= resourceResolutionSize1280.height)
{        
    director->setContentScaleFactor(resourceResolutionSize1280.height/designResolutionSize.height);
}

else
{        
    director->setContentScaleFactor(resourceResolutionSize2560.height/designResolutionSize.height);
}

There are only 2 “But”

1 . What if the Immersive mode is not supported? I’m not sure that this is possible, but I know that many vendors modify the firmware. In this case, if the screen has a 4/3 aspect ratio and has Status bar and Navigation bar, then we will have black borders.

Possible solutions

Use wider background images.
or
Use Director::getInstance()->setClearColor(const Color4F &clearColor) The borders will not disappear. But in some cases, users will not notice the borders.

2 . I know at least 2 exceptions when aspect ratio > 16/9.
854/480 (low end phones) and 2880/1440 (LG G6, Samsung Galaxy S8)

To support these devices, you need to remember that the UI and important objects must fit inside the area 2/1.

This is true only if

I need the portrait orientation. I need the height of my layout to be fully displayed. I’m fine if the width will be cut, but I want to know how much it may be cut. And I do not want black borders.

And if you use multi-screens support as I do.

Criticism is welcome.

updated
variables renamed to make it more clear

1 Like

Is it possible to draw a line, add it as a child object to the Node, and then move it?

DrawNode::drawSolidRect(…)

Maybe there also a drawLine Method in DrawNode… But i thin Rect would also work fine.

1 Like

Thanks a lot! :sunny:

Api ref says that the method is
cocos2d::DrawNode::drawLine()

1 Like

Okay, I updated my post and I now think I need to get some sleep.

Have a nice day everyone! :slight_smile:

5 hours of sleep is definitely not enough.
My first thought was - I do not want to wake up.
My second thought… Never mind!
But my third thought was - I have not finished work on the architecture yet.

After some thought, I decided that this is the best time to work, because no one will distract me now.
Besides, I always feel better after a morning shower.

And you know what?
During 20 minutes in the shower my mind did more work than during the whole previous day!
Take it as a tip. :wink:

Despite the fact that the concept seems very simple, the difficulty is that obstacles are not just objects in some space. Obstacles are contained in logical blocks. In addition, the blocks contain lines that define how the object1 will move.
The blocks can have different content and size.

Just to explain why it took so long.

@Lazy_Gamer
I was somewhat excited, and did not ask it immediately.
But I was wondering, do you draw graphics yourself? What tools do you use?

Hi again! How are you?

I finally realized how I should do this, in the process I found a logical error in how I move my object1 and updated my knowledge about the fundamentals of geometry. :smile:
You should see my desk now! It is full of colored paper with layouts, parts of code and sketches of graphics.

  • Today is Day #2

I write the code of the PlayScene and other classes related to this scene. :heavy_check_mark:


I’m behind my schedule, because the implementation turned out to be more complicated than I thought before.
But if I were successful in everything it would not be so interesting.

And I have the question.
Is it necessary to have a debit or credit card to get started with the ad network? Or start testing the ad network?
I plan to receive my new card only next week and would like to know if it will be a problem.

Hi everyone!

The prototype works. I didn’t even use debug.
This is why I prefer to invest time in developing an architecture instead of starting to write the code immediately.

I congratulate myself, this isn’t a prototype anymore.

Now I have to add a few features to increase retention and revenue. Then ad networks, sharing, etc.

  • Today is Day #3

I’m doing nothing. :heavy_check_mark:

I’m not happy to say this, but today I will not be able to work.
Today something will happen that I did not expect.
And I can not work in such an environment. Actually, I can, but it always ends up in the fact that I hate everything including my project. So I will not risk. Just try to take my headphones, turn on the music and get some sleep.
I will also try to get some understanding of how to work with the SDKBOX.

Since I do not receive any feedback in 2 days this gives me the feeling that I’m doing something wrong.
Probably you expected to see the code or graphics.

I’m sorry if I disappointed you, but I thought that a true story would be more interesting/inspiring. Because each of us has his/her problems, and it’s inspiring to know that you are not alone with this, and that others have problems too.
Nobody is ideal.

I do not show my concept or graphics, because show it is equally to identify the game -> identify my company’s name -> identify myself.
And I’m not ready to show myself to the world and say that I have so many problems, especially psychological ones. Because who wants to play a game written by someone like me in 7 days? People want the game to be written by successful people in a large beautiful office.

And I’m sorry for my english.

2 Likes

First, I just want to send encouragement your way, I am really interested in your experience, thank you for sharing it!

I do not show my concept or graphics, because show it is equally to identify the game -> identify my company’s name -> identify myself.
And I’m not ready to show myself to the world and say that I have so many problems, especially psychological ones. Because who wants to play a game written by someone like me in 7 days? People want the game to be written by successful people in a large beautiful office.

I disagree with this conclusion; I think people want to play games regardless of who created them, and on a deeper level they like to connect, so your story may well inspire and generate interest in your game.

But do what you need to, we are here to encourage and support! Just know that there are those of us following along, even if we don’t (yet) know much of what you are doing.

3 Likes

RIP :smiley: your project :smiley: 7 day past - finally installed cocos :slight_smile: and imported SDKBOX :smiley: how to configure Android now?:smiley: