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.

Topics - Vincent

Pages: [1] 2 3
Off-Topic / What I've been doing since LoK:Revival
« on: 2017-03-29, 06:36:53 AM »
Hi everyone!

I've been pretty silent these last years in the SGDK2 forums.  After the LoK:Revival release, I took a little break from game development projects for a couple of months.  But, eventually, I could hear the siren's song again and I knew I had to start out a new project.

With the 2D games realm already conquered *cough cough* (no modesty here!), I decided to get started on a 3D project.  For 2 years I worked with the jMonkeyEngine to learn Java and 3D game development at the same time.  The end result was: I learned a lot but completed no project whatsoever.  It was a lot of work, almost everything had to be done.  In those 2 years, I made a fully dynamic sky system, with a day/night cycle, moving clouds, sun and moon.  The sky took around 6 months to do...  So nowhere near a new game.  Then I started to make a vegetation system to distribute grass, flowers and trees based on a height map and with impersonators when the camera was far enough.  That took more than 6 months.  Finally, I made a dynamic weather system, with wind, rain and snow which interact with the vegetation system to blow on trees, grass, create waves of water, etc.  That took more than 6 months too.

And then I looked at what I did and stopped.  I mean, it was cool!  I was proud of myself.  But I didn't have a game at all.  Not even the base of a new game.  Two years is the time it took to do LoK:Revival from start to finish.  With jMonkeyEngine, I spent two years and I wasn't even started.

Conclusion: SGDK2 rocks!

But I still want to create a 3D game.  It lives inside my head, I want to get it out of there!

So I moved on to Unity where I discovered that the whole sky system I did with matching sunlight in 6 months with jMonkeyEngine was pretty much a checkbox in Unity.   :o
I'm about 2 years down the road with Unity now, and although I don't have a game (not even started yet), I developed a very cool asset to create 3D levels procedurally.  It's called the Dungeon Master.  If you want to know more about it, you can see the thread in the Unity forums right here:
There is also a ton of information on my website:
Although this is not a game, it was a lot of fun to create!  With it, I created a small demo game under 50 hours.  This demo game is available on my website, right here:

I still have some work to do on my asset, but very soon I will begin a game based on my asset.  I can't wait to get to it.  ;D

So that's what I've been doing these last years.  By the way, I still think fondly of SGDK2.  I really loved my experience with it when I was creating LoK: Revival.  SGDK2 is a great tool for 2D games.  If I was planning to create another 2D game, I would have done it with SGDK2.

Come around and say hello on my website or the Dungeon Master thread in the Unity forum.  It would help me a lot to raise interest in my asset and eventually would bring me some money for all my work.  (Which I will all reinvest in making more projects, let's be honest!)

I wish you guys all the best and thank you for taking the time to read this post!

Help, Errors, FAQ / Exporting all graphic sheets
« on: 2011-02-16, 01:39:23 PM »

I wondered if there was a way to make a massive export of all graphic sheets from a sgdk2 file.  Giving the name of the graphic sheet to the exported png file seems fine.  If, not, I'll download the SGDK2 source and try to alter the program to make it happen.  I don't want to export and name manually my 350 graphic sheets...  oO

Thanks! :)

Projects / Legacy of Kain: Revival beta
« on: 2010-12-22, 09:40:01 AM »
I think that's worth a new topic!

I just uploaded the source code for my fan game Legacy of Kain: Revival.  When bluemonkmn approves it, anyone can get it in the project remository.  At the moment, I'm writing the game manual.  When it is ready, I will package a compiled version with DLLs and the game manual.  And then release the "official" beta version.

I'm pretty confident on the quality of the game.  There will probably still be bugs and issues, but I played the game a couple of times from start to finish not taking the same paths and it's pretty solid.

Can't wait to hear your comments! :)

Help, Errors, FAQ / Bug and improvement report
« on: 2010-12-12, 09:45:40 AM »
Hi! :)

That thread concerning load problems for sprites made me realized that there's a couple of things in SGDK2 that could be improved I think.  I worked with recent versions of SGDK2 for 2 years, so here are the things that annoy me a little:

1- Sorting dropdown lists:
I have a lot of sprites, maps, counters, you name it in my project.  I think it was a huge improvement to have all of them sorted in alphabetical order in the project tree.  It would be great if these elements were sorted in the same fashion in dropdown lists for rules, tileset counters, etc.  My dropdown lists are huge, and I use the letters to get to the right element faster, but since they are not sorted, it's still long to select the right one.

2- Frameset "del" button:
When I create a new frameset, the first thing I do is to give it a name.  So I focus the text field, select the "New " part of "New Frameset" and press "del" button.  And then "boing!" I get an error because no frames are selected.  It would be nice if SGDK2 noticed that I focused the name textbox and not a frame in the frame set to delete.

3- Global Counters can't be lower than 0:
Sometimes, I use global counters to store values of a sprite because I want other sprites to access a single sprite value.  For example, the sprites dx or dy.  If the sprite is going up or left, I can't store the value, because counters don't go below 0.  Since sprites' counter can go below 0 and you don't get an error for storing one property value in another property, it can be confusing.

4- Global counters and sprite counters are integer:
Many values in SGDK2 are floats rather than ints.  When I want to store speed, exact location, etc.  I have to round or truncate the decimal to get them stored into a counter.  I lose precision.  It would be nice if counters (both global and sprites) could be stored as floats.

5- Accessing sprites values from another sprite:
It would be great if rules within a sprite could allow access to values of another sprite in the same map.  Not easy to do I guess, since at design time, sprite rules don't care about which map they're in, so there's no real clean way to access another sprite.  But maybe there could be a "layer" or "map" property into the sprite that would be set to the current "map" or "layer" the sprite is in when activated and then, using this in the sprite rules, a rule could access the property, get the right sprite in the list of sprites of the layer and then reach the desired property.  Maybe a difficult feature to implement, but it would be so much easier to make sprites interact.  Of course, there must be a lot of exception handling done in this not to crash the game at runtime...

6- Graphic sheet design size:
I know I have big images in my game, but I don't really understand why the graphic sheet prevents to zoom in when the borders of the image can't fit into my screen.  It makes it real hard to edit images within SGDK2.  On a small laptop screen, it's not pleasant to modify big images if you can't zoom in.

7- Graphic sheet movement of windows:
The graphic sheet consists of 4 sub-windows or palettes: 1 the image you work on, 2 image at normal size, color palette and the graphic sheet navigator.  When I load a graphic sheet with big cells, palettes can get out the screen.  In relation with report #6  ;), i have to reduce the zoom, and it seems there is code to replace the palettes in a logical way.  But sometimes, the "replace windows" code gets a little erratic and when I want to replace them in a way that suits me best, they go crazy and move out where I don't want them to be.  It would be nice if this replace windows code was optional.  Maybe a checkbox in the palette window to turn it off.  That would be great! :)

8- Output text that is not debug nor message:
In my game, I want to show text in the menu and some places.  There are statistics to show.  I can find only 2 ways to output text in SGDK2: via the showmessage (but you get a frame around it and can't really place the text where you want) or via logdebuglabel (but it won't show in release mode and ignores spaces).  It would be nice to have a tool to write frameless text, with spaces where you want on the screen. :)

9- Global counter with dynamic max value:
It would be nice to be able to set the max value of a counter at runtime.  I did it in my game (it's a partial class after all), but maybe other people would find this interesting.  But why would they want to change the max value of a counter?  Well, I use it to show a lifebar.  The max amount of life a character has can change during the game.  If I set the value to max possible value at the beginning, it can be confusing for the player (why am I always damaged) or give him unwanted clues (I'm still missing life upgrades).

Hum...  I can't think of anything else at the moment.

Like I said, these things annoy me, but they aren't showstoppers at all.  I think it would make SGDK2 easier and a better experience. :)

Any one of these upgrades would be a great asset I think. :)

What do you think?

Thanks a lot!

Off-Topic / Looking for a good OpenGL book
« on: 2010-11-23, 08:48:05 AM »
Hi guys!

I was wondering, since SGDK went from DirectX to OpenGL, bluemonkmn and some others must have a good knowledge of OpenGL.  I'm interested in learning OpenGL and I'm thinking about getting a good OpenGL book oriented for game programming or programming in general.  It doesn't have to be something like OpenGL for dummies, since I'm already a developper, but I would like it to be a learning and reference book rather than just a reference book. 

Do you have any suggestions? 

thanks! :)

Help, Errors, FAQ / How to do a replica of this in SGDK2?
« on: 2010-10-07, 07:57:34 AM »
Hi guys! :)

Still working on my game.  I'm designing the final boss of the game: it is supposed to be a gigantic octopus so with tentacles moving around, etc.  It is a difficult task to reproduce a natural tentacle movement.  So I looked at similar games to see if something that looks like moving tentacle was already done.  Here's what I found:

It looks pretty much like what I want to accomplish.  In this case, there are no tentacles, but dragon heads with their heads moving around a central point: the base of their necks.  I guess the heads and each "joint" are separate sprites and they really move well around the center point.  Of course, my final boss won't be exactly the same, but I would really like to remake the head movement of the dragons into tentacles.

Anyone has an idea how to accomplish this?  I'm going to try different things, but it will be a lot of trials and errors.  So I was wondering if someone could suggest me an approach.

Thanks guys!  ;D

Help, Errors, FAQ / Save game in Windows 7
« on: 2010-09-26, 07:05:36 PM »
Hi guys!

Long time since I posted a message for an error!

One of my alpha version testers is on windows 7.  And when the tester gets to a save point the game crashes.  On XP, the game saves in (for example):
Code: [Select]
C:\Documents and Settings\Vincent\Application Data\Scrolling Game Development Kit\LokRevival\\1.sav
I don't have windows 7.  But my tester tells me that suck a path doesn't exist in windows 7.  "Documents and Settings" is like "Documents" only.  Can someone with windows 7 take a look at this?  Since I don't have win7, I can't test it.  And my alpha tester being in Slovakia, it makes a hell of a ride to get there and test it!  :crazy:

Thanks a lot!  ;D

Off-Topic / Over the top game design!
« on: 2010-07-01, 03:59:27 PM »
Hi guys!

I just stumbled upon this today.  :o Take a look at this game (btw, sorry for advertising another gaming web site.)
Since I've played it, I'm scratching my head to find a way to do this in SGDK2, I guess it would require to modify the mapbase class at least, to allow to "bend space". 

Tell me what you think guys! (about the game and about making a look alike project in SGDK2)

General Discussion / New tile shapes and a suggestion
« on: 2010-02-28, 07:54:36 PM »
Hi guys,

Even if I'm not asking questions lately, I'm still working on my game, but I guess most of my issues are solved for now, so I don't need to bother you. :p  I still hang around though. 

I worked on some new tile shapes, maybe some of you could be interested in them (I attached them to this message).  Some can probably be improved, but they still behave fine I think.  Here are the tiles I created:

  • a bottom-half solid tile (can be inserted between a downhill left and a downhill right and fits perfectly).
  • a bottom-half top solid tile (like the one above but only solid when you arrive from the top)
  • a uphill top solid tile (like the uphill tile but only solid when you arrive from the top or the left)
  • a downhill top solid tile (like the uphill tile but only solid when you arrive from the top or the right)
  • a uphill left top solid tile (like the uphill tile but only solid when you arrive from the top or the left)
  • a uphill right top solid tile (like the uphill tile but only solid when you arrive from the top or the left)
  • a downhill left top solid tile (like the uphill tile but only solid when you arrive from the top or the right)
  • a downhill right top solid tile (like the uphill tile but only solid when you arrive from the top or the right)

I think the bottom half tiles are perfect, but sometimes the uphill and downhill top solid tiles can be a problem if the character wants to jump through and arrives from the side where there is a solidity.  So I gotta prevent the problem in the way I design the level.  Or maybe someone (like Bluemonkmn or Durnurd) could check it out for a solution!  ;)

Also, I realized (so late...) that with one good tileset for solidity, I could have done all my levels.  What I mean is, I could have drawn the levels in photoshop (or another drawing software) and import big images into sgdk2.  Then, use these images for the visual on a layer (with low z-index) and create the "solid" layer (where I put all the sprites) over the visual layer.  Use the universal solid tiles and draw them over the visual layer, put in the sprites, etc.  Then, when all the solidity is done, go into the frameset and set all the universal tiles to invisible.  So I use always the same tileset to make the solidity, but it doesn't matter to the person who is playing because all he sees is the visual layer underneath and the sprites on the layer with invisible tiles.  Do you follow me?

By using this method, only one tileset with tile solidity is needed for almost any situation.  I thought, maybe that could be explained into the help file?  I didn't see this anywhere...  Anyway, it's just an idea.  It's a little late for me to go back and redraw all the levels using this technique, but when I'll start another project, I will be sure to do that.

What do you guys think?


Help, Errors, FAQ / Sounds mixed up?
« on: 2010-02-01, 12:23:34 PM »
Hi guys!

Still working on my game (been more than a year now, wow time goes fast...) and I have about 100 sounds in my game.  There's not many more needed I think.  When I play the game with the sounds, it goes well for a while, but eventually it would seem the sounds get mixed up. 

For example, there is music playing and when the character slashes with his sword there is a "swoosh" sound.  I keep playing the game so more and more sounds are loaded and played and eventually (at different times, I can't seem to find what triggers this problem) I realize that when the character slashes, rather than playing the "swoosh" sound, the game restarts the music!  The "swoosh" sound is on ReplayMode.Restart, so I guess if the game gets confused about the sound channels, it could restart the music rather than the swoosh sound. 

Has anyone encountered that problem previously?  Is there a maximum number of sounds that can play simultaneously before the channels get mixed up?  Could it be because too much memory is allocated to the sounds?  Any idea?  Do you have general "best practices" I should follow when using the sounds?

I gave the example of the sword slash and the music, but any combination of sounds can get mixed up, it's not always those two.

Thanks! :)

General Discussion / FMod features in SGDK2
« on: 2010-01-11, 12:48:14 PM »
Hi guys!  :)

I started integrating music in my game.  I'm using FMod, since it is pretty much the easiest way to do it.  I think it's great stuff.  Although there are some little things that I felt were lacking, I add them as I go and it really is going fine.

If I understand correctly, FMod provides the dll and FMod.cs.  I suppose bluemonkmn developped FModBase.cs to "wrap" the "wrapper".  It certainly works well and it is very easy to use.  LoadSound, PlaySound, StopSound and UnloadSound are simple enough.

For the music in my game, I wanted to make smooth transitions between each music.  So I added a system to manage the music, making sure that only one music plays at a time and, if there is a music change, the system does a fade-out of the previous music and a fade-in of the new music simultaneously.  I think it is less of a shock for the ears when you change a level or go into the menu.  I didn't implement this system for sound effects.

I'm also thinking to add controls in the options window to manage to SFX volume and music volume.

If anyone is interested in this, please let me know.  I'll send you my code.

Also, bluemonkmn, do you think it would be a good idea to implement these changes into a new version of FModBase.cs?  Or do you prefer to keep it as it is?

See ya!  ;D

Help, Errors, FAQ / Copying maps at runtime
« on: 2009-12-08, 02:19:56 PM »
Hi guys!

Quick question: I'm wondering how to accomplish a little stunt with the minimap in my game.  Here's what I'm trying to do.  During the game, the minimap shows on the top left corner of the screen.  It's working fine but I had some complains about the minimap not being helpful enough.  Some of my testers want to keep the minimap as is AND also have to possibility to show the complete map in the menu to have a better idea of the global game world.

I think it's a really good idea.  But I don't see how to accomplish this.  I don't think I can alter the map properties at runtime (display area, location, etc) nor do I want to do it.  I don't want to mess around with the minimap.  I would like to make a copy of the minimap as it is and show it with different dimensions in the menu when the game is asked to show the complete map and discard it afterward.  Now, here is another catch: the map doesn't display info only based on global counters, it keeps most information into the sprites in the minimap, so I cannot make another identical minimap in the project with different properties (display area, etc), I really must copy the minimap to keep all this information.

Any idea on how to accomplish this?  I didn't make any attempt to do this yet.  I'm just wondering if you have any suggestions on the best way to accomplish this.

Thanks a lot again! :)

Help, Errors, FAQ / Zooming and lines
« on: 2009-11-08, 09:09:45 PM »
Okay, so since I completed the minimap in my game, I figured it would be nice to work on a clean zooming of the game.  So I went back to the Display.cs class and I'm trying to understand where those strange ugly lines come from when I resize the game window.

I'm just thinking and fishing for ideas here, but here is what I am thinking now:

In our previous conversations, bluemonkmn said the lines could appear because each tile drawn on the display could be off by a pixel.  But I wonder, if it is the case, why won't the lines appear when the game is at it's normal size?  It should be off by a pixel too I think.  Since I don't know anything about OpenGL, I'm just toying with the DrawFrame function in Display.cs to see what effect each element has.  I figured that the function uses coordinates to pick up the right texture on the graphic sheet, draws a rectangle on display and binds the texture to the rectangle (not necessarily in that order).  Then the graphic appears.  The operations is repeated for each cell and each sprite to display if I understand correctly.

I played with the coordinates related to the texture (image on the graphic sheet to display) and it does not seem to be the problem.  In fact, when the lines appear, the graphics are still entirely there, but there is space between them.  So I put this aside.

I played with the coordinate of the rectangle drawn on the display and when I augment by one pixel one side of the rectangle, I can the tile overlap each other... and still the lines appear.  So it doesn't seem to be the problem either.

So now, I ponder about this.  I'm probably wrong, but still...  When the game starts, the native size of the game is set and the display is perfect.  At this time, the size of each "pixel" in the game is exactly the size of a pixel "on screen".  When the game window is zoomed, the size of the game pixels are zoomed in too.  It's easily visible since pixels calculations are still working inside the game, so the pixels are zoomed in proportion with the display area.  But the pixels "on screen" are not getting bigger.  The pixels in the game seem to be based on integers.  But suppose that when you zoom the game, you zoom it by a factor of 33%.  So each game-pixel is now worth 1.33 screen-pixel.  Maybe, when the display is drawn, a rounded value is taken (so 1.33 pixel goes back to 1 pixel) so it leaves a .33 pixel that is empty: thus a line is created.  That would explain why, when the game is at it's original size, there are no lines, but if you zoom the game, it leaves lines. 

I already see the failing in this theory, because the size of the lines remains the same no matter how big or how the small the game window is zoomed.  The lines are always exactly one pixel large.  If my theory was exact, it would mean the lines would be of a different size depending on the zoom ratio.

Anyway, I still gave it a try.  I tried making a different DrawFrame function to fill the theoretical .33 pixel , but I have been unable to do so.  Maybe because I don't do it properly (possible) or I am simply not on the right problem (most probable).

There is also an observation that I do when I zoom the game that troubles me.  I have a layer on top of each level map that is called "SpiritViewLayer".  It's a very simple layer containing one tile repeated to fill the display area.  The tile is an animated tile with one invisible frame and one semi-transparent green pixel.  Without getting into the details of the reasons why I have such a layer, let's just say that it is very easy to identify the green tiles.  The tiles switch from completely transparent to green when a power is activated, but it is almost always completely transparent.  Okay, now this is what troubles me: when I zoom the game window, I can see green lines, most probably coming from the "SpiritViewLayer", with it's very distinctive green, but at this moment the tiles are supposed to be invisible and they are since only the lines are green and not the tiles.  Could it be a sort of "buffer" problem, a cache that would paint over the display area when it shouldn't?  ???

Does someone knows if I'm actually looking at the right place to solve this problem? (the DrawFrameFunction)  Or could the problem originate before the call to this function?

Need a little help here please!  :-[

Thanks guys!

Projects / Lok Revival: first alpha version
« on: 2009-11-02, 12:16:30 PM »
Hi everyone!

After a little less than a year in production, I have a first level done in Legacy of Kain: Revival!

The next steps are:
- making the game zoom so can play a bigger version of it
- making the "hit sparks" appear at the right place
- create a mini-map
- Then level 2

No sound or music for the moment, it may be added between lv 2 and 3.

I'm very anxious to hear your comments, suggestions and questions. :)

You can download the game in the repository.

@bluemonkmn: I tried to upload a zip file containing the sgdk2 file, but I keep getting disconnected, but I'm not sure it is the right error message, since I'm not losing any other connection.  Is there a max file size on the repository?  Is there maintenance going on?  Do you see my updates?  Thanks!

Help, Errors, FAQ / Precise collision coordinate
« on: 2009-10-26, 07:32:35 AM »
Hi guys,

Is it possible to have a precise coordinate of a collision between 2 sprites?  A quick explanation: I spawn pixels in my game when there is an impact with the sword.  Blood, water, sparks, chip of bones, etc.  (there only pixels, but that's what they are supposed to be).  But they don't spawn at the location of an impact.  So I figured I would need 2 custom functions: a testCollisionMask that returns a coordinate where the impact happened and a add sprite function that receives a coordinate...

Do you have any suggestion of examples I could use to achieve this?  Is there already a way to do this?

Thanks!  ;D

Pages: [1] 2 3