Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - expleo

Pages: [1] 2 3 4
1
DragonFireSDK Spotlight / Re: DFSDK Mac Library Release! $99
« on: November 15, 2015, 02:23:33 am »
*bump*

Would be great with an update, comming or not at all ? I habe s few projects stopped up, as I wait and wait for what eil happen with dragonfire.

2
DragonFireSDK Spotlight / Re: DFSDK Mac Library Release! $99
« on: June 19, 2015, 04:56:42 am »
I'd be very interested in testing out. I have kind of put dragonfire on hold due to a bit up and Down in release availability :)

3
It went live this Thursday

https://itunes.apple.com/app/lich-tower-of-doom-rpg/id763381594?l=nb&ls=1&mt=8

Got a few issues I'm working on now, submitting a version 1.1 on monday I hope.

The way to avoid loading all is to have 'load on the go'. For example, there are 7 different dungeons with different tilesets and different props. But for each new dungeon I reload new skins, so it is only one set of images.

Same for monsters, for all the game cares there is only one monster in the game (one set of animated frames). I keep all monster the same frameset (fame 1-3 idle stance, 4-8 attack, 9-12 being hit etc etc.  Player never meets more than one monster at a time, So encounter, the monster types unique abilities is set, and the monster images are loaded. I can have unlimited monsters this way, without adding any ohter views or strain on memory.

4
Game Programming / Re: Grid display
« on: March 09, 2014, 07:49:01 am »
Ho, Your code wont work as you try to put a char (W) into Your array defined as 'INT'. I have no idea what you are trying to accomplish, but the following code will do what you want, listing W's in a grid 9x15  (or reduce to 5, if the comment of 5 is correct as opposed to the code of 15: (Also please note the syntax for dragonfire SDK main sub)

//====================================================
// App.cpp
//====================================================
#include "DragonFireSDK.h"

int Font;


void DrawGrid(){ // NB B! Never Call this sub more than one time, as it contains textadd. If you need to do this many times, split the functions
   int locX=20;
   int lockY=20;

for(int j =0;j < 15;j++){ //columns by 5.
   for(int i = 0;i < 10;i++){ //row by 9.
      TextAdd(locX,lockY,"W",Font);
      locX+=10;
   }
   lockY+=10;
   locX=20;
}
}

void AppMain()
{
Font=FontAdd("Georgia","Regular",10,0x0000FF);
DrawGrid();
}

void AppExit()
{

}

void OnTimer()
{
    // Main loop code goes here.  OnTimer() is called 30 times per second.
}

5
Game Programming / Re: Grid display
« on: March 07, 2014, 02:50:35 am »
Hi, you need 2 'layers'. One as a matrix that is your grid, with individual views (read up on viewadd, imageadd and arrays to do this). then you should have a seccond 'layer' to place the items in.

Not a complete 'solution' for you this, but the question is not very spesific, so I suggest you try experiment with a 2x2 grid to get the hang of it, then ask an specific questions you might have

6
Heya, yes, entirely in dragonfire SDK. Perhaps a bad Choice for portability haha.

running total lines is 22529, but several are comments etc etc. 1944 asset files, that is Music, sfx, items and sprites.

I had to learn serious compression on PNG and MP3 files, first to be able to get trough build server, but also for fun to see how small file I could end up with. The packed ZIP file is 24 megs, I dont think thats too bad.

I also had to redesign several aspects of the code as the number of assets just kept on growing ( I started out With just loading every image into memory), and had a real bummer the day I got the message from compiler that maximum imageviewadds was reached.. (it did build, but game was all messed up..) I also had some long-lasting bugs I had a tough time figuring out. (the worst should be sorted out now though :D I hope)

The idea started about a year ago, first months where slow and we tested a bit ideas and different setups (originaly all the gameplay was on the Board itself, but we moved all the action to a big window With large sprites, just to complicate Things and make it more expensive :)..

that was about the time my illustrator partner said she could not do all these animation frames herself, and had to throw in the towel for time. So at  May 2013 I started contracting out pixel work, had some trials and errors on contractors, but ended up with a few steady ones. So one person have done from June 2013 until now January 2014 doing hero animations, and 3 other artist have created the monsters and background environments in about same time frame (started around august for serious work)

The game was in a 'playable' state at june 2013, and have been constantly developed since then until now aorund January. Some weeks a bit slow, other weeks just a few hours to add incoming monsters and test them, some weeks close to 40-50 hr a week. I dont dare think how much hours went into this thing.

I don't hope for huge profits, but it would be nice to get some of the cash spent back so I can do another game, and nicer still if sales are enough to cover expansions (first expansion is already in motion, with one more enemy type for each of the 6 dungeons).

7
   Your app status is Waiting For Review

Its a mix of 'thank you Tim, appreacated' and, 'what can I Possiblydo to cut down the downtime in the future'..

but, what do you know..

"Your app status is Waiting For Review"

You guys should see the initial plans and concepts between myself and my illustrator before we loaded in on musicians and several graphical studioios.. this game has gone a far mile, and I from my bottom of heart hope there is a future putting in an effort based on love for the game opposed of 'how much can we cash in on a free game'..... this game is not, and will not bee free ever, sorry (but I can grant a few codes once out if you are truly poor :) )

8
How Do I...? / Re: Sample Apps not working
« on: February 28, 2014, 04:06:35 pm »
Not sure this is helping _anything_ and I have encountered my shares of issues, but not this.

I have installed and run dragonfire+VC2010 (and further) on several PC's now, and procedure is always: install the VC2010 (or whatever version), install the dragonfire app, go to the myfirstapp project, open, convert to whatever version you are builing on and press F5 to debug-build/run.

Can you try running from within the visual studio (hit F5), when you state you get error not finding App.exe I'm thinking you try do something else. A debug .exe file should be myFirstapp.exe after initial build.

i understand your fustrations thoug, it is a bugger to not completing what you are doing.
Im no expert by far means, but if you realy cant coplete, record a video what you are doing, and share, Ill try help whatever I can.

9
Game Programming / Re: Audio Help needed...
« on: February 26, 2014, 02:10:16 am »
Hi, first off, the bad news is that mp3 functions on dragonfire sdk is lacking badly. there is not even a way to detect if a song is completed playing, no pause, no location seek function, no volume mixing etc. So this also answers your other question marked 1) ;)

So in short, you are stuck with mp3play and mp3stop (mp3loop). For a game I worked on, I tried having fixed time and using a counter to measure time, then start next segment when 30 secconds had passed. This seemed to work, but for some reason the game crashed/froze when it was idling too much. I never figured out why,  and the best solution would be a 'song played trough' api call (it should be possible as dragonfire already have a loop function, so detecting so end should not be very impossible).

Anyway. Play and Stop. These are your tools.
Then you need random (and randomize, look up the post 'how to make random more random')

Next you need to use timers. Use a couple of counters that ticks up (30 ticks=1 seccond).

Something like this:

int CounterToCheckIfMusickStops;
int PauseFiveSeccondsCounter;
bool MusicIsPaused;

//Need a onbutton funcion _here_ that sets MusicIsPaused=true when starting the game/music, and starting the music first time.

main(){
   CounterToCheckIfMusickStops=0;
   MusicIsPaused=true;
   PauseFiveSeccondsCounter=0;
}

ontimer(){
   if (MusicIsPaused==false){
      CounterToCheckIfMusickStops++;
   } // only increase counter if we are playing the music

   if (CounterToCheckIfMusickStops==60 && MusicIsPaused==false;){
      CounterToCheckIfMusickStops=0; //resetting the counter every 2 secconds
      if (Random(200-CounterToCheckIfMusickStops)==1){
         MusicIsPaused=true; //to trigger the pause
         Mp3Stop(); //stop the music
      }// random stop the player, increasing the chance to stop as time increases
   }// end if music stops==60 checker

   if(MusicIsPaused){ //pause 5 secconds
      PauseFiveSeccondsCounter++;
      if (PauseFiveSeccondsCounter=>1800){ // 5 secconds is 1800 ticks
         Mp3Play(song ID or perhaps a random song out of an array of songs ??);
         PauseFiveSeccondsCounter=0;
         MusicIsPaused=false;
      }//end if check for 5 secconds
   }

}


EDIT:

as mentioned, you would need a button that starts the music first time, and set the bool value of musicpaused to false. Also perhaps a seccond bool to see if the game is 'on'.

You can preload a few songs, and have the player select a random song to avoid same song playing from start over and over, perhaps also in a predefined order.

also, in the code i wrote (and didnt test :), there is

if (Random(200-CounterToCheckIfMusickStops)==1){

you can of course modify this to suit your needs, have a minimum wait state before you start checking if music is stopping etc, this is just one idea. Every 2 secconds (the 60 mark), the counter is reset, and a check is performed if the music is stopping or not.

10
How Do I...? / Re: Game Center and Sandobx
« on: February 25, 2014, 10:24:51 am »
1) no (I don't think so). gane centre stores one score per user account per score table.

2) dragonfire supports iAd, so that is the way to go for ads. that said, don't bother. really. you need so many downloads for ads to work that you need a top downloaded game. flappy bird was a once in a moon case, for each flappy bird yhere are 10000000 games much better but lost in cyberspace.

11
DragonFireSDK Spotlight / Re: Pinchikos!! Waiting for upload... Some day
« on: February 20, 2014, 11:12:44 am »
Yeah,  'some day' :)

How did you do the twitching animations btw, box 2d ? beat effect.

12
How Do I...? / Re: Game Center and Sandobx
« on: February 20, 2014, 01:48:31 am »
Ok, and micboy, here are the general steps (as promised on another thread) to add gamecenter.

1) Setup Itunes highscore table. This is pretty easy, you need to create a profile for your game, then a highscore table (youse the suggested approach with reverse domain name and app.. for example, my domain is expleo.no and I make a game pigkiller, i call my list no.expleo.pigkiller.topscrore  (if I want more leaderboards for this game, it might be no.expleo.pigkiller.mostPigsKilled no.expleo.pigkiller.shortestRun etc etc). Each board is pretty straightforward. For this, you need itunes dev account at $100 a year.

2) For testing, you now need to dl the provisionprofile for this game, and send to zimusoft. It will work without this though, so if you are confident everything is ok, it is skippable to test :D

3) In your code, you now need to have a highscrore savefile of sorts. I keep it simple. I have a highscore file with a single 'top' score in it. At appstart, I load this, so I have a variable called highScore.  So if the highscore on file is 500, my highScore variable will be 500. (look up how to load and save files, I pulled my code almost straight from the API doc for this)

4) In my game, I have a 'currentScore' variable that keeps tab of the current players highscore. When game is over,  I check if currentScore is more than HighScore. If it is, I save the new currentScore on file as the new HighScore, and submitt the new score to gamecenter.

5) To test this, you need to have completed step 2, and also need to log out of gamecenter on your device, and create a sandbox gamecenter account (or more). IOS will detect you are running a game in developing, so you don't need to do anything special than having an email adress ready, and registrer your GC account (it is same process as a real registration, but it says sandbox).

6) In my mainscreen I have a simple button that fetches the GC leaderboard, everything is already set up for you, so it is pretty simple actualy.

I will add some code here to explain:

in Main, you need to have:
 GameCenterInit(OnGameCenter);

for the OnGameCenter procedure, copy paste from API doc:

void OnGameCenter(int type,int flag,int value,char *desc)

{

  switch (type)
   {
  case 1: // Authentication
       printf("Authentication event result: %svalue:%d desc:%s\n",ErrorNoError(flag),value,desc);
      break;
  case 2: // Achievements Post
       printf("Achievements Post event result: %svalue:%d desc:%s\n",ErrorNoError(flag),value,desc);
      break;
  case 3: // Achievements Reset
       printf("Achievements Reset event result: %svalue:%d desc:%s\n",ErrorNoError(flag),value,desc);
      break;
  case 4: // Score Post
       printf("Score Post event result: %svalue:%d desc:%s\n",ErrorNoError(flag),value,desc);
      break;
  case 5: // Leaderboard Rank
       printf("Leaderboard Rank event result: %svalue:%d desc:%s\n",ErrorNoError(flag),value,desc);

      break;
   }
}

No need to worry about these if you just make a simple, pretty 'dump' highscore list with no finesse (like mine :) )

ok, I have a subroutine on Button, and one of the buttons (show highscore rank) is case 720. It is as simple as:

   case 721: // get highscore list
      GameCenterLeaderboardShow();
   break;

so just a call to show the leaderboards.

And last, at games end, check if score is more than highscore (insertscore subroutine is almost just a copy paste from zimusofts doc on loading and saving file)

if (FinalScore>scores.totalsScore){
   InsertScore(FinalScore);
   sprintf(tempText,"New High Score !!");
   TextSetText(combatTextInt[1],tempText);
   GameCenterLeaderboardPostScore("no.expleo.pigKiller.highScore", FinalScore);
}

so to sum it up:

GameCenterLeaderboardPostScore to post a score to gamecenter
GameCenterLeaderboardShow(); to get and show the highscore list

and some file save/load with a few variables to keep track of the devices high score.

Probably much more rafined wayt to use it, but keep it simple. This works for me.

13
How Do I...? / Re: Game Center and Sandobx
« on: February 17, 2014, 11:15:08 am »
hi, in short, you need to create a highscore list on iconnect. then dl the provision file and upload to zimusoft. there is a faq somwhere on this site, i will see if I can find it. But tim needs to be around to install a provision file on test build server, so you need assistance.

warning though, after I did this, Any build I try create with a different name all fails, so Im bound to have same name on everything I build, until I upload a new provision file. shouldnt be like tjis, but I gave up after a few tries with support a year ago, not that tim didnt try, but it didnt work. probably I who messed up the provisioning process, never got full "hang" on that

14
DragonFireSDK Spotlight / Re: Bloppy Fish, coming soon!
« on: February 16, 2014, 08:33:34 am »
Lol, trying to take the flappy bird throne ? :) Well, good luck to you., The original creator aperantly got around 50.000$ a day from advertismenet on flappy bird .. ) go figure.

15
I will help out with gamecenter once my build is submitted for appstore :) Unfortunatly still waiting..

jk. make a post in 'how do I', and I'll try help out when I get time next week.

Pages: [1] 2 3 4