I am delighted to be here to settle a little score with myself :)

Hello, Solar2D World,

I am delighted to be here to settle a little score with myself.

CHAPTER 1

“Don’t worry, there is only one chapter.”
Anonymous

“It’s a Long Way to the Top (If You Wanna Rock ‘n’ Roll)”
Bon Scott

To tell you a ‘little bit’ about myself,
and why I am fortunate to be a part of this brilliant forum,
and why I am using Solar2D, it could all be summed up as such.

I actually have an awesome card game (that I came up with in 2001)
that I started coding 12 years ago, in Corona SDK.

No, I have not been working on it for 12 years!

Kind of wish I had!

But, a card game?;
I know, a card game sounds boring, right?, I agree.
But it’s actually cool, very original, if I may humbly say.

I see it as a mash-up of Chess and Rummy.
Though, don’t let your mind run too wild.
I don’t want to over-rate or ‘oversell’ my game.

Though $55.89 sounds like a great place to start!
– Foreshadowing for the History-of-Numbers dweeb :wink:

And, I know pricing apps/games doesn’t work that way.

But, it’s a strategic card game, and not purely a game of dumb luck,
nor cards battling it out to the bitter end, nor any check-mating.
And, I find it to be a blast.

But we all think our own games are a blast, right?
I’m willing to bet that isn’t entirely true.

I have had lots of dumb ideas.
But that is between me and Cheech and Chong.

But not this game. My game? Cool idea.

It started out as a multiplayer game, but when I started programming it
(in what I will happily call, Solar2D, after this post:) (X not Twitter)
I programmed it as a single player game; and, to my slight-surprise,
it rocked when I adapted it to a ‘solitaire’ game.

Prior to even programming my game,
I spent a decade (off and on) massaging the rules and stratagems before I ever got to Corona.

Then, when I learned of the existence of Corona,
I was excited as all get out; as I could digitize my paper game.

That would prove to be more of a serendipitous surprise
then I could have ever imagined at the outset of game design, back in 2014.

To give you an idea.
Rather than having the cards space/place themselves on the screen at varying distances from each other, ie. depending on the device screen they were on, I locked my cards to very specific (x,y) positions.

Admittedly, this was done out of shear, shinny ignorance by me not wanting to deal with what seemed to be a nightmare I have not yet had; and that is, dealing with display.screenOriginX and all the other unforeseeable, display.contentWhatNots() when it came to aligning and positioning.

“Mr. Murphy, would you like to work this problem out on the board?
No, thank you. I’ll take the zero.”
Eddie Murphy – Delirious

This decision, to bypass a more robust screen alignment scheme of my display objects,
also started seeding my newbie-brain with haunting issues
regarding my choosing to place everything - and I mean everything.
sprites, buttons, text labels, e v e r y t h i n g relative to …drumroll please…

display.contentCenterX, display.contentCenterY -- Why not the easy way out?

It seems that dealing with screen edges of mobile app design
is like a Flat-Earth’r trying to keep things from falling off of the Earth.
I’m with Elon Musk on this issue. :wink:

But, I was afraid my game wouldn’t pass the graphical smell test;
ie, at least in the minds of app store quality control.

Note: I have only seen my game through the Solar2D simulator.

I hadn’t read the online build/publishing documentation yet.
I was barely keeping up with LUA.
Which, btw, I LUV, LUV, LUV, LUA!

LUA takes me back to the Macro Media, Director: ‘Lingo’ and Flash: Action Script days
where I began my programing journey.

I have read introductory books on C and C++ and had an idea what was going on there,
syntax-wise, but I never programmed in those languages.

I have seen some java and javascript too.
As well as, an HTML in a weekend book, circa 1997.
And have built some “graphically stunning” HTML-ONLY web sites back in the pioneering days of HTML.

Oh, the days of simplicity, Mr. Tim Berners-Lee.

Actually, since I’m here, and you are ‘presumably’ here.

--[[
Temporary-Tangential-Rabbit-Hole Ahead 
Swerve to miss at your own risk
Oncoming traffic closer than appears
Proceed with caution!
--]]

My first experience with coding was on a Ti-92 qwerty keyboard, graphics calculator
…back in 1995!

I was 25 years of age, and btw, when I was 14, in 1984,
I wasn’t influenced like many-a-lucky junior high kid with an Apple Macintosh computer.

I just had a walk-man, a drum set, and a girl friend.
I ain’t complaining!

But, envious I was (AM) of those computer geeks!
I was a geek with a drum set and long hair, and a girl friend.
I got a computer now too!
:wink:

Anyway, when I was 25, I was in community college (not band camp) making up for having too much fun in high school.

I was engaged in all things un-academic at that time.
No drugs or alcohol. I was too smart for that at least.

Growing up, I just wanted to be the next 27-Club member.
Chillin’ with the likes of Jim Morrison and Jimi Hendrix,
and soon-to-be Mr. Cobain, whom had died the year prior to me go into community college,
not band camp, remember?

The only problem?
I wouldn’t O.D. on drugs or from self inflicted, fatal wounds.

But, I did want to be a rock star, nonetheless;
and later in Life, wanted to live as long as Keith Richards!

And, being 56 now, I don’t have the desire to join the 57 club either.

Anyway, the story here, is that, in 1998, when I was a waiter at Chilli’s in Kerrville, Texas
(age 28 for those not keeping track) I programmed in my Ti-92 (in a BASIC-type language)
the entire Chilli’s menu with drop down menus and a jagged LCD red-hot-chilli-pepper animation on execution.

In a way, as far as I knew anyway,
I had the first ‘SMART-LIKE’ device in my hands.
Long before smart phones hit the market.

Though, I’m sure Mr. Dobbs was scribbling some ideas onto a napkin at Hooters.

But, when I had that tiny, taste of programming. I was hooked.
But, the thought of pursuing a computer science degree had not dawned on me.
I didn’t know what computer science meant.
Just carpenters of computers in my mind.

I didn’t want to build computers.

I wanted to ROCK!

“I wanna Rock!”
Dee Snyder

But, when I was in community college, (not band camp)
I was making up for what I had not learned in High School.

I had no career in mind.
I just wanted to feel like Eratosthenes!
Or, Carl Sagan at the very least.

Algebra
Trigonometry
Astronomy (not astrology) – please don’t ask me my sign. That just kills date night.
Philosophy
Music Theory
Comedy

Don’t get me wrong, I’m no Einstein or Hawking, more of a ‘Gilligan the Great’.

But, I did unknowingly, reinvent the wheel, and apparently, discovered what Issac Newton,
and the other dude who is often given credit too, Mr. Liber or something like that.
I’m too lazy to google it.

Besides I don’t want you guys to think I have too much useless info in my brain;
but, apparently, I misshapenly stumbled upon the ‘derivative.’

When in community college, (not band camp)
I was exploring mathematics for the first time,
and I dumbly, took the square root, of the square root, of the square root, of the…
do you see where I am going with this?

Well, my physics teacher (community college, not band camp)
at that time told me that what I had done was something dealing with the derivative.

I didn’t know what he meant.
The closest guess I had was that it was short-slang for the song,
Dirty Deeds Done Dirt Cheap by AC/DC.

You see, because it starts with the letter ‘D’?
Ok, that one went over your head. It’s ok, it doesn’t mean you are dumb.
It probably means that joke was dumb.
Can’t win em’ all.

But, I had no idea what he meant when he mentioned the word, derivative.
He just smiled at me. Looking at me, a deer in head lights.

To prove to you that I don’t know what I am doing, I never made it to calculus.
Though I could now, if I so chose, but, to this day, I couldn’t find the derivative on an SAT test.

I CAN take the square root, of the square root, of the square root, of the…
But to apply that in a calculus setting, I would be a deer in head lights!

Speaking of which, I see light at the end of the tunnel.

--[[
You have safely exited the:
Temporary-Tangential-Rabbit-Hole

Happy to see you made it!
--]]

To get your mind back to where we were. If you are still here, that is.

I was afraid that by neglecting to latch objects to screen edges,
and give the overall real-estate screen-space the proper interactive functionality
and ‘full-screen look’ that Apple and Android prefer,
or at least with proper ‘filler’, which is what I ended up doing (ie. non-interactive ‘filler’);
but, I was still afraid my game was going to be dismissed by app store quality control.

To be slightly-certain, my current interface is not as bad as all that.

But, I did need to sort out my content area, and ‘custom’ background.png/game-board.

And the (left and right) non-interactive-fringes of my game are at least subtly entertaining by having something there, at all.

But, will my game pass the smell test?

Or, will I work on making those outer fringes interactive,
and my screen real-estate look intentionally, well developed?
Not lazily done and neglected.

Proper placement aside, this simple decision (to lock my cards to a game board)
made my card game take on a whole different feel;
as it lead to many creative graphic implementations
that I could have never imagined at the outset of game design.

That is, I could not have come up with the unique interface/gameplay that I serendipitously fell into,
had I not chose to lock my cards to specific (x,y) screen locations.
Of course, I understand now, a developer is supposed to have a ‘storyboard’ so to speak.
But, I just had to jump in and start coding. Otherwise, I would have never started.

Also, back then, (2014-2016) my original game design (in Corona) had the cards simply sliding or, transition.to(ing ) around the screen, as card games are usually imagined.

But, after many serendipitous discoveries,
my cards ended up behaving like they were not cards at all;
that is, due to my game board design and the ‘card’s’ behavior
when single tapped or double tapped.
I didn’t use finger swipes or drags.

Again, out of shear, shiny ignorance, I chose to solely use those two tap events (single/double) solely. I was not ready for those more complex finger swipes and drags.

‘Maybe’ on my next game.

But, my next game might be the original multiplayer version of my ‘solitaire’ game;
or, better yet, an expanded solitaire version. I like the latter idea better!

Only time will tell. I have to get my first game out there first.

Besides, easy way out or not, I like the beauty-in-simplicity,
single or double tap approach to my game.

In short, Solar2D (as I will call it now) completely transformed my old-school paper card game
into a visually appealing “tile-flipping-game” of sorts,
making for interesting gameplay, (subtle as it may be) which can only be played to be appreciated.
And, solitaire, my game is not. :slight_smile:

It’s not the next greatest thing that’s bound to fly in like a gaggle of angry birds.
But, darn it. It’s fun.

The game is 100% inspired by the Golden Ratio,
(I know this is not original, but my game is! :slight_smile:

But my game is infested with the Golden Ratio;
from the golden-rectangle-shaped cards (that I printed back in the day)
to the graphic design on the cards, as well as the Fibonacci numbers ‘printed’ on them.
All the way up to card 377. At least, for now.

I did not use hearts, spades, diamonds, and Clubs.
And I will leave that as a mystery.

As well, there are of course, a simple set of rules that must be followed,
but there is also a fair amount of stratagems that give the player a lot of strategic control as to how successful a given hand can be.

I spent two years programming it back then, (2014 - 2016)
but I became overwhelmed with my monstrous and unmaintainable, not-well-thought-out code.

I was like a carpenter with endless nails and lumber,
and all the space in the universe, and no architectural plan.

Unwittingly, I had built the tower of babble, or is it Babel?

Babble == Babel -- return true

And, being completely clueless to the process of signing, building, testing and publishing to the various app store(s), I just tucked tail and ran.

“Aw, Poor little thing.”
anonymous

It’s important to emphasize that, back then, and today, I am still only using the Solar2D Simulator;
and I know that the simulator is a wolf in sheep’s clothing.

wolf == wOlF -- return true

But, recently, I actually have made a few of the first steps required to get me going with the Amazon Fire test build process.

Amazon Developer account
Google Play Store via Android Developer Account

But, to me, that’s just kicking the door open.
My eyes are still closed as I walk through that door.

The point is, I didn’t have my head in the preverbal game,
that is, on how ‘my game’ will look and respond on different devices,
nor, if I had bugs infesting my code, all scurrying around in the form of misspelled variable names.
Also, I had no target device in mind.

Besides, dude!
I want my game on every device that has battery juice in it.
I know, delusion of grandeur. I’m over it. :slight_smile:

Designing and working on my game,
the graphics and the music were the easy part for me,
humbly speaking, believe me.

I was not born with the talents I worked on my whole life.

And, having ADHD as a youngin’, made my journey a trip,
especially when I was on Ritalin for the first time at age 25,
in community college, not band camp.

I’m drug free today and just wingin’ this adult-A.D.D ride.

Nonetheless, after a Life of pursuing many interests,
I am grateful to wear a few different hats.
Jack of many-a-trade …master of zip.

Drummers want to do everything. That is why we are attracted to Neil Peart’s endless drum kits.

Today, I also sing, play keyboards, guitars.
But, I digress, and believe me, this was not a brag.
I’m thankful for all I have taught myself.
It wasn’t easy, as it seems to be for others.

I later learned in life, by reading a book,
that I was unwittingly an ‘autodidact’.

I had to look that word up in a paper dictionary back in the day.
So, I will give you the pleasure of finding out for yourself on Google.

You will thank me later if you don’t already know what it is.

Still, regarding mobile app/game development,
the newbie that I was ten to twelve years ago,
(and I still am, as far as I am concerned)
it took all I had just to code my game in LUA.

And that game (via simulator only) turned out (as I learned years later)
to be just an awesome prototype, but not publish-worthy;
or, at least a maintenance nightmare to be sure.

But, fast forward, ten years later, I have decided to give’r another go.

“Git R’ Done”
Larry

Seven months ago, I went through my old cobweb-code
(bugs indeed scurrying about in the dim light of a low-battery flashlight)
to familiarize myself with what I had done back in 2014 thru 2016.

And also, after having read about programming in general, (over the past 10 years)
ie. Procedural, Functional, and OOP, I realized I could use a more modular approach,
not OOP per se.

(btw: I did know OOP existed, but never knew how to code that way )

Though, even back then I did successfully code my cards (card.lua) to build themselves on the fly with shared image sheet card-assets.

And, to act like objects that I could “talk to” and order around via their methods/functions;
but, they had no hierarchical ancestry.

The cards ‘felt’ OOP to me, but that paradigm was half-empty and half-delusional!

“OOOOPS, my bad!”
Anonymous

One last thing I would like to share, (if you are still here) is that after those ten years,
while familiarizing myself with my monstrous game code,
and realizing I needed to start coding all over, (which I am)
recently, I totally gave my (prototype) game a complete 180 degree facelift
In my world, that was ground shaking!

Again, I mentioned that my ‘card’ game took on a ‘tile-flip-feel’,
instead of the humdrum card-dragging paradigm, so, I put on my 3D modeling hat,
fired up my Lightwave3D modeling software, and modeled my game board and cards!

The result?
Sprite-Animation-Heaven!

It’s not lost on me that I use Solar2D to code my game,
and Lightwave3D for my 3D to 2D graphics.

Get it? Sun, Solar, Light, LightWave? 2D 3D, A.D.D.

Sidenote:
I’m envious of devoted vector-graphics designers and coders.

But, I’m a raster man.
And I’m not even from Jamaica!

“Live for yourself and you will live in vain; live for others, and you will live again.”
Bob Marley

However, my mother is Hawaiian, born and raised on the island of Kauai,
for the first 18 years of her life;
My father is a white dude from Missouri, that would grow up to be a BLM’r.

Bureau of Land Management
As a Land Surveyor from the age of 19.
Voted in as county surveyor twice after retirement.
And my lucky father is even responsible for re-surveying
some of the original boundaries of the 13 U.S. Colonies.

My mother and father met in Safford, Arizona, (circa 1965)
she was performing in her father’s Hawaiian show as a ‘Hula dancer’;
Yea, the intro to the 70’s TV show, Hawaii Five O’?
That’s what my mom did too. She’s the real deal. She’s awesome.

She was performing in a hotel lounge where my father was staying with his survey crew,
surveying in the beautiful Sonoran desert of Southern Arizona.
Not far away, I was born in Phoenix, 1970.
I have a sister too, born in 1968.
Love them all.

Anyway, back to 3D modeling and sprites!

To give you an idea as to this ‘Sprite-Animation-Heaven’ that I experienced,
my original image sheet was 512pt x 512pt with only a single card-back sprite,
a single blank card, and all the fixins’ to give my cards a unique face, on the fly.

After rendering various card behaviors that is, ‘tile-flipping’ of many-a-kind,
my image sheet bloated to what I consider “a whopping” 1280 X 1280 image sheet.

I’m sure there are seasoned coders, that know
…how, when, and where to sling 4096 x 4096
without upsetting unsuspecting devices;
but I am trying not to be that carpenter with endless resources and no ‘game plan’.

The World doesn’t need another tower of babble.

So, concerning this ‘score’ that I have to settle with myself,
will I be able to finish my game this time around?

Which by the way, the game works awesome in the simulator.
A down-right blast!
Not in an Angry Birds blast sort of way, or candy crush or whatevs.

But it is a mental, strategic blast!
And a 3D-looking 2D animated sprite blast!

Heck, I can even store my own top scores, woohoo!
ranking them by score amount and by time completed;
thanks to starCrunch.

The day after starCrunch had shown me the light, I was flipping through
“Mastering Lua Programming”, and, I came across something I had read before,
but it just hadn’t clicked.

table.sort( tbl, function(a,b) return a > b end)

Which by the way, before asking for help,
I tried making my own custom code to bump scores and sort them myself,
reinventing the wheel again, using countless, verbose tables.

It almost worked, but there was a hole in my plan somewhere.

High scores were being erased or bumped, when they shouldn’t!

But, when I plugged in starCrunch’s code,
which I now know is about as obvious and concise, as it can be,
man, my game felt so smooth.

Just watching those high scores come and go, but it always worked, flawlessly.
I felt like I had just designed a rocket ship and programmed it to land back on the landing pad,
the way it launched!

It was a great feeling.

So a shout out to you very generous people. There are too many to mention here.

As I was saying, trying to get my brain back in to my game after ten years,
as I went through the code I even fixed lots of 10 year old bugs in that prototype,
just to get my mind back in the game. That was a blast too.

I mean, think about it;
if I thought I was brain fried ten years ago after two years of working on my game,
what gave me the gumption to wade neck-deep in my old monstrous cob-webby-code
and sort that buggy mess out? A score to settle.

And, “Here I am again”

That’s a song I wrote and recorded 2005
Humbly speaking.

Where was I? oh yea.

In conclusion, will I be able to finish my game this time around?

I’ll be honest.
I truly don’t know.
I mean, we all have to be prepared when we reach our limits.

It seems to be a fine line between quitting, giving up, and just knowing when to move on.

“Go On”
That’s a song I wrote and recorded 2011
Humbly speaking again

“Don’t worry this is almost over!”
Anonymous

Again, my game works in the simulator, and to me, that is an unbelievable accomplishment!
I’m the only one that has ever played my game; well, aside from the paper version.

But, as I like to say, “it is not lost on me” that solar2D is making that happen.
And it’s not costing me an arm and leg to get my wings.

And that is why I am here, because Solar2D is here!

I will try my best to finish publishing this game.

I must say though, I am very thankful far all you blokes (and the ladies too presumably)

No, I’m not Englishy, I just always wanted to call some dude a bloke.
Figure i’de hit a few blokes with one stone.

Later BLOKES! (and later, LADIES)

From the movie, Shaun of the Dead.

“Which one do you want? Girl or Bloke?”
Ed

”Uuh, the first one.”
Shaun

A special thanks to the great minds on this forum that are still here,
and that have come and gone from this forum.

We all know who you are …at least by forum name and ‘avatar’, and by good deeds done.

And I know that we are ALL grateful for your influence and knowhow.

And an extra-special thanks to the individual ‘vlads’ at the helm of this thing we call Solar2D SDK.

Please keep this cruise ship afloat, sir.
You apparently have a great crew, Captain vlads;
and we, your ocean, and the World? …our oyster!

Ok, that last sentence was total cheese cake.
Nix that bit!

The thought was there though.

Thanks for doing what you ALL do to make this happen for us dreamers.

See you all around.

And believe me, I’m doing my best to figure all this out on my own.

Also, I promise to be really good at asking very concise questions too.
Probably, too concise.

Don’t put it passed me to ask a question using a single word.
You know it can be done.

Until next time.

Keep slingin’ code.

Just don’t step in it!

Always sincere,

Chris ‘Gilby’ Gilbert

3 Likes

The enjoyment of game development lies in the process, not only the final result, right?

Just do it.

2 Likes

Clang, I hear that!

I am happy to say that I have definitely done that, enjoyed the process fully, and, I still am.
And then some!; even when I feel at times I am in way over my head.

And indeed, I am in way over my head, but that usually makes for an awesome journey!;
but I figure by doggedly, doggy paddling, I will keep my head where it needs to be, above water.

Of course, apparently, part of my journey was taking ten years off from working on it.

Totally down with the journey! The game is just the bonus point!

But, at least I have my high scores saved in a .json file in my game project sandbox to remind me of the accomplishment of having done what I have so far.

I appreciate your encouragement.

I am trying to look a little further down the pipeline this time.

Doing a pretty good job of not getting too overwhelmed.

“Baby steps. It means setting small, reasonable goals for yourself, one day at a time, one tiny step at a time. For instance, um, when you leave this office, don’t think about everything you have to do in order to get out of the building. Just think of what you must do to get out of this room. And when you get to the hall, deal with that hall. And so forth, you see? Baby steps.”

“Baby steps through the office. Baby steps out the door. Baby steps to the elevator.”
BOB from the movie, What About Bob.

Thanks again, Clang! You rock!

By the way…

“…where did you get a name like Ching? You don’t look like a Ching.”
Cheech

“My dad’s Chinese, man.”
Chong

“What’s your mama?”
Cheech

“She’s a waitress.”
Chong

“Oh, I thought you got named like they named Chinese babies.
They take a bunch of silverware and throw it up in the air,
and it comes down and goes, Ching-chang-chong-ping-pang-pong.”
Cheech

– From the movie Cheech & Chong’s Next Movie

See ya round, clang!

:slight_smile:

Gilby

1 Like