Tuesday, September 24, 2013

Pong networking: goal routine integrated

After fighting for at least two hours i managed to import in the new pong network the old goal detection routine from pong 2013 lite.
The main issue is always the same: all the detections that need to be shown to both the players needs to be done client side and synchronized.
Now when the ball goes into the net behind the pad a big colored "GOAL" appears in the middle of the screen (like the old version) with a crowd screaming for a second. The score will be increased and we start again as it was in the normal version.
The original game had also in the same routine the control needed to determine when the match is over, when there is the batch ball and when the last ball is played. I didn't import it yet. I will.
Now i spotted a glitch of the ball that bounce on the pad line (rarely) even if the pad ain't there. I need to fix it ... now. 

Pong 2013 lite for iOS updated and available

Apple just reviewed, accepted and published the new update of Pong 2013 Lite which was already available for android since one week ago.
The new upgrade gives the user one more rolling background with a great new space art item and manages better the battery saving of the device.

You can download it for free here: PONG 2013 lite iOS

Pong 2013 network - phase 2

The networking of Pong 2013 is indeed got in the second phase.
The networking itself now works very smoothly and I don't see glitches in the network routines.
The game itself is far away to be ready but now I can focus on porting as much as I can of the old game into the new network version.

Before getting in the second phase I added also the new background (see last update of Pong 2013 lite) which is already available for Android and under review by Apple. I took the chance also to fix an old little bug where the background started to roll even if the game wasn't started yet. Now All is ready to build the game itself around the engine.

Just that we spoke about Pong 2013 Lite I wanna thanks our friends of givemeaps.com for the positive review of the game. You can find it here below with also video-review:
http://givemeapps.com/pong-2013-lite-for-ios-next-generation-pong.html

Monday, September 23, 2013

Thanks to our followers and to whoever bought The Labyrinth Pro

I wanted to thanks in behalf of Soloweb NV, myself and my colleagues for all the people that are supporting us on all our channels.
In just a couple of weeks we had a lot of active followers on twitter, many likes on our Facebook page and the stats of this blog are showing really an unexpected interest for what we do on a daily base.
More over since we opened our social channels we have seen a big increment in the downloads of  our apps inclusive The Labyrinth Pro which is, so far, our only published paid app.

Thanks to everybody about it, your support is the most important source of motivation for us and for what we do.

Coming back to the sheer work today I've been working as you can imagine to our network channels and I'm starting now to get back to Pong 2013 network...we are close to the green light. I keep you up to date with new posts during the afternoon.

For whoever didn't subscribe yet our channels here the quick links:
Facebook Page
Twitter Account

Thursday, September 19, 2013

Cleaning code and names

I've done a big cleaning of the code: a lot of useless stuff of the initial engine's routines has been trashed along with a lot (but really a lot) old sprites, images I used for initial tests and so on. Now it's more essential and it seems that also the networking speed gets its profit out of it. Everything looks more fluid and smooth. Plus we have much more memory to spare.
I'm sure I might save some more memory by redesigning the data buffers but honestly everything works well enough right now and I don't really feel like going back in the pure networking code just to structure it better. As I said atm it does it job! Enough for me.

Once I finished with cleaning the code I came back to the pure game and I added the score table at the top of the screen: in the original game the player was just Player one, and the challenger wa just the Computer. Now because server player and client player must insert their names (for recognition in the connecting screen) we don't just have player one and computer but the real names inserted by the players at the connection menu. Cool stuff.

Keep working on Pong 2013 network

Yesterday and today I've been very busy in coding the new pong 2013 network around the network engine itself. It is such a hard code (for me at least) which I really need to work in full immersion on it with no distractions. And that's why I haven't posted a lot of words here on the blog in the last two days.
What happens is that slowly I'm basically re-coding the all game around the network engine, trying to save size, memory and data as much as I can and trying to use the old routines as much as I can. Pong networking will be basically all rewritten comparing with the normal game even if probably no-one will notice the difference.
At the moment I'm cleaning the code, deleting the old unnecessary items which is always a hard task and very risky because you may delete something you shouldn't.
keep you posted.

Tuesday, September 17, 2013

New updates, pong 2013 and the Labyrinth pro

Yesterday I've been busy with all the bureaucracy that concerns when you run a company...meetings, paper works, documents and almost nothing related to the real development of any projects.
Back to the code today but before working on Pong network as I was doing in the last 10 days I'm working to release a new quick update of Pong 2013 lite. I noticed that the downloads are a bit less so we need to push it a bit more. I will add some backgrounds in the new version, and I will fix some routine in order to make it work better.

Labyrinth Pro is performing very well on iPhone so we will keep on promote it in this way.
Our new twitter account and Facebook account are also getting a good feedback which makes us happy.

Friday, September 13, 2013

15:55 startup sequence and details

15:55 - Once I synchronized the sound of the ball I decided to give the product a better and more complete visual appeal ... deciding that was the time to move the whole start up sequence (3-2-1-go!) as it was in the normal version also in the networking version. Was thinking was an easy task...but all the issues with the synchronization and data floating around for the net didn't make it easy at all. Anyway now it works just right after the connection of the client and it appears exactly as it is in the original pong 2013 game. Along with the sequence also the background music is playing and the rolling background...rolls. I just have to fix few alignments.

16:10 -All the alignments are fixed thanks to the powerful tools of GM Studio master suite....now I start to clean up the code and the data buffers...hard task.

12:15 sound fixes

12:15 - Been working in the synchrony of the sound fx of the ball bouncing (against limits and pads) while playing in network. Now it does work better even if is not perfect yet. I can't say, so far, if the little imperfections are due to the network itself that makes the playing room running at a slower frame rate (to be honest the room runs at 60 frames per sec, but every object sent via network uses 1 cycle (1/60th of sec) to be red, drew and managed. With 3 objects (the amount atm) sent back and forth the real refreshing rate is one third of the original.
Now the background is changing like in the real game.
Now the whole code, especially the part of the buffers, needs a clean up to save memory and speed.

Work in progress: network - sounds and new features

I will work the whole day to Pong network (friendly nickname). I will update this post time by time if anything will be added or changed.

11:30 - I started where I left, so now there is a kind of playable demo with no scoring, one background, temporary control system but with the chance to connect the devices via Internet with sprites of pads and ball (with relative comet effect) transmitted and working. The sound is now there (only for the bouncing) it works but is not precise yet. By far no power ups whatsoever and I'm not even close to fit them in the network. The connection interface is temporary as well.

Thursday, September 12, 2013

Quick update

Not too much has been done today. However I compiled a PC version of pong 2013 lite (as it is, only added the keyboard and pad controls) to be sent to an Italian gm forum.
The game has got a good feedback and a forum member gave us some ideas for new power ups...not bad at all...I guess I'll be working on it!

Wednesday, September 11, 2013

Sound while networking

The whole afternoon has been spent behind the synchronization of the sound while playing on the network. It would be impossible to send the sounds to play through the net because too big so I need little data of bits that trigger the sound on the client object. Even for very basic sounds such us the ball bouncing against the pad I need a routine client side that tells me the collision has been verified (or else would be only available on the server/client device) and then one specific bit goes to 1 and is sent. The client knows that every time this bit is equal to 1 the specific sound (for this example ball bouncing against the pad) will be played.
I just fit in the sounds ralated to all the kind of bouncing and it works, needs a good tuning/calibration but it works.
I see the amount of data starts to be quite high so next priority will be to delete all the unnecessary from the code, sprites, etc etc, everything that uses memory.
Then I need to check what else needs to be sent back and forth and once the idea is complete I need to make the final buffer as clean as possible.
All this work of cleaning and re-ordering should be useful for a better speed while playing on network.

Pong 2013 Network system

Now that the engine is more or less done and is working I can concentrate to make the PRO version of Pong 2013 working on the same networking routines.
It is nothing easy but because the network itself has been developed thinking of Pong there are good chances to make it happen (let's be optimistic).

I left yesterday with some improvement with the interface of the game, the players (whether server or client) have now some messages from the system that tell them what is what (waiting for connection, client connected, hold on etc etc).

Camilla just gave me her voice for a moment to sample some sound fx (like it happened with Labyrinth)  modified with Audacity in order to look like computer spoken. Exactly the computer will tell the server "waiting for player two" and "player two connected". Then the game should start....

Tuesday, September 10, 2013

Test on the ADs for the free apps and networking

I've been checking really a long list of app advertising systems to use in alternative to the actual one (we are using adMob but lately has got issues due to the migration to the adword system).
Honestly is not a lot about the money you can raise out of in-app ADs: unless you don't have  an app that makes millions of downloads the earned amount is quite low. However often you can re-use the amount you earn as publisher by advertising on the same system and this can become interesting because you earn by promoting free apps and you will promote yourself the paid apps.

I selected few and we will run few tests within the week as quick as they review and activate our business accounts.

I worked just a bit on the network engine, focusing especially on where I can save space in the data sockets I send back and forth to make the network game possible. Few ideas came out. I will test them and let you know asap.

Advertising system

We are checking our advertising system on the free apps, the way it performs and the potential (quite low actually). We are looking for new possibilities in order to reinvest in promotion for the "Pro" apps.
Topics of the day: ad system, ad provider and how to display ads on the games... unfortunately we can code the best software ever but without working on promotion and advertising we can't make any profit out of it.

Monday, September 9, 2013

Network update

As usual lately I'm going to close the blogging for today with something regarding....the network engine we are developing.
We worked all the afternoon trying to squeeze in old routines and graphics of Pong 2013 lite in the room of network demo which is getting visually, at least, a bit better....starts to look like the origina game.

I did work on the connection interface: now whoever creates the server stays on hold in the room waiting for the client to be connected and a system message tells him that.
If the client gets connected the other pad will be displayed, the ball (inclusive of the comet effect) will be displayed and another message tells you that the connection of the two players is about to happen; few secs and the game start (very early phase of the game tho).
All looks much more smooth now.

I made an executable for windows of the demo to try to run it on different PC around the office. As internal LAN it worked only where the internal nodes are connected, or else you can't see the server but this is a limitation of the internal network and not of the system.

We will need to test it on open internet, normal house routers and 3G. But before is better to keep on working on the game.

Tomorrow is another day.

Monday blogging...

Got back to the office, fixed few things I've been working yesterday and along with Filo we tried the demo on a different network than yesterday. We tested it on an iPhone 5 and an Android tablet and all works. I know all the glitches are in there so I will fix that but the most important thing is that it works and it doesn't crash. Very simple but effective.

I'm preparing few promo codes of the Labyrinth Pro to send to iSpazio.net, an Italian online magazine which will follow live the Apple event of the presentation of the iPhone 5C/S.

Working for the twitter and facebook promotions. In the afternoon I will come back on the network coding.

Sunday, September 8, 2013

Network progresses ... part 2 of the day

After the discovery of this late morning I faced the fact I have another mountain to climb.
I spent the whole afternoon trying to write and send buffers of data in the way the system will work and the network won't overload.
Right now it's 22:15 and I managed to have a little room where the two players connected via internet can play the basic of Pong (no animations, no goal counting...only 2 pads and the bouncing ball)
It works! The are tons of glitches which I will fix but we have something to see and eventually play...at least.
Goodnight.

Network progresses on Pong 2013

Updates in real time:

12:03pm: I implemented the ball in the playing room to see if we can interact between the pads and right away I found a problem. In my mind I wanted to send (back and forth) less data possible. For a pong game I was thinking was enough to send the y coordinates of the pads and all the rest could run in local. I didn't deal with one major issue: every single machine works at his own speed. Took me one second to see the pattern of the ball bouncing on the PC was different (whether faster or slower) than the ball bouncing on the test android device. I'm afraid this will lead to only one fix: all the data of the sprite generated must be sent back and forth through the network, nevertheless the ball which can't be managed locally but by the server and sent to the client. A huge amount of work and data...

11:00am: something very similar to the control system of the original Pong 2013 lite has been fixed to control the pads in the networking playing room. I tested it on 3 platforms: iOS, Android and windows all as server and clients and it works with all of them. Atm you can see the first background of pong 2013 with the fields lines and the two pads which are controlled via network and they move properly responding the commands. Also the field limits has been implemented and they work through the network. Above the pad (temporary location) you can see the name of the player (inserted in the connection menu) which moves along the pads. On top there is the number of players connected (which will be max 2 for the nature of the game) 

9:45am: a bit distracted from the F1 GP of Italy which is in the background of my mac I managed the connection in the main room of the game (the one which will be used for playing). Once connected the two pads are shown on the screen in the right place (more or less) and a primordial control system has been added (just to check the how the pads move and show on display)

9:00am: from the temporary menu of connection the user can write (type) the name and decide to be a server within a button. If someone else is already connected as a server the user can see the list of the awaiting servers (IP and name) and can click (or tap if mobile) the server to play against him (as client). It works.

Back at work

After one complete day off (yesterday) I'm back here working mostly at the networking routines. I left two days ago very happy because we managed to make a first data communication between 3 different platforms. I will work now from the point I left trying to integrate as much as I can the new routines to Pong 2013 which will be the first game using this system.

I leave this post open in order to update it.

Friday, September 6, 2013

Networking Engine

There is a light at the end of the tunnel!
I manged to send data packages back and forth between platforms of different nature. Actually between PC/Windows, Android and iOS (iPhone 5 test).
Every "potential player" can insert the name and decide to be the server (and client of itself automatically) or to be client of someone else listening as server waiting for connection.

Just for test purposes (because the first network game we will publish will be Pong 2013 Pro networking) I stole the pad sprites from Pong 2013 and use them for the test and it works well.
Pads are moving on the different devices connected and along with them the name written on top.

Good day indeed. Tomorrow I will fix all the instabilities and  will try to implement the original controls of Pong 2013 lite in the new system.

Exciting....

Friday App Giveaway Contest

Soloweb N.V. has organized a little contest for all the Facebook fans, Twitter followers and Blogger readers.
Every Friday we will launch a little promotion which will make you gain something for free.

This week:

Download Pong 2013 Lite for iOS (iPhone, iPad or iPod) or for Android, rate it and the authors of the first 10 rates/reviews will get a promo code to download and play The Labyrinth Pro free of charge.

Pong 2013 lite iTunes link
Pong 2013 lite Google Play link

Thursday, September 5, 2013

Other updates on the network issues

Being working the whole day on the networking system for multi-player on multi-platform.
As I said already in the other post I managed to get connected the devices but organizing the data to travel back and forth is another story.
I'm using binary buffers to organize the data to be sent but every device responds in different way. The road is long but i'm on it...

First network archivement

I managed to connect via lan 3 devices of different nature. To be precise an iPhone5, an Android Sophix Tablet and a PC with windows 7.
This is just the connection routine which works properly, but they don't send yet any data and there is no data back and forward yet.
Any machine can be the server and the server will be displayed on the client's machines along with name and IP.
It should work on the open internet too because i'm using the TCP-IP system. Now I'm studing the way to send buffers of info.
For the records the routine can connect up to 32 devices. For pong 2013 2 devices will be more than enough.

Wednesday, September 4, 2013

Some updates from Android

While I was working on the networking system came out, again, the issue that from Curacao Google play merchants can't sell yet. So we have to find a new solution. We decided to host our own mini-ecommerce site on our soloweb's site and sell our apps on our own (via Paypal).

It happened with The Labyrinth Pro - Android version that now is available for sale directly from our site for 1.5Eur or equivalent in other currencies.
Here you can buy and download the app.

Unfortunately this change made me re-code the "go pro" part of The Labyrinth Lite, which has to link the new selling point page to upgrade the app to pro.
I got the chance also to clean a bit the code.
Back in the networking now.

Networking engine

In order to make Pong 2013 Pro working on network I'm developing the engine for the connection of two different devices.
Beside the fact that networking is always the nightmare of the coders, here the challenge is even higher because the goal is to connect devices of different nature: PC, Android and iOS.
The first way I used was to create an external server (based temporary in our office) where all the devices could connect to as clients.
This option has been, for the moment, put apart because it's much more easier (user-wise) that a device itself can create a temporary server and another one can connect as client. The server device will be also client connect to itself.
Most of the multi-player game I've been testing have some limitation:
a) they don't offer multy-platform networking at all
b) most of them ask the user to type the IP of the friend you're trying to connect to and your IP too.

Way complicated if your are not a geek....

So I'd like to make it as much as I can user-friendly.

The GOAL: the user one decides to be the server, he just type his name and press the button "create server" and all the other potential clients can see his name and IP in the server list. You just touch it and the connection is done. So easy to say...so hard to do....

Updates soon.

Tuesday, September 3, 2013

Twitter and Facebook accounts

Not just pure promotion but few more channels where everyone can contact us that we just opened:
Our Twitter account: @SolowebApps
Our Facebook account: Soloweb Apps FB

We will give away 10 promo codes for The Labyrinth for whoever follow us from this blog


Open projects, coming soon and work in progress

In the last two months we have been working hard to re-boot the company and turn it to a proper web/app developer company.
The first 2-3 months has been needed to release 4 products developed for iOS systems and Android. My normal approach is developing and testing on iOS first (I use an iPhone 5 but all the games are compatible with the whole bunch of apple devices) and then to port everything to Android.
Atm I'm using mostly the GM: Studio master suite which allows me to do object coding and it is way easier to work multi-platform. I like to do also few things in XCode and simple C# especially for the windows versions.
The 4 projects already developed (which i like to call "open project" because we always try to make then better and to update them) are:
- The Labyrinth Lite: puzzle game where the user tilts the device in order to play - Totally FREE
- The Labyrinth Pro: same game just better: more levels, more options, no ADs - Only 0.99USD
- Pong 2013 Lite: reboot of the legendary pong game: very good looking game: Totally FREE
- Sheepy the Sleep Aid: funny and simple app which should help you to fall asleep: Totally FREE

I will describe better these projects in the proper description page.

Between these projects Pong 2013 is the one we are dedicating most of the time right now. The Pro version of the game will come soon and will be hopefully amazing with a big arcade part and, especially, with the possibility to play against each others just connecting by internet. At the moment I'm developing the networking engine which will be quite big due to the fact that we want to interact throughout the different platforms the game will be developed: basically if you have pong on your iPhone you might play against a pong player on android or against someone who has the PC version.

Another work in progress is a fighting game with the temporary title of "The rise of the fighter". Will be developed for PC/windows and mobile devices, will present big animated backgrounds, 3D stages and digitized characters directly from our own photo-studio. A first studio to decide whether or not the game was possible to realize has been traced by the diary in this blog: Making of a fighting game.

Soloweb NV Apps and Games

Hi everybody. This is the first post of this brand new blog that will follow the development of all the projects related to the Company Soloweb N.V. for the section Mobile Apps and Games.
Soloweb is a company based in Curacao (Netherlands Antilles) that, after 10 years of experience in online gambling industry and promotion, decided to switch to Web, Apps and games development.
The blog right here is the diary of everything that concern the mobile and gaming part of the company.
My name is Ivano and I am the coder and the project manager of most of the apps and games we develop. Feel free to follow us on twitter for any news and promotion, to check our website Soloweb NV Apps and to contact me through these channels (inclusive this blog) for any question.
We have a youtube channel as well where often we publish new games or previews.
Hope everyone will enjoy our work.

Kind regards

Ivano