Experiment - game in 7 days!

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:

Thank you so much! :sunny:
I can’t even say how thankful I am to you!

I agree, 99,9% of users will never see this topic, I do not think they even know about this engine.
I’m not sure that this will generate interest to the game, since people who read these stories and people who play this type of games are different.
In addition, imagine that you are releasing your game and honestly say that you have some psychological problems and you often feel that your work is not good enough, that your code is not good enough. But in the future you will have to communicate with colleagues and possibly publishers. I do not know about colleagues, but in the case of publishers this will lead to the fact that you will be offered a bad contract, simply because they will be sure that you will agree to it.

I will provide more information when I will use the SDKBOX and other things.
Should I provide more information about architecture?

I’m not sure I understood you correctly.
Do you mean that the use of the SDKBOX is so hard?
Or is it just another type of motivation? :smile:

  • Today is Day #4

I’m doing nothing. Again… :heavy_check_mark:

I’m very sorry about that.
But I’m sure that many of you are also unable to work if 4 men will breaking the wall and ceiling in your bathroom. And it would be much much better if they were able to not talking in this process!
And you know what? They did not even finish the work today. They just left their instrument in my apartment and left.
So the last 20 hours were hard, I only had 5 hours of sleep (which will have an effect in the long run), and I only have 3-4 hours before they return.
I’m lucky, is not it?

If I knew that this would happen, then I would not have run this experiment. Or not this week.
But I’m still going to finish this project!


On the bright side - I found Mobile Ad Networks Comparison Spreadsheet on the SOOMLA’s blog.
I also did some research on ecpm, and decided that I would use Chartboost’s rewarded video for the current project.

Use admob :smiley: for everything - it is best choise and most universall… later you can mediate from admob to any other network. It also have sdkbox support so it should be easy.

Thank you very much for your answer! :smile:

Could you please explain why you think it’s better?
Do they have their rewarded video now?

They are just #1 in fill rate and very good ecpm.

Well, I have only theoretical knowledge, but it seems that the fill rate is almost always very good for many networks.
http://blog.soom.la/2016/09/fill-rate-is-dead-mobile-ad-networks-never-run-out-of-ads.html

But I will be very grateful for information regarding ecpm for the rewarded video.
I will also try to find this information on the web.
Thank you for your advice!

Hey! If you have at least one successful game you may know that every network except Admob is a total waste of makeup (;

Only I can use sarcasm in this topic! :smile:

In fact, their statement causes more confidence, since they have access to statistics of more than one game.
Maybe I’ll try AdMob in the future, but for now I’d prefer a more good support.

1 Like

Hi again!

  • Today is Day #5

I write additional functions, such as coins, etc. :heavy_check_mark:
I finish the graphic sketches. :heavy_check_mark:
I finish this experiment on this forum. :heavy_check_mark:


  • The serious part

I have the playable project and I do not see any problems on my devices.

Now I need to finish graphics. This is about one day of work, including different versions of the icons.
If you can not create graphics yourself, then I advise you to look for a designer.
Since while you are thinking how to create not so bad graphics to show your project to the world, someone thinks how to show his graphics to the world. Designers need to fill their portfolio too.

Then I need to add ad networks, analytics, and sharing. Maybe IAP too.

So I want to say that it’s possible to finish the project (game is like most of KetchApp’s games) in one week.
I will recommend the engine to others.
But I will mention about the community as well.

Do you remember what I said in the beginning?

Well, I think my experiment is over here.


  • The sarcasm part

I’m so inspired by this community!
Especially when Community Evangelist says that an event in the community is

So most are concerned only about their own business. But for some reason they have time to whine that they do not need ‘a dysfunction EDITOR’.


I want to say an honest ‘thank you’ to those who were kind to me, but in general my impression of the community is not so positive.

So goodbye. Maybe we’ll see each other in a month or so when I have some statistics.