samedi 14 juin 2014

Le week-end du 14/06

Bonjour à tous !

SaveSytem
J'ai enfin trouvé une solution pour le système de sauvegarde... non sans mal... il n'est pas parfait ! loin de là, mais il fonctionne ! Il va maintenant passer des tests !

J'ai utilisé le Ultimate Save System qui permet de faire les sauvegardes via le kismet directement sans aucune autre modification des scripts du jeu !

Pour simplifier, avec ce système je peux:
- sauvegarder toutes les variables (vector, bool, valeur ou nom)
- charger toutes ces variables
- il n'y a aucune sauvegarde d'animation ou du kismet...

Donc, prenons un exemple:
je souhaites sauvegarder le fait que j'ai ouvert une porte:
- Par défaut, au chargement du niveau, la variable bool (vrai/faux) suivante: DOOR=FALSE (porte fermé)
- Si je clique sur la porte, elle s'ouvre et je change la variable: DOOR=TRUE
- Je sauvegarde...

- Je charge : Alors mon niveau se réinitialise comme pour une première partie
- Je vérifie la variable DOOR, si DOOR=FALSE, alors je ne touche à rien
si DOOR=TRUE, alors le joueur a cliqué sur la porte avant de sauvegarder... ainsi je peux la rouvrir !

voilà, c'est pour simplifier, mais je peux faire ça pour toutes choses dans le jeu !

Ci dessous le Kismet complet pour ce système de sauvegarde :

Il y a 3 étapes:
- Le joueur appuie sur la touche 1 du clavier, ainsi je sauvegarde toutes les variables dans un fichier S-FileName
- Le joueur appuie sur la touche F1 du clavier, ainsi je sauvegarde le fait qu'il veut charger le jeu dans un autre fichier S-Charge, puis je relance la map.
- En début de jeu, la map vérifie s'il s'agit d'une première ouverture, ou bien s'il s'agit d'un chargement d'une sauvegarde (à l'aide du fichier S-Charge)
Si c'est la première ouverture, alors le S-Charge=FALSE donc on lance le jeu normalement
Si c'est un chargement, alors le S-Charge=TRUE, donc je lis toutes les nouvelles variables et je replace les objets...

Voilà, c'est un peu compliqué à première vue, mais ça fonctionne correctement pour le moment !

Art Concept
Nous attaquons une nouvelle pièce: "la chambre des peintures"
Dessin d'Akel


Et nous sommes toujours dans le planning fixé avec l'équipe !!

a très bientôt !

lundi 9 juin 2014

We need help with UDK Save System

Hello everyone!

We always work hard head on the save system!
Unfortunately, the tests are not very conclusive ...
There is still a bug that slips into the case ... and keeps me going as I want!

I studied two systems:

- http://wiki.beyondunreal.com/User:Crusha/UltimateSaveSystem
This is a system that allows you to save all variables via Kismet!
It is excellent and very complete! and it does not affect our game files Info

But the big problem: it is quite complicated to save all variables in a game like RoonSehv (all buttons, all puzzles, etc.)

- http://udn.epicgames.com/Three/DevelopmentKitGemsSaveGameStates.html
the "official" system UDK ...
very good system too, it saves almost everything (despite bugs in animations):
- The position of the player
- Animations
- All kismet
- And even physical objects

The problem: it dramatically changes the File Info of the game! It needs its own file info!
So I have come to merge MY RoonSehv info file with the backup system ...
My knowledge of scripts, do not allow it ... so I'm stuck here too!


Help??
If you have ideas, and you want to help us solve this problem, our door is open with great pleasure, you can leave us a message: denis.martin361@gmail.com

Thanking you in advance!
And wishing you a good week!

Appel à l'aide: système de sauvegarde !!

Bonjour à tous !

Nous travaillons toujours d'arrache-tête sur le système de sauvegarde !
Malheureusement, les essais ne sont pas très concluants...
Il y a toujours un bug qui se glisse dans l'affaire... et m'empêche d'avancer comme je le souhaites !

J'ai étudié 2 systèmes:
- http://wiki.beyondunreal.com/User:Crusha/UltimateSaveSystem
C'est un système qui permet de sauvegarder toutes les variables via le Kismet !
Il est excellent et très complet ! et il ne touche pas à nos fichiers Infos du jeu (vous savez: les fichiers qui gèrent toutes les caractéristiques de votre jeu)
Ce sont des gros avantages

Mais le gros inconvénient: il est assez compliqué d'enregistrer toutes les variables dans un jeu comme RoonSehv: par exemple:
vous cliquez sur un bouton, il faut sauvegarder:
- sa position (ou son animation)
- une variable booléen disant: 1 (bouton activé) 0 (bouton désactivé)

Jusque là, ça va... en suite, quand on charge il faut:
- vérifier la variable booléen, si 1 (alors il faut réactiver le bouton) si 0 faut le laisser désactiver

Ca va, vous allez me dire...
Mais imaginez qu'il faut faire ça pour CHAQUE chose dans le jeu ! pour chaque bouton, pour chaque étape, et changement, la musique, le brouillard, les énigmes résolues, ou non. Quand une énigme à 5x16 boutons...

Bref, ça devient assez long et complexe !

- http://udn.epicgames.com/Three/DevelopmentKitGemsSaveGameStates.html
le système "officiel" d'UDK...
très bon système aussi, il sauvegarde presque tout (malgré des bugs sur les animations):
- la position du joueur
- les animations
- tout le kismet
- et même des objets physiques (inutile pour RoonSehv) genre: les impacts de balles, etc.

Le problème: il modifie énormément le fichier Infos du jeu ! Il a besoin de son propre fichier info !
Je dois donc arriver à fusionner MON fichier info de RoonSehv, avec celui du système de sauvegarde...
Et mes compétences en scripts ne me le permettent pas... je suis donc bloqué par ici aussi !


Pour le moment, je vais donc me diriger vers la première méthode, elle est plus simple, et modifie moins de choses ! Mais plus longue à mettre en place et nécessitant beaucoup de méthode !

De l'aide ???
Si vous avez des idées, et si vous souhaitez nous aider à résoudre ce problème, notre porte est ouverte avec grand plaisir, vous pouvez nous laisser un message ici: denis.martin361@gmail.com

En vous remerciant d'avance !
Et en vous souhaitant une bonne semaine !


dimanche 1 juin 2014

Blender to UDK (in progress) (English version)

I inaugurate a new part of the DevBlog : The tutorials…

Of course, we can find a lot of tutorials on Internet and Youtube.

But, the tutorials that I will write are related to RoonSehv, and therefore with the myst-like ! Thought for futures “myst-like” game designers and developers.

I will not go into details and let you learn and search a bit (is part of the pleasure…).

We will start from a Blender 3D Object that you have created!

Blender
To start on good bases on Blender and if you want import object to UDK, I suggest you to set both programs on the same scale.
To achieve this, it’s very simple : you need to go on the spaceview bar (N key) and correct the following values:

- In Display part:
*Lines: 48
*Scale: 32
*Subdivision: 8

So you will get the same representative "checkerboard" of UDK ...

3D Object
You can now create all type of objects that you want. Bear in mind that when you import your BLENDER file into UDK, each meshes will be considered like a different object.

For example, you can create a door as the first meshe in Blender and add a button above as second meshe. So you will have 2 distinct objects in the UDK, you can animate each separately if you want.

Do not forget to correctly rename your objects to find them more easily on UDK.

UV Devlopement
It has nothing to do with the holidays and the tan!

It’s an interesting part that I discovered recently: add a texture. To reach the goal, you have to imagine your object as an origami ... you will cut-it with lines (Seam) then unfold-it like a paper airplane. You'll have a flattened version of your object, and you can work on it!

After selecting the object (edit mode, then "A") You can then click on Unwrap.

So you will get an unfolded version of your object (found in the UV / image editor part).

Here begins one of my favorite parts! Our mission is to "spread" our unfolded object, so that it fills the maximum space on the 1024x1024 image texture (or 512x512 if it is a small object)

There are a lot of tools in Blender that can help you to reach this goal... Feel free to test them.

2D Texture
I will not go into the details of the realization of a 2D texture with Gimp or Photoshop.

Just, bear in mind that is better to create different "layers" in order to edit them separately and easily.

Also think about simple ways to fix your texture at any time. Once these elements are imported into UDK, maybe the result will not be as beautiful as expected... so you will need to rework them on Gimp.

We will apply our texture on our Blender object.

You will need to create several new things: In "Object Data" (on the right): then UV Maps:
- DiffuseMap (containing your personal unfolded UV)
- LightMap (containing UV LightMap automatically generated by Blender: Unwrap-it then click on LightMap Pack)

These two maps are essentials to obtain a good rendering in UDK!

Be careful to avoid the following two errors in UDK, check that your LightMap is set up in this way :
- udk object has overlapping uvs: overlapping UVs (do not cross two faces of objects one above the other)
- udk object has wrapping uvs: UVs coming out from the texture (avoid that a line will get out from the end of the image)

After all this, you need to create a new material in Blender:
And connect the different nodes in the Node Editor by adding a texture element and loading your 2D texture.

So you'll have in the 3D render view, your pillar with his own texture...

This will allow us to check that the texture is correctly applied to the pillar!

Exporter vers UDK:

soon...


Thank you RicKy for your translation !!!