Ttiki's December month letter


Hello everyone. 

HAPPY NEW YEAR! Let's hope the year 2022 will be shinier than 2020 & 2021! Not a lot happened since the last newsletter (November newsletter, well November, I've published it on the 17th of December).

My hopes and projects for this year

I've got things I would like to do during this year. First of all, I want to reorganize the list of projects (app, games, etc.). I've got lots of ideas, and I've even started to develop some.
I've already done the big part of the work, that is, writing down the list of games I'm planning, and believe me when I tell you my mind is full of games ideas! I've been collecting ideas and stories for many years now. 

I also got a smaller list of software and apps I would like to do. To clarify, when I'm talking of applications, I'm not only referring to smartphones apps but also desktop applications for windows (and even for Linux)
Last month I wrote down a list of projects I made for my university. I would like to do the same with apps I want to finish/start working on. 
Note: every application I made will be available to download from my Git Hub page or my website ttiki.github.io. Or, for Android applications, you can find them on my website ttiki.github.io where you will be redirected to the page on the Google App Store (or you can directly search for the app/my developer page on the Google App Store).
Now here is the list:

For Android
I've only got one app idea at the moment. I'm still learning Kotlin and development on Android, but I'm looking forward to developing apps!
The app, which doesn't have a name yet, will be a reminder app where you have to "login" every day and check the day. You would need to create a new reminder for different needs, and it won't need to be every day. For example, I could add a reminder set to every month for this newsletter! 
I want to make this app because I tend to forget things and can't follow habits I need to follow. Also, I think it could help people with addiction, counting everyday past without giving up!
Also, the app would send notifications and forced applications (notifications you can't delete from your notification bar) until you have checked, to make sure you won't forget by deleting the notification and not logging in on the app.

I lied earlier when I said I had only one idea. I've got another one, but it's just a concept. As a developer and someone who likes to organize lots of things, I would like to create a simple Data Base manager. In this app, you could organize lots of things and categorize them. It's blurry at the moment. That's why I told you I had only one app idea.
I will keep you informed about this (and all other apps!)

For Android & iOS and as many platforms as we can

I've wanted to talk about this project last month, but I refrain from talking about it too much. As I'm writing down my TO-DO list for this year, I think it's important I speak about it a little bit.
This app is called Stud'Help! (We didn't realize the wording at first.) 
Stud'Help was a concept project we had to do for university. This was a project from Stonks Life Inc. (I've talked about it last month if you are interested. To make it quick, Stonks Life Inc is a group composed of three and myself. We plan to develop apps and games.)
Stud'Help is designed to help students find promotions easily around them. Life is pretty hard for students (at least in France), and some wouldn't say no to a little bit of help to save money by finding promotions for students. This app would send a set number of cards every day, each card representing a promotion for a place, to the user, which he could accept or reject. If the user accepts the card, it will be saved in his wallet. 
This application will only be available in France for the moment. (It could only be accessible to people where we live at the start.) 
This application is still in the concept phase. We have a long road ahead, yet, it's a project we would like to see grow and published!

Desktop application for Windows / Linux (maybe Mac)

I've got quite some apps ideas for desktop kind of application, here is the list:
  1.  .Hitman²
  2.  Skybox compiler
  3.  MPackr
  4.  Portal Sign Maker (or Aperture Sign Maker)
  5.  DataBase creator

I may come up with other apps ideas in the future. I always found something to make, but for the moment I think I've got enough projects to develop before I can grow this list.
Let me describe each project quickly and tell you about their status (in development, small concept, concept.)

.Hitman²

Status: In development

First of all, I think I should start with the first .Hitman. I made this app for a friend who needed an app you could configure, and it would shut down your computer. So, he asked me if I could develop it, and even though there are tons of apps like this existing out there (which are way better than mine), I still wanted to do it. This first version only had hours, minutes, and seconds, and when you launched the shutdown sequence it would create tons of windows console windows. I used the shutdown command on windows, and I only called this command once on a button press. And I still can't understand why so many consoles open up. Also, made this app a few years ago. I didn't know about good development practices and models like MVC, so I coded everything on the view. 
.Hitman² is a new version, with better UI, better configs now including days, months, and years. And better development overall! I did make a first version of it but never published it because there were some bugs I needed to fix, and I didn't like how I made it, so I will start from the beginning and make a V2 of .Hitman². And, because this application is not big and pretty easy to make, I would like to make it quick and publish it at the beginning of this year.

.Skybox compiler

Status: Concept

This second application is a concept I had for quite a while now. The idea came up during the development of my game Twisted Minds when I needed to create a skybox texture. 
For people who don't know what a skybox texture is, it's a texture used in 3D graphics (games, animation, etc.) that englobe the "world" and has generally a sky texture. Because this kind of texture needs to wrap the world it has to be "compiled" in a certain way. And because each developer has their own view the compilation process is not the same. Just below you can find two images symbolizing two methods of compiling a skybox texture.


Leadwerk's skybox texture format



An example using Leadwerk's format (this is Venus' sky btw from Space Engine)


Source's skybox texture format


Skybox compiler is an image process software where you download your 6 sky images, choose what kind of compilation method you want, and the app automatically creates your skybox texture. You just have to download the result and put it inside your work! 
Even though it's not hard to create a skybox texture, and honestly it's not that hard, the longest process is taking pictures in 360°. However, this app could speed up the process a little bit, and I would exercise my programming skills as well, it's a win-win!


MPackr

Status: In development

MPackr (Short for Maker Packer) is an asset library manager. Chose a location on your hard drive, create a folder structure, put your files in each folder and let MPackr help you organize everything, navigate through your assets and easily search for files.
MPackr also lets you create a pack of files to use in your project. For example, let's use my usage of this app to build a demonstration. 
I've got lots of files, textures, materials, models, scripts, etc. Scripts are generally game engine related (you can't usually use scripts written for one game engine in another game engine), and everything is kind of dispersed everywhere on my hard drives and computers. MPackr would let me pack everything in one place, and when I start a new project I could decide what textures, models, and scripts I want to import to use them inside my project.
Plus, you can export your library from one instance of MPackr to another (from one computer to another.)


Portal Sign Maker (or Aperture Sign Maker)

Status: Concept

Portal Sign Maker (or Aperture sign Maker, I haven't decided the name yet) is an app to create sign textures from the game Portal (Valve). These textures can be used in your mod or other creation, and they can speed up your process if you create a mod because you won't have to manually create a sign for each chamber. 
Portal Sign Maker lets you create signs for Portal and Portal 2, letting you customize icons, room numbers, textures, and even titles!
So, if you select Portal, you will have choices for icons available in Portal. If you chose Portal 2 you will get more choice, and you will be able to choose the kind of sign you want depending on the location and theme your mod takes place (for example regular Aperture, Old Aperture, etc.)
One app already exists that does the job (it's available on ModDB if you are interested), but it doesn't include Portal & Portal 2 in the same app.


DataBase creator

Status: Small concept

Similar to the second Android app I talked about earlier in the Android section, this app would let users create and manage simplified databases to help them organize things. And similarly o the second Android app, it's still blurry, and I'm far from beginning the development of this one.


So this is it for my applications ideas. I've got another small concept, too small to be mentioned here, and because I already got a lot on my plate I will wait before expanding it. I will keep you informed of each project in the future edition of this newsletter. Anyway, if you are interested in them, there are some steps you can do to have the latest information and get notifications whenever this will be published.
First of all, you can follow me on Git Hub and star / follow the repository of the project you are interested in. At the moment there is not a repository for each project. By following me you can get notified when I create and update a repo.
Also, I will launch a developer page on the Google App store when my app application is finished. I will, of course, talk about it, and you will be able to follow it if you are interested in my apps.

Working on Android (and Android Studio)



To make my first app idea on Android possible, I'm learning Kotlin a powerful programming language by Google to develop faster and smarter on Android.

Kotlin (/ˈkɒtlɪn/)[2] is a cross-platformstatically typedgeneral-purpose programming language with type inference. Kotlin is designed to interoperate fully with Java, and the JVM version of Kotlin's standard library depends on the Java Class Library,[3] but type inference allows its syntax to be more concise. Kotlin mainly targets the JVM, but also compiles to JavaScript (e.g., for frontend web applications using React[4]) or native code via LLVM (e.g., for native iOS apps sharing business logic with Android apps).[5] Language development costs are borne by JetBrains, while the Kotlin Foundation protects the Kotlin trademark.[6]

On 7 May 2019, Google announced that the Kotlin programming language is now its preferred language for Android app developers.[7] Since the release of Android Studio 3.0 in October 2017, Kotlin has been included as an alternative to the standard Java compiler. The Android Kotlin compiler produces Java 8 bytecode by default (which runs in any later JVM), but lets the programmer choose to target Java 9 up to 16, for optimization,[8] or allows for more features; has bidirectional record class interoperability support for JVM, introduced in Java 16, considered stable as of Kotlin 1.5.

Kotlin support for compilation directly to JavaScript (i.e., the classic back-end) is considered stable since version 1.3, while the new Kotlin/JS(IR) is in beta as of version 1.5.30. The new optimized implementations of Kotlin/JVM(IR) and Kotlin/JS (IR-based) were introduced in version 1.4. Kotlin/JVM(IR) is considered stable and enabled by default since version 1.5. Kotlin/Native (for e.g. Apple silicon support) is considered beta since version 1.3.[9][10]

Wikipedia contributors. (2022, January 11). Kotlin (programming language). In Wikipedia, The Free Encyclopedia. Retrieved 08:38, January 13, 2022, from https://en.wikipedia.org/w/index.php?title=Kotlin_(programming_language)&oldid=1065015206


To learn this language I'm following the official Google course on Kotlin development for Android. It's been really fun learning a little bit every weekend and experimenting through code labs. However, this means I had to work on Android Studio. If you're a developer you probably know where I'm going with this.
Android Studio if you don't know what it is, is a powerful IDE dedicated to developing apps for Android. 

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editorbuild automation tools and a debugger. Some IDEs, such as NetBeans and Eclipse, contain the necessary compilerinterpreter, or both; others, such as SharpDevelop and Lazarus, do not.

The boundary between an IDE and other parts of the broader software development environment is not well-defined; sometimes a version control system or various tools to simplify the construction of a graphical user interface (GUI) are integrated. Many modern IDEs also have a class browser, an object browser, and a class hierarchy diagram for use in object-oriented software development.

 - Wikipedia contributors. (2021, December 18). Integrated development environment. In Wikipedia, The Free Encyclopedia. Retrieved 08:42, January 13, 2022, from https://en.wikipedia.org/w/index.php?title=Integrated_development_environment&oldid=1060960015 

Credit : System32Comics, Raph_Comic
However, even though I must agree it's a powerful tool for developers, it is slow as hell, very sluggish, heating your computer to 100°C, and wasting your time. You'll spend more time waiting for it to compile or sync up than actually developing your app! And that's a shame because it's fun to be able to create apps for smartphones (and most importantly for me, Android.)


I've been able to develop on two different OS dedicated to smartphones, the first one being iOS and using XCode as a dedicated IDE. Even though I hate Apple for various reasons I won't talk about here, developing for Apple using XCode is a pleasure. It's quick, efficient, and pretty easy. The second OS I've been able to work with was Sailfish OS which I already dedicated a big portion of last month. Ok, maybe this last one was even worse than developing on Android Studio.
Still, developing for iOS with XCode was fun because the IDE is fast and efficient. Android Studio is the opposite. It's efficient, even having more tools than XCode. Yet, all these tools won't speed the production because the IDE is too slow! The day they optimize it, I will put developing on Android Studio well over developing on XCode! 

Other than the differences of IDEs between iOS (XCode) and Android (Android Studio), I much prefer developing for Android and Kotlin. Using Swift to develop for iOS is sweet and easy. But I like challenges, and Kotlin is a big one. It's not difficult to learn, but some concepts are new, and if I'm not mistaken they are, at the time of writing, specific to Kotlin, you won't see those programming concepts anywhere else. But as I said I'm not sure about this. Anyway, Kotlin is infinitely more powerful than Swift in my opinion (and I'm not saying this because I hate Apple, I can't deny their product are cool, and Swift is an interesting programming language!) I'm looking forward to finally creating my app idea and other apps for Android in the future and to finishing Google's course about Kotlin development.

Working on iOS / Xcode

I didn't plan to write this section here, I've talked about working on it last month, and I only thought I would write a section about working on Android Studio, but as I have to work on Apple for my University (RecetteDuMondes, see last month newsletter for more information about this project), I would like to write a little "article" about working on Apple and XCode.
My university got one Mac room, accessible to any student but with priority for us in computer science. We worked on these during the whole semester as not many people tend to have an apple as the main computer when you are a student.
We could work freely on those to make the different projects we had to do, however now that the holidays have started and people went back home, going to the university is not an option anymore. To make it clear, it's still open for the student to come and work, because researchers don't have holidays and continue to work at the university. Anyway, the problem is some of us live far from the university, 45min to 1 hour long (or even longer) drives. 
To help us they bought mac minis, which we can connect to any time we want using VNC Viewer. The first couple of days in working with these, problems arose. Some people couldn't connect; they were pretty slow to work on and, the first time I used mine, I disconnected from my session on the Mac mini before disconnecting the connection on VNC Viewer. The next morning, I woke up early to work on my project and I couldn't connect anymore. A "0px width error showed up", and I think it showed this error to anybody trying to connect... I don't know if it's my fault or not, but I like to think I crashed the entire mac-mini network for everybody (because nobody could connect after I've logged out of my session.)
A couple of days passes, the guy at our university who set them up fixes them, and we can start working again. No, we had to do an admin-only update.
I would like to make a little note here, each time these mac minis crash, we must use another IP address to connect to. It's not a big deal, but it's pretty funny to think we had to change this IP approximately 5 times in less than two weeks. Thankfully they gave us a dynamic link, so no more IP address changes (hopefully).
Anyway, I don't know how hard it is to setup mac minis, the guy who set them up, and practical work on the global network and logistics of our network, is pretty smart in this domain, so I don't think he is the problem (well, let's hope.)

Anyway, now that we can work, even if it's 1 image per second, so writing a line that takes like 5 seconds to show up on the screen, we could continue our projects. Thankfully, we had an extension to our deadline for the first project (RecetteDuMonde).
Now, to resume quickly, we have to make an app where the user can scroll through many recipes. He can see the description, country of origin, and list of ingredients for every recipe. He can even see recipes directly on a map. If the user clicks the annotation on the map, we would need to display every recipe of this country.
Taking note, we had only worked with maps once, and our navigations system has only been rudimentary. My big problem was making a navigation system between all the views that make this app. There is one place in the app where I've fought for hours trying to understand why my segues (navigation) didn't work. 
So, to make some context for this story: I have a table view that displays the list of recipes as a list. When the user clicks on a recipe he/she is brought to another view with more details (like the description, the list of ingredients, etc.)
This simple connection between two views, it's pretty simple on paper and, for people who know segues and Swift correctly. I've been scrolling through many forums when on the 22snd of December, I found THE blog that helped me figure out the code to pass the information I needed to the detailed view depending on what cell (recipe) the user had clicked on!
After that, I've got most of the information displayed correctly on the detailed view.
To change the view, the user can click on a single button, and I can re-use the code from earlier as it's pretty much the same. Rather than finding myself in the Basque country, the app sends me to the west of the African coasts. 

Ok, lot of complicated programming jargon just to say my app isn't working. My mental health is low right now, I think I won't want to hear from Apple ever again, at least for a long time!


New update (from the same date (22dn of December): I've been able to pass most of the data to the detailed view, only the list of ingredients is missing now. Plus, I've got the "Show on map" button working if the user clicks on a recipe then clicks on the "Show on map" button, it will show to the country of origin with a zoom on the map to the specific location.
To compare, when the app is launched, the map is zoomed out pretty far to show multiple countries. I've only got to work with the ingredients and add them to each recipe, make them show on the detailed view, and pretty much all the code related to ingredients to implement to have the final version I need.

Movie & series of the month


First edition of the movie & series of the month! Let's start with the series!
I would like, before we begin, to warn you about spoilers! I will try not to spoil much about the series or movie (or book) I'm writing about, but sometimes I may tell some parts or scenes that may be spoilers. Be warned about spoilers if you want to read or see the series/movie I'm talking about, watch it before reading about it here, just in case!

Serie of the month


Arcane
You've probably heard of it by now (mainly if you are a League of Legends player.) Arcane is the latest hit on Netflix. Made by the Riot Game and Fortiche, this animated series in the universe of LoL is something I didn't know I would love that much. I don't like LoL it's not my type of game (I can't say I tried playing it, but I may in the future with some friends, who knows.) I didn't even know Riot Games put so much development in its universe. I thought they would do like many would have done when introducing a new hero, just writing a little blog post, maybe making a little trailer video, not extending the story of the universe in its globality, but ho god how wrong I was!
The universe is so diverse and interesting to look at. They put a real effort into it, and I would like to explore it in its most tiny details! 
I think Arcane was a good introduction to this universe. The characters are lovely and endearing, the soundtrack used for the series is awesome (I'm listening right now while writing these lines), and the story is beautiful (as well as the design and animation and drawings, action scenes, and dialogs.) Yeah, I love this series, and I must admit, I love Jinx! The character is so endearing, and her story is powerful. Plus, it's the type of character I love in fiction.
Fortiche did an outstanding job on the animation and visuals of the series. Words can't describe how much effort was put into making this series. Details everywhere, lively characters (even background characters), intricate story, it's wonderful. 
I've watched the complete series in only two days, and god I would love to see more. I'm a bit disappointed by the end, not because it's bad, but because it leaves us at a turning point in the global story of the entire Arcane/LoL universe. I don't know if there will be a season 2 or if it's now connected to the game, and you would have to play or read about it online to get the continuity of the story. 
This is probably the kind of series I will revisit in a few months/years again and again and again. 
I invite you, even if you are not an LoL gamer, to watch Arcane, it's available on Netflix. (I think even if you are not a gamer in general, this series might please you!) The strong point is being able to follow and understand everything even if you don't know a single thing about LoL's universe.

Movie of the month


Evolution
I stumbled upon this 2001 SciFi-comedy movie when watching videos from the YouTube channel FilmComicsExplained (I invite you to go and watch/subscribe to this channel, this man's work is incredible and his videos are incredibly well done.)
Anyway, this movie made me laugh quite a time, which normally this type of movie doesn't make me laugh. Starring Orlando Jones, Seann William Scoot, David Duchovny, and Julianne Moore as the main characters, the story takes the alien invasion / classic Sci-Fi movie to a different path than what we're used to seeing. (Yes, we've got some other Sci-Fi comedy out there which I love, but most of them break the classic rules!) Evolution, behind its comic scenes, may have created the perfect alien invasion scenario which could end Humanity. I won't say why, you must watch the movie, you'll understand quickly what I mean by this.
Of course, the visual may seem outdated for our standards nowadays, however, we have to keep in mind it's a 2001 movie, and, in my opinion, the visual effects are really good. Mainly because they must have used lots of practical effects and not just CGI (and the CGI is still pretty good.)
If you're a fan of the genre, I would invite you to watch this movie, it's not that long, a classic size for a movie, and there are some pretty funny lines and scenes.

Mod of the month


For this first edition of Mod of the month, I will play three different mods! So let's start this first edition of Mods of the month!
I just want to explain why I've played three mods before I began describing them and talking about my opinion on them. These three Half-Life mods are connected. First, we have TWHL Tower, then Cenodrome, and finally TWHL Tower 2. These three mods can be found on RunThinkShootLive.com (https://www.runthinkshootlive.com/). I invite you to take a look at the mod by yourself if you're an FPS retro-style fan.
Also, the last point before we begin, I will try not to spoil big sequences and twists in the plot when talking about these mods!

TWHL Tower

TWHL (or The Whole Half-Life) is a community website to let modders help each other with modding Half-Life. This website is a real gem for Half-Life enthusiasts and modders alike. Now, let me (modDB) tell you about the mod description: 
Back in February 2015, a group project was started at The Whole Half-Life (TWHL). Each mapper would have a set amount of space to create a floor in a tower. The gameplay, appearance, and story of each floor are unique, decided by the mapper. After a few months, the final maps were sent to Urby, who linked them together, added a start and end map, and the result was TWHL TOWER! - ModDB page of the mod
You start from the ground floor and fight/puzzle your way through each floor to get to the roof and fight the final forces to free the tower from the invasion!

So, this mod is like a mod competition where mappers had a specific size for their map and had to create an experience from it. These mods break the original Half-Life experience and are pretty cool and fun to play. I went blind to all three mods, and I'm pretty happy I did. 

I won't spoil any of the floors for you. I've taken some screenshots of some of them because I found the level design or concept interesting. However, I strongly encourage you to play this mod by yourself if you have Half-Life and like playing some mods. It won't be your casual Half-Life experience, some mappers had ingenious ideas for their floor, and some jokes are pretty funny (some may be understood only by Half-Life fans and TWHL community members.)
The mod itself is pretty short, in around 30 to 45 minutes of gameplay. I didn't record myself nor put a timer (hopefully, I'll be able to stream and record next month, making this section of the newsletter easier to make.)

Here's a screenshot of all the floors in this tower, as well as the mapper who made them:


And here's some random screenshot from the mod (not sorted in a particular order)




















 









And now, some general screenshots from a different floor, I'll write a little description with them to hopefully make you want to play this fun little mod!



If you want to experience, this you can follow one of those two links:
  •  https://www.moddb.com/mods/twhl-tower
  •  https://www.runthinkshootlive.com/posts/twhl-tower/

TWHL Cenodrome

Following the TWHL Tower process, this standalone map experience follows the rules and uses "the mold" of TWHL Tower to create a new experience. Here's the description from the ModDB page:
Cenodrome is a small standalone map made in the mold of the TWHL Tower maps. Put together by regulars at The Whole Half-Life site, TWHL Tower was a collaborative mapping project where each mapper constructed a small floor of the tower, and each floor was joined to others by a stairway. Cenodrome is the long lost-basement of that tower. - ModDB page of the mod
This one map experience is really funny and finally, let me do some fight experiments between NPC who wouldn't usually fight together. Also, there are lots of gears you can play with to reset the arena such as air strick or even a NUKE!
This standalone is funny to play, they used the VOX system voice to make discussions with NPCs funny to listen to. Also, even though it's a one map experience, it's pretty long.
I made some screenshots for the first few fights choices, but choices get crazier as the map continues. 
Just like for the TWHL TOWER mod, I strongly invite you to test this little funny experience alongside TWHL Tower. 

The screenshots now:
















If you want to experience the mod yourself, you can follow one of those two links:
  •  https://www.moddb.com/mods/cenodrome
  •  https://www.runthinkshootlive.com/posts/cenodrome/

TWHL Tower 2

A continuation of TWHL Tower, which takes the same rules as the first experience and expands it in a longer and more polished mod! This time you'll get around 1 hour of gameplay (depending on your gameplay style). 
I can't add more to this as it's pretty much the same as THWL Tower with more floors to the tower, and a more polished look to it. Here is the mod's description on ModDB:
TWHL Tower 2 is the follow-up to the collaborative mod TWHL Tower from 2016. A group of regulars at The Whole Half-Life site created a map or 2, or 3 !) that make up the floors in this tower. Each floor has a very small footprint but each has its unique style, for you to fight/puzzle/sneak through on your way down from the roof. Reach the ground floor and finally escape! - ModDB page of the mod
Yes, I forgot to mention, this time you do not ascend the tower, you descend it to the ground floor to escape! Also, a new addition for this second episode, you have collectibles to find on each floor. A Half-Life Disk is hidden on each floor. Collect > 80% of disks in the tower to access a secret final map. I won't spoil you the secret.

Here are some screenshots from TWHL Tower 2.

















And here's the screenshot with all the mappers



As always, if you have played the first mod, I can invite you to play this second episode in this series of TWHL Tower! 


If you want to experience this mod you can follow one of those two links:
  •  https://www.moddb.com/mods/twhl-tower-2
  •  https://www.runthinkshootlive.com/posts/twhl-tower-2/


Overall, I had a great experience with TWHL's "Tower Saga". I thought it would be normals Half-Life experiences (I went blind on these), but I was happily surprised by the mods and what each mapper went with, each with their style, gameplay, and graphical wise. 
Hopefully, I'll be able to stream and record (in french, sorry) for next month. Anyway, it's a section I would like to continue in the future edition of the newsletter!


Here we are at the end of this month's letter! I hope you have enjoyed reading it. I like where these newsletters are going. I still need to make some adjustments to the structure and my writing, there is always room for improvement!
If you have any return to make, please, feel free to use the comment section below. Have a great day, and, hopefully, let's hope this year's beginning will be shiny for everyone!

Thanks for reading through this article. Feel free to post a comment and share your thoughts. Have a nice and wonderful day. 
Ttiki, 
adios.

Comments

Popular Posts