🌸 Fri, Oct 8, 2021 🌸
Jekyll is awful. Documentation is very strange and confusing. I cannot figure out how to make the footer to show only root pages.
🌸 Fri, Oct 8, 2021 🌸
Oops… I put month instead of minutes
🌸 Fri, Oct 8, 2021 🌸
add autoupdate git script
🌸 Fri, Oct 8, 2021 🌸
Added keyboard shortcut Alt-Shift-Ctrl-0 to be able quickly add
notes. I am thinking may be also add a way to broadcast it into the
twitter.
🌸 Fri, Oct 8, 2021 🌸
Added new way to make quick posts.
🌸 Sun, Oct 3, 2021 🌸
Yesterday at night I binge-watched first season of “Violet Evergraden”. I related to the hero of the move - Violet. Without spoilers, she is looking for someone who can give her directions. She does not know what to do by herself, and also she is trying to understand what is love - what does love mean. Lately, I feel I cannot feel love anymore. The world fells gray without love. I watched some pictures yesterday with my daughter, and it reminded me how my life used to be, it feels like it was more colorful, and I was happier. Also, Violet face is always emotionless, and I lately don’t laugh or even smile too much.
It looks like I lost in my life. I know I want to be happy and making games makes me happy. I just finished a Ludum Dare jam, and it was fun. I am making games, but it does not feel like a permanent solution, and I am not happy with the outcome. I am doing game development in between of my life. Even I am working in the AAA game studio mostly it is not a game development. A lot of things are not related to the game play and a lot of things are not related to programming at all. Zero art as I hired as a software engineer. And lately I do not have too much time to do my side project/s. Plus couple of months ago I hit a wall, I did not feel good - health-wise, did not have energy and motivation to do anything. I figured, I did not have enough exercise, and it affected my health. So I started 1.5 hours walks every day, and it is quite big part of the day. Walks are helping with my health. But I have less time to make game, and again I am not sure if it is correct directions. I love making game, but I cannot see how I can make money and sustain my life and my family.
There is another consideration I mentioned in the previous post about getting older.
Doing a million things at a time makes me feel very productive, but I am not making progress. I want to be able focus on one thing and be happy with it.
Even with my game projects. I have Ordy and had 2 game jams in the past. And I am thinking maybe it would be good strategy money-wise making very, very small games on the web.
Learn:
- ☑ Terrain
- ☑ Animation
- ☑ Character design
- ☐ particle effects
Make online game / P2P
Game Ideas
Themes from Ludum Dare
- 1 HP
- 1 minute to prepare
- 1 vs 100
- 3 Rules
- A Hard to Let Go Feeling
- A Small World
- A World in the Skies
- A light in the dark
- A single resource
- Absorb your enemies
- An abandoned world
- Astral Plane
- At the beginning there is nothing
- Automation
- Bouncy World
- Break the cycle
- Broken world
- Butterfly Effect
- Chain Reaction
- Change the genre of a classic video game
- Clockwork
- Color changes everything
- Combine 2 incompatible genres (e.g. turn based racing)
- Connections
- Contagious
- Contain it
- Containment
- Control the environment, not the player
- Dark / Light
- Darkness is your friend
- Day and night
- Death is not the end
- Death is only the Beginning
- Death is useful
- Decay
- Deeper and deeper
- Delay the inevitable
- Delivery
- Different perspective
- Don’t trust the game
- Dreamland
- Dreams
- Duplication
- Dying planet
- Each playthrough builds on the last
- Everything grows
- Everything has a Price
- Everything is Too Little
- Everything is connected
- Evolve
- Evolve to survive
- Expanding
- Expansion
- Factory
- Feeding the monster
- Floating islands
- Fragile
- Garden
- Generations
- Hidden world
- Inconvenient Superpowers
- Into the unknown
- Island
- Isolation
- It only changes when you aren’t looking
- It’s spreading
- Janitors at a School for Wizards
- Keep growing
- Keep it alive
- Layers
- Leave something behind
- Light is key
- Limited memory
- Limited space
- Lost signal
- Low Expectations
- Low Tech
- Machines
- Magic, but at what cost?
- Making connections
- Microscopic Life
- Momentum
- Moving fortress
- Mutation
- Night is coming
- Nightlife
- No upgrades, only downgrades
- Nomad
- Nothing is permanent
- On / Off
- One Level, But Constantly Changing
- One Tool, Many Uses
- One enemy only
- One item, many uses
- One minute
- One room
- One time use
- One tool, many uses
- Online Dance Battle
- Only 5 minutes
- Only one enemy
- Only three colors
- Outdated technology
- Parallel Dimensions
- Parallel worlds
- Parasite
- Pausing has Consequences
- Play with Food
- Protect it
- Ridiculously overpowered
- Risky powerups
- Ruins
- Running out of space
- Sacrifices must be made
- Safe in the dark
- Salvage and repair
- Save yourself, not the world
- Self-replication
- Sensory Deprivation
- Shelter
- Shipwrecked
- Side effects
- Signal lost
- Simplicity
- Small character, big enemies
- Small world
- Space exploration
- Split in two
- Start with nothing
- Stuck in a loop
- Summoning
- Take one, leave one
- Take one, leave the rest
- The 90s
- The Robot Uprising
- The Zodiac
- The environment changes you
- The more you have, the worse it is
- The world changes when you are not looking
- They Are Listening To Us
- Tiny machines
- Tiny town
- Turn a violent genre non-violent
- Two Colors
- Two connected worlds
- Two points of view
- Unconventional travel
- Underground
- Unusual magic
- Upgrade yourself
- Wait, Are We The Bad Guys?
- World of Waves
- You Control The Environment, Not The Character
- You are Alone
- You are not the main character
- You are the final boss
- You are the power source
- You are the weapon
- You are what you eat
- You can’t save them all
- You control the environment, not player
- You control the scenario, not the character
- You really shouldn’t mix those
- Your life is currency
Action RPG
First Person.
World: * steampunk * sci-fi * robots * fantasy (magic world “classic” RPG) * cyberpunk * GTA * Post-apocalyptic (zombie, nuclear waste) * superheroes
Races:
Quests:
Robots World
Utopian World.
Robots do everything for human.
You play as a robot.
- Farming
- Cooking
- Babysitting
Toy Detective
Like a minesweeper but with toys.
Find Walter
Adventure
Edison Motors
Simulation like RollerCoaster Tycoon, Sim City, Settlers
Minecraft
Game which require more programming than art.
AI.
A lot of rules, have on game mechanics.
Sophisticated quests.
World generation.
Progression.
Rare items.
Why Minecraft is boring:
- boring quests
- world is not diverse enough
- no sense of progression
Parkour
GTA
Bed Wars
Zombie defense (like tower defense)
There’s a storyline about you have gotten trapped in a tower you have 3 chests each of these chests have weopons use the weapons to shoot the zombies oh and also good luck
if the zombies get to close the tower gets strinked and then when it fully shrinked you will get another weopons a knife
there are 5 chapters of these, and it will get harder
in the last chapter there will be a boss
In each map there will be hidden loot to gather.
But each map don’t also have a tower you will also be underground or in a plane zombies will also get upgrades when they get to close to any kind of building
when zombies get their upgrades there will either have guns on their shoulders superpowers wall climb or flying (when they fly then land on your tower and start killing you)
gather any kind of loots zombies drop-down to upgrade your self
Eating contest
Gold Rush Sim
- Exploration
- Drilling
- Blasting
Gold Ore
Slurry
Dredge
Miner’s moss
Gold Bar
- prospecting
- heavy machinery
- tracks
- excavators
- bulldozers
- wash stating
- panning
- Sluicing
Paydirt
- trummel
- slucebox
- Consentrate
- panning
gold sand
food
- water
- diesel
Game Dev Simulator
Another RTS
Tamagotchi
Game based on Book of Esther
https://www.jewishvirtuallibrary.org/esther-full-text
Gender: Cute RPG
Questions:
Q.textured assets or not textured or mixedA.mixed (favoring textured) (can use marketplace)
Q.one level or multiple levelsA.multiple levels
Q.online or single playerA.single player
Use TTS to make NPCs talk.
King Ahasuerus, queen Vashti
King made a feast
queen made a feast
Mordecai Esther
Esther had not yet shewed her kindred nor her people
Haman promotion
Mordecai bowed not
banquet
Quests:
- collecting herbs to make an essential oil
- Beauty contest
- Invitation to banquet
- Banquet
- Invitation to banquet 2
Banquet 2
Spells
- Weapons
- Mobs
Visual Novel
Terraform
Flight simulator
Fighter game: mortal combat, smash brothers, street fighter
Fighter game Dead or Alive with hot guys
You are the shutting star, and you have to destroy as many planets as you can.
You need eggnog from worlds; they are not giving it to you, making you angry.
We are reviving planets, fighting planetary leaches.
-
No farming. You get fired from the job, try to be an actress, you come home, your mom died, call cops, cops won’t do anything, close the case. The conclusion, she had a heart attack. You are solving the mystery. Naiber lady, ask for sugar. Mom is a part of organized crime. Police was briebed. : and a smoking hot detective comes in to help you helladownweather : and now you are torn between the bad boy detective and the direct and hot officer : the muder mystery game is also a dating sim
that could be useful when talking with the also-hot witness ere could be interesting interrogation mechanics too Bad Bitch Mom is Dead Bitch Mom
Dollmaker game
Constellations, release all people from the constellations.
-
Creative brief
The target audience is 15-22 year olds and people interested in fantasy and mystery
Sizuka and Dominic live in the underground or (Place name) all of their lives, they have no idea how they got there or how they came to exist, the names that they have are even names that they came up with. After some time Dominic began to ask questions, he wondered if there was a world outside the underground so in the pursuit of finding an answer he and Shizuka, with the help of her magical powers began to create a plan to find a way out of their home.
Shizuka’s powers
Shizuka has the unique ability to draw and cast sigils. This is a power that the player will be able to take advantage of in order to find a way out of the underground.
Sigils
Protection sigil: gives the player the ability to create a shield agaist possible enemies (cannibals, animals and so on) it will simply reduce the damage by 50%
Lift: this sigil gives the player the ability to lift and move objects out of her way, but she can’t lift objects that are too heavy. Not only that but the payer can only lift larger object for a short period of time. And the lift sigil will have a cool down period.
Daggers: This sigil will create 10 daggers out of magical energy, in which the player can use to attack enemies. Each individual dagger will give an enemy 5 damage (so a possibility of 50 total damage) the player will have the ability to upgrade this sigil as the game progresses.
Hidden secrets: This sigil will give the player the ability to see any hidden pathways that may be close by. This sigil can only be used 3 times in every area. After those three times it’s up to the player to find said secret pathways, some of which could make playing the game easier.
Enemies
The most toxic online game
Finished games
Meme Xmas Tree
Story Gremlin stole all decorations from the Xmas tree. You have to be creative to save the Xmas and find a substitution for the decoration before midnight.
Gameplay Walk in the house, collect memes, and decorate Xmas three with memes.
Marooned
Survival game.
Day night cycle
marooned island with the mountain in the middle
Resources:
- water
- food
- shelter
- tools
- fire
Weather:
- rain
Day/Night cycle
Stats:
- hunger
- thirst
- mood
- health
- hygiene
- temperature
- comfort
- stamina
Activities:
- fishing
- hunting
- gathering
- building
Animals:
- bird
- fish
- clamps
- scorpions
- crabs
Resources:
- stone
- rope
- sticks
Tools:
- spear
- knife
- fishing rod
- axe
End game criteria
- build a boat
- have enough food and water
- be able to navigate
Have multiple environments. Downside: expensive to develop.
Puzzle Game Dream of Bells
Cowboys, vampires, pirates, and ghosts dating sim
The game is like Sims but a first-person view.
Story
You are a vampire girl, and you go to school. Pirates, cowboys, vampires, and ghosts are studying in the school with you.
Parents send you money every month.
The day is one hour.
The name of the game: “Cowboys, vampires, pirates, and ghosts.” You live in the dorm and have to go to school every day. In school, cowboys, vampires, pirates, and ghosts are studying with you. You are a vampire girl. Your parents send you money every month. Not too much, enough to have food and pay for rent, and for some little fun. Dating, of course. The style is kind of Monster High but 3D.
I am afraid character design will kill me in this project. Maybe make characters modular, and randomize them.
Character names.
Stats:
- hunger
- thirst
- energy
- health
- happiness (will affect your tone in the conversations)
- hygiene
- bladder
- mood
- Cheerful
- Reflective
- Gloomy
- Humorous
- Melancholy
- Idyllic
- Whimsical
- Romantic
- Mysterious
- Ominous
- Calm
- Lighthearted
- Hopeful
- Angry
- Fearful
- Tense
- Lonely
Buildings: dorm, school, movie theater, bar, restaurant, park Props: table, fridge, stove, chair, computer, bed, armchair, sofa, TV, paints, dining table, stools, bathroom, sink, toilet, shower.
Characters:
- Cowboys
- vampires
- pirates
- ghosts
- teachers
Activities:
- Dates
- movie
- restraint
- fast food
- going to school
- dressing, manicure, make up
Presents
Conversations
Different types of conversation will drive the relationship graph
Relationship graph
- how good they know each other
- how close they are
- how romantic they are
Visitors
- Eating
- Sleeping
- Going to the restroom
- Taking shower
Mirror
Meme Xmas Tree
Story Gremlin stole all decorations from the Xmas tree. You have to be creative to save the Xmas and find a substitution for the decoration before midnight.
Gameplay Walk in the house, collect memes, and decorate Xmas three with memes.
Fall (Geometry Dash with a cat)
Puzzle Game Dream of Bells
Twitch Game
Unstable
- A game where you play as a mentally unstable person. You can change your personality at any time, but each new personality has its own unique abilities and limitations.
- A first-person shooter where you play as a schizophrenic and the only way to win is to kill all the voices in your head.
- A game where you play as a schizophrenic trying to keep your delusions and reality separate.
- A game where you play as a character who is trying to escape from a hospital. The hospital itself is an ever changing maze, and the walls are made of flesh.
- A platformer that has the player control a single pixel on a screen. The player can move around and interact with certain objects in the environment. The main goal is to collect all of the colored pixels on each level.
- The game is called Unstable. The game is just that, you are a newly formed life form that can’t quite stay in one place. You have to move around to survive. The only way to survive is to collect other life forms and grow your unstable being into something bigger. The controls for
- A game where the map is generated procedurally, but becomes unstable over time. The game is divided in two phases: exploration and survival. During exploration, you can freely explore the map and find new areas to unlock. Once you start the survival phase, the map will slowly become more and more unstable
- Unstable is a game where you control a ball that can change its shape. The game is set in a world where physics are very unstable. You will have to use your unstable ball to solve puzzles and to progress through the levels, but it’s not easy! Each time you change the shape of your ball, the physics of the world change too.
- A game where you play as a lab assistant in a lab that is testing out a new chemical compound. As you progress, the compound becomes more and more unstable, and things start to go wrong. Levels start to break down and randomize, and eventually the main character starts to lose their mind.
- A game where you control a character who is slowly losing his mind. As time progresses, the world around him becomes more and more unstable, with objects and characters appearing and disappearing at random. The player has to stay sane long enough to find a way out of the level.
- Unstable is a game where physics are constantly changing. The player has to adapt to the changes in order to progress.
- Unstable is a game about an AI that has gained sentience and is trying to understand the world around it. It’s learning process is very unstable, causing it to glitch out and change the rules of the game every time you play.
- You are lost in a simulation of a world run by an AI, who is determined to make you fail. This world is constantly changing around you, with the AI constantly making changes to try to make your life difficult. These can be large weather events to try to kill you, random encounters with creatures
- A roguelike platformer with a heavy focus on permadeath and replayability. In this game, there are no shops, only resources you can pick up from enemies or from the environment. You can use these resources to craft weapons and equipment which you use to fight monsters and rescue NPC’s
- A game about mental illness. Imagine a game where your character doesn’t have to defeat his enemies; they’re all in his head. It’s not action-oriented, but rather about the mundane tasks of living with an illness. The player has to complete daily tasks like brushing your teeth or taking your medication, while also addressing more profound problems like their character’s self-image or inability to trust others. This game could be an interactive story about coping with mental illness where the character can choose to take on some of the burdens of their illness, or ignore them entirely. This choice is reflected in how the game plays out.
- A racing game in which the tracks continue to move and change. You can eventually use that to trick your opponents into falling off the track, but if you’re not careful you could just as easily drive off yourself.
- Unstable - a game where you play as a man, who wakes up every morning with a new body. Each body has different abilities, but all have the same goal - to get to know everyone in his village, and help them with their problems.
Unstable is a PvP game where everything resets if someone dies. The players are fighting on a map of some kind and they can build and destroy blocks with special abilities (for example, a block that makes you immune to damage or a block that fills in areas where there are no blocks). This is an interesting way to make a deathmatch style game with elements of building and exploration.
The main risk of Unstable would be dealing with griefers. If they kill the other players, they lose out on the combat. If you’re playing against someone else, it risks being irritating for them to have to deal with all their stuff getting destroyed by another player who just wants to screw around.
- The player is a robot whose programming is unstable, causing them to glitch in various ways, using this mechanic to solve puzzles in a Metroidvania style game. The game runs on an old computer which can be upgraded to change the way things respond, increasing the power of the robot, allowing new paths to be opened and things to be interacted with.
- Go on a tour as a Doctor as you restore some patients to as close to perfect health as they can be. Things will break and shake as the Unstable patients react violently to your actions. You will have some emergency supplies on hand, but enough for everyone?
- In Unstable gravity does not behave as expected. Levels are often alive, with their own movement patterns and goals, and sometimes they will play tricks on you.
- The game rules are in constant flux. As you play, the gameplay is constantly changing, so much so that the only way to win might be to change the rules yourself. You have to cause paradoxical events in order to win.
- Create a platformer that uses features that are only unstable, buggy or otherwise have limited functionality. Use them to your advantage to complete the level, but also know that they will cause problems!
- A procedurally generated platformer about a man who wakes up every day in a different parallel universe with all the same surroundings but shifting laws of physics and people’s personalities to awkward and sometimes dangerous degrees.
- Have you ever played a game where bugs in the game broke it so much it’s no longer fun to play? The player knows exactly where the bugs are but doesn’t have the tools to fix them so they have to work around them. Think about how much strategy you could implement in a game if you gave the players some tools to break it on purpose. Imagine a level where a slight misstep on a non-essential platform causes a cascading failure of the level, sending you back to the beginning. Imagine a character that chooses to have an incredibly high defense, but be unable to use items. Imagine a character that has an incredibly powerful and useful item, but is unable to jump. You could also do something like what Dark Souls did where it gives you the ability to break your own game with enough skill. The player does not have the tools to fix things, but they can
- Unstable is a game about balance and fairness. By dropping and stacking blocks, you can create precarious stacks. Some stacks will be stable, and you can manipulate them as you like. Others will be unstable and may even be destroyed with a single touch. You can make things easier for yourself by creating stable stacks and carefully destroying them, but even then you’ll have to watch out for hazards such as spikes or lava.
- Unstable is a game about building a tower to the sky. The twist is that instead of building the tower on solid ground, you build it on ice floes that are slowly drifting away. The player has to jump between ice floes to gather resources, all the while making sure their tower doesn’t fall apart!
Game Jam. Theme: Unstable
Name of the game: Brekout.
The game by itself is unstable: it crashes randomly and has weird bugs. Part of the game play is fictional communication with the developer of the game.
Title Screen
The game starts with a title screen “Brekout”, which shows the name of the game, its developers, version 0.0.1-a in the and bottom right corner, and the play button. As soon as the player clicks on the play button game crashes. In the prompt player has an option to report the crash to the developer. After a while developer sends a message to the player reassuring the crash bug is fixed.
The game restarts, the player clicks on the play button again.
Loading Screen
The progress bar is slowly moving forward. Suddenly, it starts moving erratically. And the game crashes again and restarts to the Title Screen.
The player clicks on the play button again.
Loading Screen 2
The progress bar is slowly moving forward. Suddenly, it starts moving erratically. The game crashes again. The player clicks on the play button again. This time the progress bar moves forward normally and game loads up.
Game Screen
The player plays the game, which is actually a classic “Snake” game.
The player controls the snake with the arrow keys. The gameplay is very unstable. Sometimes the snake moves in one direction, sometimes it moves in another direction, sometimes it disappears, sometimes it reappears. The player can get killed by touching its own tail or by crashing into walls.
The game ends when the player crashes into walls or its own tail.
List of bugs: * Snake moves in the incorrect direction * The tail sometimes become shorter * Tha tail sometimes become very big * Snake can go through the walls * Score may become negative * Score may become huge * The snake disappears
Prompt
The message from the developer appears in the center of the screen. It explains that due to a bug in the programming, it is hard to make the game stable. The developer wants to make an update. It asks to wait for a while and the game restarts.
Title Screen
The same as before: it shows the title and the progress bar. Also, there’s a message from developer that it has fixed all of those bugs and that Snake should run smoothly now. After some time, the game restarts.
Loading Screen 2
The same as before: it shows the progress bar moving forward.
Game Screen 2
The game runs smoothly, but it is actually not the same game. The player controls the Snake with the arrow keys. But the gameplay is different. There is a wall at the right side of the screen, and there is fire at the left. The Snake has to try to get to farthest to the right side of the screen. To do so it must touch the walls.
The Snake can go through the fire and the tail dissapears from the screen and game crashes. Also, the Snake can go through the left side of the screen. If it touches one of those walls or goes out of the screen, and game crashes.
Also, there are 2 types of fireballs that are constantly moving around. If the player gets hit, the game crashes and restarts.
Prompt
The message appears again in the center of the screen. The developer apologizes for making this game too hard. The message asks to wait for another update and then restarts the game to the Title Screen.
Title Screen 2
The same as before. At the top of the screen is the message that the game has been updated, and it should run smoothly now. At the bottom of the screen are previous messages from developer. On the right side is a button labeled “Reset”. Clicking on it, the game restarts to the Loading Screen 2. Clicking on “Play” starts the game.
Loading Screen 3
The same as before: it shows the progress bar moving forward. But after a while it goes back to 0%. Over time, it slowly moves forward again.
Game Screen 3
The game runs smoothly, but it is actually not the same game. The player controls the Snake with the arrow keys. But the gameplay is different. There are blocks of different colors on the screen, and there are two fireballs constantly moving around.
Snake does not die if it touches the block but block changes the color and the block disappear after the player touches them 3-4 times. Also, touching the fireballs makes the Snake explode, and the game restarts.
There is also a button on the top of the screen that changes colors. On some colors it takes away 1 point all of the time. On the other colors it takes away 10 points all of the time. If the player touches that button, it kills the snake, and the game restarts.
Prompt
The message appears again in the center of the screen. The developer apologizes for making this game too hard, and asks to wait for another update. The message asks to come back after a week. The game restarts to the Title Screen 2.
Title Screen 3
It shows the progress bar moving forward, and asks to wait for a while. The message on the right side shows previous messages from developer and a “Play” button.
Loading Screen 4
The same as before: it shows the progress bar moving forward. After some time it goes back to 0%. Over time, it slowly moves forward again.
Game Screen 4
The game runs smoothly, but it is actually not the same game. The player controls the Snake with the arrow keys. The gameplay is similar to the first version, but the graphics are different. There are blocks of different colors on the screen, and there are two fireballs constantly moving around.
The block disappear after the player touches them 3-4 times. Also, touching the fireballs makes the Snake explode.
There is also a button on the top of the screen that changes colors. On some colors it takes away 1 point all of the time. On the other colors it takes away 10 points all of the time. If it touches that button, it kills the snake, and the game restarts.
Prompt
The message appears again in the center of game screen. The game has been updated again, and should run smoothly now. The message asks to wait for another update and then restarts to Title Screen 3.
Title Screen 4
At top of screen there’s a message that Snake should run smoothly now. There’s also a progress bar moving forward slowly, and there’s a button “Play”. On bottom are previous messages from developer and at right side is another button “Restart”. Clicking on “Play” starts the game with Game Screen 4 (Snake). Clicking on “Restart” brings back Loading Screen 4 (Progress Bar). After some time Progress Bar moves forward to 100% (“Loading…”) and then to Title Screen 5 (Previously seen). After some time it goes back to 0% again and loops again between Loading Screen 4 and Game Screen 4 until “Restart” is clicked again to go to Title Screen 4 again. If Progress Bar gets stuck at 0% for more than 10 minutes, restarting computer restarts it back again at 0%.
Game Over Screen
The game shows the score and highscore table, which is empty. The player can click on the “Report” button to report a bug to the developer. And then the game restarts.
The player clicks on the “Report” button.
Developer Screen
The player communicates with the developer through chat window. The programmer is not talking back. The player can report bugs with the “Report” button, but it doesn’t help. The game keeps crashing randomly.
Developer Screen 2
The game crashes again. The player clicks on the “Report” button again. The programmer apologizes for the bug and asks if it can be used in the game. The programmer then turns the bug into an actual gameplay mechanic, that enables to get more points
British vs American
- flat - appartment
- congestion - traffic jam
- take away - to go
TIL
Names that begin with either ‘is’ or ‘to’ followed by a lowercase letter reserved by POSIX.
Issues with HTC Vive
- headphone jack lose sometimes and one ear stop work
- HDMI fall off
- the base station broke; it always showed blue light
- headphones stopped working
- audio left and right ears sometimes swapped
- one out of 3 trackers refuses to turn on sometimes
- hard to find the side button on HDMI, but very easy to press it by assident
Common Chord progressions
I – iV – V7
I – V – vi – IV
I – vi – IV – V
I – V – vi – iii – IV – I – IV – V
I – IV – V – I
I – I – I – I – IV – IV – I – I – V – V – I – I
I – IV – V – IV
ii – IV – V
V – IV – I
vi – IV – I – V
vi – V – IV – III
vi – V – VI – V
ii – I – V6 – bVII
TIL
// clang-format on
// clang-format off
My dream job at 2007 (10 years ago)
In office:
- ☑ salary $3 000 or more
- ☐ big bright office
- ☐ at winter warm and at summer cool
- ☑ clean restroom
- ☑ no cigarette smoke
- ☑ hot water in the sink
- ☑ mirror in the restroom
- ☐ sofa
- ☑ tea
- ☑ trash-bin near by the desktop
- ☑ free classes
- ☐ ability to pick your own specification for the computer
- ☑ licensed software
- ☐ floating hours
WFH
- ☑ salary $3,000 or more
- ☑ big bright office
- ☐ at winter warm and at summer cool
- ☐ clean restroom
- ☑ no cigarette smoke
- ☑ hot water in the sink
- ☑ mirror in the restroom
- ☑ sofa
- ☑ tea
- ☐ trash-bin near by the desktop
- ☑ free classes
- ☑ ability to pick your own specification for the computer
- ☑ licensed software
- ☐ floating hours
My current dream job
- ☐ work on my own ideas
- ☐ be able to drop the project at any time
- ☐ be able to start any project at any time
- ☐ travel (carry with me in the luggage my PC setup with 2 big screens and VR setup), have high speed internet while I am traveling
- ☑ work from home
- ☑ big bright office
- ☐ at winter warm and at summer cool
- ☐ floating hours
- ☐ no planning
- ☐ make technical decisions
- ☐ I want to have a team, and they will do exactly what I asked them to do without any questions and complaining
- ☑ program in C++
- ☑ working on making games
- ☐ be able to stream on Twitch my work
Play video using VDPAU decoder
mplayer -vo vdpau and -vc ffh264vdpau,ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau -ao alsa file.mp4
Ideal game engine
- C++ (including scripting on C++)
- Multiplatform (Linux, Mac, iOS, Android)
- Licence (free and I can use the engine for publishing games on AppStore and Google Play)
- Good tutorials
How to upload file using linux command tool ftp
$ ftp host
Connected to host (10.139.88.123).
220 (vsFTPd 3.0.2)
Name (host:user): user
331 Please specify the password.
Password: password
ftp> cd path
ftp> put localfile remotepath
How to make SSH tunnel
local ssh connection remote1 remote2
o--------------->o
+------------->+
^ v
TCP port [L]o-+ +------------->o TCP port [R]
$ ssh -L L:remote2:R remote1
local2 local1 ssh connection remote
o------------->o
+------------+
v ^
TCP port [L] o<------+ +<-o TCP port [R]
$ ssh -R R:local2:L remote
How to get absolute path
$ man realpath
char *relativePath = "relativePath/file.txt"
char *absolutePath = realpath(relativePath, NULL);
if (!absolutePath)
{
stc::cerr << "Cannot access " << relativePath << ": No such file or directory";
return -1;
}
// use it
free(absolutePath);
How to make screenshot in MacOS X
http://www.imore.com/how-take-screenshot-mac-os-x
Command + Shift + 3 whole screen
Command + Shift + 4 area
How to find current executable’s path
#include <unistd.h>
#ifdef __APPLE__
#include <mach-o/dyld.h>
#endif
#ifndef __APPLE__
std::string getExecutableName()
{
char buf[MAXPATHLEN];
ssize_t len;
if ((len = readlink("/proc/self/exe", buf, sizeof(buf) - 1)) != -1)
buf[len] = '\0';
return buf;
}
#else
std::string getExecutableName()
{
char exe[MAXPATHLEN];
uint32_t bufSize = sizeof(exe);
_NSGetExecutablePath(exe, &bufSize);
char buf[MAXPATHLEN];
ssize_t len;
if ((len = readlink(exe, buf, sizeof(buf) - 1)) != -1)
buf[len] = '\0';
return buf;
}
#endif
Remove duplicates from container without sorting the container
#include <algorithm>
#include <vector>
struct target_less
{
template<class It>
bool operator()(It const &a, It const &b) const { return *a < *b; }
};
struct target_equal
{
template<class It>
bool operator()(It const &a, It const &b) const { return *a == *b; }
};
template<class It> It uniquify(It begin, It const end)
{
std::vector<It> v;
v.reserve(static_cast<size_t>(std::distance(begin, end)));
for (It i = begin; i != end; ++i)
{ v.push_back(i); }
std::sort(v.begin(), v.end(), target_less());
v.erase(std::unique(v.begin(), v.end(), target_equal()), v.end());
std::sort(v.begin(), v.end());
size_t j = 0;
for (It i = begin; i != end && j != v.size(); ++i)
{
if (i == v[j])
{
using std::iter_swap; iter_swap(i, begin);
++j;
++begin;
}
}
return begin;
}
Remove duplicates from container
sort( vec.begin(), vec.end() );
vec.erase( unique( vec.begin(), vec.end() ), vec.end() );
Load file into string
std::ifstream t("file.txt");
std::stringstream buffer;
buffer << t.rdbuf();
copy file
std::ifstream src("from.ogv", std::ios::binary);
std::ofstream dst("to.ogv", std::ios::binary);
dst << src.rdbuf();
string low case
#include <algorithm>
#include <string>
std::string data = "Abc";
std::transform(data.begin(), data.end(), data.begin(), ::tolower);
list of files in a directory
DIR *dir;
struct dirent *ent;
if ((dir = opendir ("c:\\src\\")) != NULL) {
/* print all the files and directories within directory */
while ((ent = readdir (dir)) != NULL) {
printf ("%s\n", ent->d_name);
}
closedir (dir);
} else {
/* could not open directory */
perror ("");
return EXIT_FAILURE;
}
http://stackoverflow.com/questions/612097/how-can-i-get-a-list-of-files-in-a-directory-using-c-or-c
C++ Erase vector element by value rather than by position?
vec.erase(std::remove(vec.begin(), vec.end(), 8), vec.end());
How to get my ip address in c Linux -…
getifaddrs(&addrs);
tmp = addrs;
while (tmp)
{
if (tmp->ifa_addr && tmp->ifa_addr->sa_family == AF_INET)
{
struct sockaddr_in *pAddr = (struct sockaddr_in *)tmp->ifa_addr;
printf("%s: %s\n", tmp->ifa_name, inet_ntoa(pAddr->sin_addr));
}
tmp = tmp->ifa_next;
}
freeifaddrs(addrs);
How do I get the directory that a program is running from?
#include <stdio.h> /* defines FILENAME_MAX */
#ifdef WINDOWS
#include <direct.h>
#define GetCurrentDir _getcwd
#else
#include <unistd.h>
#define GetCurrentDir getcwd
#endif
char cCurrentPath[FILENAME_MAX];
if (!GetCurrentDir(cCurrentPath, sizeof(cCurrentPath)))
{
return errno;
}
cCurrentPath[sizeof(cCurrentPath) - 1] = '\0'; /* not really required */
printf ("The current working directory is %s", cCurrentPath);
Windows:
int bytes = GetModuleFileName(NULL, pBuf, len);
if(bytes == 0)
return -1;
else
return bytes;
Linux:
char szTmp[32];
sprintf(szTmp, "/proc/%d/exe", getpid());
int bytes = MIN(readlink(szTmp, pBuf, len), len - 1);
if(bytes >= 0)
pBuf[bytes] = '\0';
return bytes;
Converting YUV into BGR or RGB
for(int i = 0, j=0; i < 1280 * 720 * 3; i+=6, j+=4)
{
m_RGB->imageData[i] = pData[j] + pData[j+3]*((1 - 0.299)/0.615);
m_RGB->imageData[i+1] = pData[j] - pData[j+1]*((0.114*(1-0.114))/(0.436*0.587)) - pData[j+3]*((0.299*(1 - 0.299))/(0.615*0.587));
m_RGB->imageData[i+2] = pData[j] + pData[j+1]*((1 - 0.114)/0.436);
m_RGB->imageData[i+3] = pData[j+2] + pData[j+3]*((1 - 0.299)/0.615);
m_RGB->imageData[i+4] = pData[j+2] - pData[j+1]*((0.114*(1-0.114))/(0.436*0.587)) - pData[j+3]*((0.299*(1 - 0.299))/(0.615*0.587));
m_RGB->imageData[i+5] = pData[j+2] + pData[j+1]*((1 - 0.114)/0.436);
}
Convert time_t to string with format YYYY-MM-DD HH:MM:SS
char buff[20];
time_t now = time(NULL);
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", localtime(&now));
How to convert a string variable containing time to time_t type in c++?
const char *time_details = "16:35:12";
struct tm tm;
strptime(time_details, "%H:%M:%S", &tm);
time_t t = mktime(&tm); // t is now your desired time_t
Path to binary in C
#include <stdio.h>
#include <unistd.h>
int main()
{
char buffer[BUFSIZ];
readlink("/proc/self/exe", buffer, BUFSIZ);
printf("%s\n", buffer);
}
WCHAR path[MAX_PATH];
GetModuleFileName(NULL, path, ARRAYSIZE(path));
Rotate screen
xrandr --output HDMI-0 --rotate left
Set wacom pen on one screeen
xsetwacom set "Wacom Bamboo 16FG 4x5 Pen stylus" MapToOutput HEAD-0
Run Minecraft
java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame
Set keyboard repeat rate
xset r rate 210 120
NATO phonetic alphabet
A .......... ALPHA N .......... NOVEMBER
B .......... BRAVO O .......... OSCAR
C .......... CHARLIE P .......... PAPA
D .......... DELTA Q .......... QUEBEC
E .......... ECHO R .......... ROMEO
F .......... FOXTROT S .......... SIERRA
G .......... GOLF T .......... TANGO
H .......... HOTEL U .......... UNIFORM
I .......... INDIA V .......... VICTOR
J .......... JULIET W .......... WHISKY
K .......... KILO X .......... X-RAY
L .......... LIMA Y .......... YANKEE
M .......... MIKE Z .......... ZULU
Generate etags for emacs
find . -name "*.cpp" -print0 -or -name "*.c" -print0 -or -name "*.h" -print0 -or -name "*.c" -print0 | xargs -0 etags --append
valgrind
$ /usr/bin/valgrind --tool=memcheck --leak-check=yes --leak-check=full -v --show-reachable=yes [command line]
unixtime conversions
$ date -d @1193144433
Tue Oct 23 15:00:33 CEST 2007
$ date -d @1193144433 "+%Y-%m-%d %T"
2007-10-23 15:00:33
$date --date="Sun Oct 21 9:00:00 PDT 2012" +%s
1350835200
= generate news from lenta.ru
wget http://lenta.ru/rss/ -O- 2> /dev/null | grep http://.*news | sed 's/<link>//g' | sed 's/<.link>/_Printed.htm/g' | wget -i- -O- | grep -v -E '<.?html>' | grep -v -E '<.?title>' | grep -v -E '<!DOCTYPE' | htmldoc - -f "news`date +%Y-%m-%d`.pdf" -t pdf14 --webpage --right 1in --fontsize 10
Run Minecraft
$ java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame
Gentoo related
emacs startup is slow
add line to /etc/hosts
127.0.0.1 cassiopeia
kernel select
eselect kernel list
eselect kernel set 3
grub updating
edit /boot/grub/grub.conf
mount /boot
kernel build
# cd /usr/src/linux
# make menuconfig
##copy .config file if needed from previus kernel
# cp ../linux.../.config .
# make && make modules_install
## if needed mount /boot partition
# mount /boot
# cp arch/x86_64/boot/bzImage /boot/kernel-2.6.36-gentoo-r5
# module-rebuild rebuild
mount dvd
# mount -t iso9660 /dev/cdrom /dev/cdrom
play dvd
$ mplayer dvd://1
how to create tab.bz2
compress:
$ tar -jcvf archive_name.tar.bz2 directory_to_compress
extract:
$ tar -jxvf archive_name.tar.bz2 -C /tmp/extract_here/
update your system
# emerge --sync
# emerge --update --deep --ask world
update etc files
# etc-update
sleep 1; xset s activate
Удаление ненужных зависимостей
emerge --update --deep --newuse world && emerge --depclean && revdep-rebuild
Удаление пакета
sudo emerge -av --depclean transcode
ffmpeg -i c++_lessons38_speedup.ogv -i audio.wav -map 0:0 -map 1:0 -vcodec copy -av 320k c++_lessons38_audio.ogv
mplayer dvd://1
sda5 boot
sda6 root
linux-2.6.36-gentoo-r5
GeForce GT420
rip dvd
mplayer dvd://1 -dumpstream -dumpfile rippeddvd.vob
Printing howto
http://www.gentoo.org/doc/en/printing-howto.xml
Add a existing user to existing group
usermod -a -G ftp tony
qfile codegen.py - найти файл
python-updater - обновить пакеты зависящие от питона
portageq owners / /usr/lib64/libeggdbus-1.so - найти пакет владельца файла
Синхронизировать время
sudo rdate -s ptbtime1.ptb.de
SSH login without password
Your aim
You want to use Linux and OpenSSH to automize your tasks. Therefore you need an automatic login from host A / user a to Host B / user b. You don’t want to enter any passwords, because you want to call ssh from a within a shell script.
How to do it
First log in on A as user a and generate a pair of authentication keys. Do not enter a passphrase:
a@A:~> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 a@A
Now use ssh to create a directory ~/.ssh as user b on B. (The directory may already exist, which is fine):
a@A:~> ssh b@B mkdir -p .ssh
b@B's password:
Finally append a’s new public key to b@B:.ssh/authorized_keys and enter b’s password one last time:
a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
b@B's password:
From now on you can log into B as b from A as a without password:
a@A:~> ssh b@B hostname
B A note from one of our readers: Depending on your version of SSH you might also have to do the following changes:
Put the public key in .ssh/authorized_keys2 Change the permissions of .ssh to 700 Change the permissions of .ssh/authorized_keys2 to 640
``` 13:50 03.02.03
Удаление писем из почтовой очереди sendmail
В каталоге /var/spool/mqueue/ удалить файлы этого письма. Для того чтобы узнать, что в почтовой области надо воспользоваться коммандой mqilq. Источник: http://penguin.photon.ru/doc/mail/index.html
17:24 04.02.03
Разрешить отправку писем по IP
1) В файл /etc/mail/access включить строку: xxx.xxx.xxx.xxx RELAY где xxx.xxx.xxx.xxx требуемый IP адрес.
2) Дать команду: makemap hash /etc/mail/access.db < /etc/mail/access
Информацию по sendmail можно найти по адресу http://gyro.hotbox.ru/sendmail/index.html .
16:25 17.04.03
Процедура добавление нового пользователя
- получить права root
- добавить пользователя /usr/sbin/adduser -g ec -G ecsoft -d /home/public/upload/user user
- ввести пароль passwd user
- запретить доступ к серверу через терминал, поправив файл /etc/passwd
- добавить пользователя в SMB smbadduser user:user
- поменять права папки нового пользователя chmod 750 /home/public/upload/user
13:48 29.04.03
Перезапустить SMB сервер
1) получить права ROOT 2) /etc/rc.d/init.d/smb restart
20:29 17.06.03
Включить NAT
1) получить права root echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/16 –out-interface eth0 -j SNAT –to-source 194.67.66.38 /sbin/iptables-save > /etc/sysconfig/iptables echo 1 > /proc/sys/net/ipv4/ip_forward
вставить в файл /etc/rc.d/rc.local
Sendmail задумывается
/etc/hosts прописали 127.0.0.1 localhost 194.67.66.38 ecsoft ecsoft.mephi.ru 192.168.0.1 ecsoft
16:27 18.06.03
Запустить ftp
ln –symbolic /etc/init.d/vsftpd S50vsftpd
В vsftpd.conf редактируем следующие строки:
anonymous_enable=NO - если не хотим разрешать доступ для анонимных пользователей. local_enable=YES - чтобы разрешить доступ локальным пользователям системы. write_enable=YES - чтобы разрешить им запись. local_umask=022 - ставим более либеральную маску. chroot_list_enable=YES chroot_local_user=YES chroot_list_file=/usr/local/etc/vsftpd.chroot_list
последние три строки означают изменить корневую директорию на домашнюю для всех пользователей, кроме перечисленных (в столбик) в файле vsftpd.chroot_list . Например, если в файле vsftpd.chroot_list будут перечислены пользователи john и boris, то им будет доступна вся корневая дирректория (насколько им позволяют права, конечно), а остальные пользователи не смогут выйти за рамки своих домашних каталогов.
Это лишь один из примеров настройки этого сервера. Конфигурационный файл хорошо документирован, поэтому легко понять что к чему.
Добавили пользователя skib
/usr/sbin/groupadd ec
/usr/sbin/groupadd ecsoft
/usr/sbin/adduser -g ec -d /home/skib skib
passwd skib
chmod 750 /home/skib
Изменяем владельца группу у домашних папок
chown :ec alex
chown :ecsoft anton
chown :ec borya
chown :ecsoft dima
chown :ec fva
chown :ecsoft hunter
chown :ec lgau
chown :ec mav
chown :ec plugged
chown :ec rpt
chown :ec sasa
chown :ecsoft serge
chown :ecsoft sna
chmod 770 alex
chmod 770 anton
chmod 770 borya
chmod 770 dima
chmod 770 fva
chmod 770 hunter
chmod 770 lgau
chmod 770 mav
chmod 770 plugged
chmod 770 rpt
chmod 770 sasa
chmod 770 skib
chmod 770 sna
/usr/sbin/usermod -g ec -G ecsoft anton
/usr/sbin/usermod -g ec -G ecsoft dima
/usr/sbin/usermod -g ec -G ecsoft hunter
/usr/sbin/usermod -g ec -G ecsoft serge
/usr/sbin/usermod -g ec -G ecsoft sna
/usr/sbin/usermod -g ec alex
/usr/sbin/usermod -g ec borya
/usr/sbin/usermod -g ec fva
/usr/sbin/usermod -g ec lgau
/usr/sbin/usermod -g ec mav
/usr/sbin/usermod -g ec plugged
/usr/sbin/usermod -g ec rpt
/usr/sbin/usermod -g ec sasa
/usr/sbin/usermod -g ec skib
Настройка Самбы
Файл /etc/samba/smb.conf
workgroup = ECSOFTNET
server string = Powered ASP Linux 9
hosts allow = 192.168.0.
domain master = yes
domain logon = yes
interfaces = 192.168.0.1/24
character set = 1251 client code page = 866
[homes] comment = Home Directories browseable = no writable = yes valid users = %S create mode = 0660 directory mode = 0770
If you want users samba doesn’t recognize to be mapped to a guest user
; map to guest = bad user
[public] comment = Public Stuff path = /home/skib/ public = yes writable = yes printable = no write list = @ec create mode = 0661 directory mode = 2775
[lp0] security = server path = /var/spool/lpd/lp printer name = lj1200 writable = yes public = yes printable = yes print command = lpr -r -h -P %p %s
Добавить в автозагрузку Самбу ln –symbolic /etc/rc.d/init.d/smb /etc/rc.d/rc3.d/S35smb
21:00 18.06.03 Добавили папку SOFT
/usr/sbin/usermod -G ec,softman anton
/usr/sbin/usermod -G ec,softman hunter
chown :softman SOFT
chmod 775 SOFT
13:58 19.06.03
Редирект на другой IP и на другой порт
/sbin/iptables -t nat -A PREROUTING -p TCP -d 194.67.66.38 –dport 4665 -j DNAT –to-destination 192.168.0.9
15:26 20.06.03
Настройка принтера через Samba
- Установить пакет redhat-config-printer и все зависимые от него пакеты.
printconf
- и дабавляется принтер с такими параметрами Имя: lj1200 Доп. имена: Тип: Устройство локального принтера: Устройство принтера: /dev/lp0 Драйвер: HP LaserJet 1200 using Postscript driver
17:50 24.06.03
Настройка dhcpd
- Создать файл /etc/dhcpd.conf
ddns-update-style interim; subnet 192.168.0.0 netmask 255.255.255.0 {
— default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option domain-name "ecsoft.mephi.ru";
option domain-name-servers 194.67.67.34, 194.67.67.130;
range 192.168.0.2 192.168.0.100;
default-lease-time 21600;
max-lease-time 43200;
}
- Запустить демона
/etc/rc.d/init.d/dhcpd start
- Записать в автозагрузку
ln –symbolic /etc/rc.d/init.d/dhcpd /etc/rc.d/rc3.d/S35dhcpd
15:44 30.06.03
Добавили ползователя
/usr/sbin/adduser -g ec -G ecsoft -d /home/alexakov alexakov
passwd alexakov
; подправили группу
/usr/sbin/usermod -g ec alexakov
16:36 09.07.03
Добавить новый алиас
- Поправить файл /etc/aliases
- дать команду newaliases
15:05 19.04.04
Поменять местами сетевухи
- исправить файлы /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
18:21 19.04.04
Прописать шлюз по умолчанию
в файле /etc/sysconfig/network-scripts/ifcfg-eth1 должно быть написано: DEVICE=eth1 ONBOOT=yes IPADDR=194.67.66.38 NETMASK=255.255.255.0 NETWORK=194.67.66.0 BROADCAST=194.67.66.255 GATEWAY=194.67.66.130 19:26 18.08.04
Инициализация SWAP
/sbin/mkswap /dev/hda5 14:20 19.12.2005
Кодировка в SAMBA
в файле /etc/samba/smb.conf в разделе [global] добавить две строчки
unix charset = windows-1251 dos charset = cp866
14:51 17.07.2006
После перезагрузки сервера выполнить
mount /dev/hda6 /home
cd /home/hunter/Templates/ ./firewall1.sh /etc/init.d/vsftpd start /etc/init.d/dovecot start /etc/init.d/httpd start
Для emule /sbin/iptables -t nat -A PREROUTING -p TCP -i eth0 -d 194.67.66.38 –dport 4665 -j DNAT –to-destination 192.168.0.9
wrUL30pq 18:23 02.11.2006 antivir -s -z –heur-macro –heur-level=4 -v / 18:19 08.12.2006
очистка почтового ящика
- Запустить mail -u user
- набрать s * old_mail.txt
- q выход
```
Scale (music) DB
- 1 1 1 1 1 1 1 1 1 1 1 1 Chromatic
- 1 1 1 1 1 1 1 1 1 1 2
- 1 1 1 1 1 1 1 1 1 2 1
- 1 1 1 1 1 1 1 1 1 3
- 1 1 1 1 1 1 1 1 2 1 1
- 1 1 1 1 1 1 1 1 2 2
- 1 1 1 1 1 1 1 1 3 1
- 1 1 1 1 1 1 1 1 4
- 1 1 1 1 1 1 1 2 1 1 1
- 1 1 1 1 1 1 1 2 1 2
- 1 1 1 1 1 1 1 2 2 1
- 1 1 1 1 1 1 1 2 3
- 1 1 1 1 1 1 1 3 1 1
- 1 1 1 1 1 1 1 3 2
- 1 1 1 1 1 1 1 4 1
- 1 1 1 1 1 1 1 5
- 1 1 1 1 1 1 2 1 1 1 1
- 1 1 1 1 1 1 2 1 1 2
- 1 1 1 1 1 1 2 1 2 1
- 1 1 1 1 1 1 2 1 3
- 1 1 1 1 1 1 2 2 1 1
- 1 1 1 1 1 1 2 2 2
- 1 1 1 1 1 1 2 3 1
- 1 1 1 1 1 1 2 4
- 1 1 1 1 1 1 3 1 1 1
- 1 1 1 1 1 1 3 1 2
- 1 1 1 1 1 1 3 2 1
- 1 1 1 1 1 1 3 3
- 1 1 1 1 1 1 4 1 1
- 1 1 1 1 1 1 4 2
- 1 1 1 1 1 1 5 1
- 1 1 1 1 1 1 6
- 1 1 1 1 1 2 1 1 1 1 1
- 1 1 1 1 1 2 1 1 1 2
- 1 1 1 1 1 2 1 1 2 1
- 1 1 1 1 1 2 1 1 3
- 1 1 1 1 1 2 1 2 1 1
- 1 1 1 1 1 2 1 2 2
- 1 1 1 1 1 2 1 3 1
- 1 1 1 1 1 2 1 4
- 1 1 1 1 1 2 2 1 1 1
- 1 1 1 1 1 2 2 1 2
- 1 1 1 1 1 2 2 2 1
- 1 1 1 1 1 2 2 3
- 1 1 1 1 1 2 3 1 1
- 1 1 1 1 1 2 3 2
- 1 1 1 1 1 2 4 1
- 1 1 1 1 1 2 5
- 1 1 1 1 1 3 1 1 1 1
- 1 1 1 1 1 3 1 1 2
- 1 1 1 1 1 3 1 2 1
- 1 1 1 1 1 3 1 3
- 1 1 1 1 1 3 2 1 1
- 1 1 1 1 1 3 2 2
- 1 1 1 1 1 3 3 1
- 1 1 1 1 1 3 4
- 1 1 1 1 1 4 1 1 1
- 1 1 1 1 1 4 1 2
- 1 1 1 1 1 4 2 1
- 1 1 1 1 1 4 3
- 1 1 1 1 1 5 1 1
- 1 1 1 1 1 5 2
- 1 1 1 1 1 6 1
- 1 1 1 1 1 7
- 1 1 1 1 2 1 1 1 1 1 1
- 1 1 1 1 2 1 1 1 1 2
- 1 1 1 1 2 1 1 1 2 1
- 1 1 1 1 2 1 1 1 3
- 1 1 1 1 2 1 1 2 1 1
- 1 1 1 1 2 1 1 2 2
- 1 1 1 1 2 1 1 3 1
- 1 1 1 1 2 1 1 4
- 1 1 1 1 2 1 2 1 1 1
- 1 1 1 1 2 1 2 1 2
- 1 1 1 1 2 1 2 2 1
- 1 1 1 1 2 1 2 3
- 1 1 1 1 2 1 3 1 1
- 1 1 1 1 2 1 3 2
- 1 1 1 1 2 1 4 1
- 1 1 1 1 2 1 5
- 1 1 1 1 2 2 1 1 1 1
- 1 1 1 1 2 2 1 1 2
- 1 1 1 1 2 2 1 2 1
- 1 1 1 1 2 2 1 3
- 1 1 1 1 2 2 2 1 1
- 1 1 1 1 2 2 2 2
- 1 1 1 1 2 2 3 1
- 1 1 1 1 2 2 4
- 1 1 1 1 2 3 1 1 1
- 1 1 1 1 2 3 1 2
- 1 1 1 1 2 3 2 1
- 1 1 1 1 2 3 3
- 1 1 1 1 2 4 1 1
- 1 1 1 1 2 4 2
- 1 1 1 1 2 5 1
- 1 1 1 1 2 6
In general things did not change. Try to be happy, and make people around you happy. I like making games and upcoming release will add some happiness in the world. Where is a some roughness in the situation but in general the outcome is in positive.
Passed one and half year I have got quite a lot of gray hairs. I am getting old. My vision degraded, it is harder to hear high pitch noises. At some point I am going to die. And the thing is dead me cannot be happy, and cannot make other people happy. I guess, I may be a terrible person alive and after my death a lot of people may become happy, but I think you have got the idea. And you may think, this is the live. People born, live and die. You cannot do anything with it.
I think I can. I think we can figure out immortality. Researches with telomeres are very promising. Of course, lifestyle can extend the life expectancy, but not going to give immortality, unfortunately.
Anyway, today during the walk I was thinking, should I stop relay on researches and be proactive about it. I was thinking maybe I should join some research lab and try to help. Software engineers are needed everywhere.
But while I am writing this, I am thinking maybe I should try to figure out by myself. Maybe find some books and read them first.
I’ll not do anything for now. I’ll let it soak, will see if I’ll get some better ideas or if I find some holes in my thinking.
I really do not know what to do with my life. Lately I have got sick, first my little doughier have got sick, she has got an ear infection. I was coughing and was kind of tired, now cough is gone, but I am always sleepy, this weekend I just slept for 12 hours, maybe more. I was up at 11 AM.
And I just do not know what to do. I decided to continue with my game. I need to figure out how to become independent. This is why I need money, I just need freedom and be able to do what I want to do. Go travel, play games and make games. Watch movies, read, watch YouTube.
Today was I same day as all my days. Sit all day in the bedroom and work. Some exceptions. I did not stream and did not work on my game. Instead, I watched two movies. First one was “Groundhog Day” and second one “Eternal Sunshine of the Spotless Mind”. Last one was on my bucket list.
I gave a lift to my ex, she needed to fix her car.
🌸 Thu, Jun 3, 2021 🌸
For dialog system I added UDialogItem class to store the dialog line
in it. It has to be derived from UObject. I implemented the dialog
line extraction in UDialogLineUi and put it in the UTextBlock. I do
not know why it is so complicated, but I guess UE4 engineers are
obsessed with model view pattern. Anyways I have some working dialog
system, can show the dialog, and hide it. Can click on dialog line and
have some reaction on the click. And on clicking on the cancel dialog
is getting closed.
I made Jane to populate the dialog and show it on interaction event. Also, I added some preparation for the future. If player have got a telepathy ability Jane populates the dialog with other abilities: levitation, telekinesis and pyrokinesis.
I made a dishwasher quest. In this quest the hero goes to Philip the owner of the restaurant and he/she needs to wash dishes, for doing this quest the hero will get $7.80.
And bicycle quest, but I am to lazy to describe what did I do for the bicycle quest.
🌸 Tue, Jun 1, 2021 🌸
Clatter Quest (part 2)
- clatter component
- remove clatter on interaction
- update quest stat
- jump and interact
- subscription to interact
Working on the clatter quest. The hero cannot get out from the apartment because the entrance to the apartment is clattered. Everybody can levitate people started using windows instead of doors.
I implemented some initial clatter disappearance animation. It flies in the spiral and after two seconds getting destroyed.
I added jump and triggering interaction on left mouse click.
So for the quest system I have an idea on every significant event generate the signal. And make quests to subscribe to this signal. In the clatter quest I made an interact signal and implemented subscription. In the quest player has to collect 5/5 clattered items.
I implemented completed event and make the barrier disappear after quest is completed.
To be able to do this, I implemented Event class. I could use UE4 delegate system, but UE4 implementation of delegate system is very confusing.
I updated addQuest() function to return added quest if it added or
return nullptr. This allows my add as many quests as I want
without re-implementing again and again check for if quest already
added.
I started a dialog system. I need a player to be able to communicate
with NPCs. I needed a class derived from UUserWidget and implement
IUserObjectListEntry interface.
I started working on NPC Jane and started working on telepathy quest. This is the idea of the quest. The player goes to Jane, clicks on her, dialog pops and player clicks on the dialog line: “Session to restore telepathy -$450”. Quest is getting marked as completed, the players gets the telepathy ability and $450 is getting deducted from his/her account.
The hero will have the quest to get back telepathy ability back. To do this, the hero has to go to NPC Jane therapist. She will hypnotize the hero and return to him/her telepathy ability. Without this ability the hero would not be able to communicate with anyone.
I created enumeration type to list all abilities in the game.
TODO: drop some loot.
Started on the clatter quest
I created a clatter actor. For now it is just a cube. I started implementing the highlighter in the actor, but later I decided it is better to do the similar way as I did in CPV&G game with the interactable component.
I started a mocking up the clatter quest class. The idea for the quest system, quests will have a list of TODO items and on each TODO item player has to do something (e.g. remove 5 cluttered items).
I made initial implementation of the clatter quest spawner. It is an actor, and when player bumps on it the actor will spawn the quest and attach it to the player.
I added the following UI items on the HUD: HP, NP (neatpower), XP, player’s level, money, and list of quest.
I kind of settled on the list of abilities:
- levitation;
- telekinesis;
- pyrokinesis;
- telepathy;
- healing;
- necromancy;
- teleportation;
- hacking;
- underwater breathing;
- neatpower detection.
Also skills: * cooking; * riding bike.
Each ability and skill will have a certain level.
Game 06 Brainstorming session
Action RPG “Ordy”
Name ideas:
- Supernaturals
- Accident
- 2072
- “Disabled”
- Subnatural
- Ordinary
- Neatpower — use it instead of mana
- Ordy
Terminology
- Ordy — came from ordinary, people without abilities
- neatpower — basically “mana” needed to fire the abilities
The Premise
Year 2022 one of magician named Emily Ray was showing some levitation, telekinesis and fire emitting trick. Also, she was claiming she can teach random people to do similar tricks. She was calling some random person from the crowd, hypnotizing the person and making them to repeat her tricks. The strange thing was happening, after returning home the person was continuing to be able to do what they learned during the show. Also, they were able to transfer the ability to other people.
In the middle of 2023 almost whole Earth population have supernatural abilities. World has changed.
In 5 years supernatural becomes a new norm. Almost everyone has telekinetic, levitation, telepathy, fire-generation abilities. Very small percent did not get supernatural abilities, they at this point were considered as “disabled”, and got the nickname “ordinary” and later it shortened to “ordy”.
Cars, stoves, chairs, beds, elevators become obsolete. Car are abandoned, and laying on the side of the roads collecting rust. Roads also not in use, they are covered with cracks and vegetation is growing through cracks. Some companies started making new appliances, for example stoves did not have any connections to the gas, because people could make a fire out of thin air.
Mobile operators need to start collaboration with the cellphone manufactures to be able to disable the phone on the certain altitude because people were flying on the high altitudes and overloading the cellular network.
Steam-engines are become popular.
Some people can heal. Doctors and hospitals are changed.
We have list of basic abilities and list of abilities only some people can have.
Some people can teleport and teleport with others. They started a teleportation company.
All abilities use the mana.
Food restores HP. Beverages restore mana.
We have space restaurants and hotels on the orbit. You can get here by flying in the spacesuit, or you can teleport.
You have spacesuit in your closet.
You need to buy a propane tank for electricity and stove.
Rent-a-ability.
Oxygen for the spacesuit. Upgrades for the spacesuit.
Basic abilities:
Levitation
Speed-limit 500 MPH (depends on the level). Some can fly faster some can fly slower. No height limits, but cold and air is limiting factor. You can wear a special “spacesuit”.
Strength controls how fast you can fly.
Fly speed also depends of altitude and area, just to make game play easier.
Telekinesis
Moving the objects on the distance. The range is about 200 yards. Accuracy of the movement decreases over the distance. Weight limit is 3 tons (depends on the level). One object only.
Dexterity - controls accuracy Strength - controls weight limit
Pyrokinesis
Shooting a fireball. Making a fire in place. This fire could last for a day. Depends on the force.
Trailer
I did some research, basically watched a bunch of trailers for the rhythm games, and settled on the idea to show the short snippet from all tracks.
I implemented auto-play, recorded all 10 level, imported them into the blender and stitched small snippets together. Here is the result:
La-la-la
Finished Level 10: La-la-la. I was lazy and skipped the lyrics part.
- Versus: C F F G7
- Chorus: C Bb Ab G7
- Middle 8: C Ddim7 G
Link to the song.
Mika’s Game
This page is work in progress.
Little bit of philosophy
Overview
Mika’s Game is a mass multiplayer online game with player generated content. Players can craft terrain, buildings, items, avatars, NPC, program quests and create mini games.
The game universe is a series of parallel infinite worlds. Player can spawn as many as he/she wants. New world may be cloned from current one if player has clone permissions or it can me procedurally generated from the random or specifies seed. Player becomes the owner of the world. World has permission flags: permission to visit, permission to clone, build permit.
Player has list of friends and friends can be categorized by groups.
Visit, build permit can be for everyone, for friends, for some particular group or it can be given to some particular player. Permit can have expiration date.
The world is a voxel world, like Minecraft (open question).
Crafting can be done by using blueprints and crafting table.
New player has basic blueprints: crafting table and basic tools.
Other blueprints has to be crafted or traded with other players.
To be able to mine and build in the world player has to apply build permit first.
Trading in the game by dropping on the ground and picking up from the ground.
Later on you may craft trading machine for safe trading.
This game was inspired
- VRChat
- Minecraft
- Roblox
- Dreams for PS4
- YouTube
- Apple Store
- Steam
Items
Each item has a link from what world it was taken.
Miniaturizer
Teleport
Builder can put teleports in the world and make in public, unlisted or private. Teleport will have descriptions and thumbnail.
Recommending system will use this data for recommendations.
Teleport stone
Circuitry
It is more like visual programming, like scratch. All values are analog values with analog dial.
Machine needs energy balls to run. Looks like experience balls from Minecraft
Energy balls spawn around player and have expiration. Player can buy energy ball this ball do not expire.
Vars can be connected via red-stone or via radio.
Blueprint
Avatars
Sky machine
NPC
Quests
Tools
Custom tools
World cloning
All data saved in no-sql database. Reddis. Each server control some part of the universe, everything saved in memory and periodically get offloaded to database. To offload in memory data to database, sever process get forked and data getting saved to DB in parallel.
Each chunk of Universe points to serving server or to nullptr.
Parallel universes doing copy of write. So it is cheap to make a copy.
On DB we have list of universes, each one has list of chunks. Universe also point to universe from which one one it was copied.
Every time then player makes copy of universe new readonly copy getting created and old one and new ope start pointing to it.
Recommendation system
Happy button. �
Leader board. Regional leader boards.
“VRChat”
I think I know why VRChat in favor to anime culture. I did not watch to many anime but I noticed one thing, the story does not have a story arc it feels like you are riding a train and you see part of the story. Same thing in VRChat, you just jump in the middle of the story.
“The Game”
Exposition
I think many people have some idea for something big, complicated and epic what you want to make. Some idea; like write a book about universe and everything inside it. And maybe at some point you started to write it and started organize sections and chapter. And may be you started couple a story lines or may be you have idea about a game and you think it would be awesome to make MMO game, game simulator to Oasis game from Ready Player one.
For me after I started developing, putting things on paper I was running out of ideas and direction and just motivation. Questioning: why I am doing it? Is not it waste of the time? I need to find some fundamental values I passion about. Some examples of “wrong” values. In quotes because they are not necessary wrong, but they are not fundamental enough. Mobile games, augmented reality, VR, MMO, social, addictive, user generated content, crowd sourcing, open world. As I mention before it is not necessary wrong but it is not fundamental and is was making me to question: Why the game has to have it? would it make it successful game? Is it right thing to do this way?
Values
I grew up in Russia on brothers Strugatsky books. Brothers Strugatsky are Russian SciFi writers, in many books they are challenging idea of happiness. Spoiler warning! In the book Roadside Picnic the main character at the end of the book found the golden orb which can make any wish true and this character did had only one wish in his mind: HAPPINESS FOR EVERYBODY, FREE, AND NO ONE WILL GO AWAY UNSATISFIED!
This thing stuck in my head and become my meaning of my life.
Later on in my life I realized I do not know what makes me happy, but I have something inside me which give me happiness, also I realized I cannot make happy other people, they have to do it by themself. But there is something which can help become them a little bit happier.
It is hard to explain what is it, I’ll give some examples:
- Cup of coffee at morning
- Sunlight at morning in your window
- Dying zombies and skeletons under sun in Minecraft after restless night
- Chasing and hugging and kissing your kids
- Seating on the beach and watching waves
I think the game what I want to make should feel like this. I want the game bring this bit of happiness everyday to billions of people.
Conflict
Billions of people quite a big number, all of them have different set of buttons what make them happy, different cultural background (Star wars empirial march cannot make exited a person who never watch any Star wars movie), different dreams, different personalities.
I realized a lot of people would not like what I like. I realized it is hard and probably not possible to learn culture and needs of other people.
I was doing some research and was trying to figure out Fortnight phenomena. First I had hard time to find the person who likes Fortnight, second the person had hard time to explain why she likes the game.
I was trying to talk with random people and understand what dream what makes them exited. It is hard, it feels like they do not know by themself.
Billions of people is a big number. Even if I knew exactly how to bring this bit of happiness personally too every single one, someone has to program it, model, animate, it is a lot of content and a lot of work. Where to get army of artists?
Proposal
I play two games at the moment VRChat and Minecraft. Both of the games are driven by player generated content. VRChat provides SDK to allow players to make worlds and avatars, Minecraft main gameplay is building. In VRChat you can create quite complicated content you can use all power of Unity and SDK has rich set of perf labs, but learning curve is steep. Minecraft is very simple a lot of kids play Minecraft, but you can build only big things in Minecraft red-stone mechanics is limited.
I want to combine power from both games, my thinking is to make the game like Minecraft and add in-game device which can make things smaller. So players would be able to make all different new in game items, mobs, NPC, avatars using similar like in Minecraft blocks and program them using similar as in Minecraft red-stone circuitry and when make them smaller. Also have ability to make a copy of the item.
Players can make a clone of the whole world and make a parallel world.
It is MMO game.
It is voxel based game like Minecraft. Players can make new items, mobs, NPCs, quests, avatars, mounts, skybox, sun/moon/suns/moons.
This system would be powerful enough to be able to make mini games: escape room, simple 3D shouter, build quest line, puzzle game.
Players can make a parallel world, exact copy of the world the player right now located.
They can talk with each other using voice or text chat. Ability to hear them depends of how far away people from you. Like in VRChat.
Game will have phone so you can talk with friends regardless where you are in the world. Also you can teleport to your friends.
You can install in your world a teleport and it will give teleportation stones. When you use the stone you will teleport to the place where teleport is installed.
Owner of the world can give different permissions to other players: visit, build, clone.
🌸 Thu, Jul 4, 2019 🌸
“C.”
Almost month ago I meet amazing girl on VRChat. I am going to call her C. to protect her privacy. I almost immediately fell in love with her.
How we meet was kind of comical, and I am hesitating to tell this story. Probably later I’ll tell you.
She is amazing girl. Her voice and laugh cut my attention. The way how she speaks. Her language usually is very clean with proper grammar. Her intonations like little bells. She says “oh my God” a lot, and I love the way she is saying it. I still can hear her voice in my head. Very often she calls me on Discord and says: Mika, and I reply: C. And sometimes she makes a kissing sound, at this time my heart is melting, it feels like I am under big warm blanket and waves of happiness are rolling other me.
I learned about her life. She is studying architecture in the college, and has internship and also has additional work in Dominos. She lives alone in the apartment. She values honesty, she tries to be honest with other people, with herself and expect other people to be honest with her. She fights for her happiness. She hides her pain, her voice is always cheerful and she laughs a lot. I adore her.
We spent quite a lot time playing VRChat and Minecraft. Later we played Portal 2. We had couple movie nights and spend a lot of time on Discord on voice, texting, sending to each other hugging, kissing and provocative gifs.
Several night we were on voice while we were sleeping. It is such a nice feeling when you are waking up and you can feel: someone is here.
Two nights ago I decided to give her my Instagram. So she can see my pictures. I am not sure what happened, but since she replied twice on Discord. I am reading again and again and I cannot understand. I thought I know her good enough, I would understand if other girl would do it, but not she.
Later on she replied. I am still not comfortable to share what she replied, but is is my fault. She cannot talk with me anymore. I hope, someday she will forgive me.
I am lonely and I do not know what to do to get rid of the pain in my chest. Before I met C. I was used to be lonely and get used to emptiness in my heart and now it is back. I need to do something with it.
My life is like semi-assembled rubik’s cube. A lot of colors in place and I do not have courage to misplace colors to put in place other colors. I have kids, house, job, great weather here in Southern California, stability… a lot of things. But I do not have someone who would share my values, who would understand me, who would kiss me and hug, who would take care about me, and support me and challenge my ideas and just makes me happier every day. My soulmate.
I figured out by myself how to solve rubik’s cube. It is strange way to solve it, one of algorithms in my solution, if colors are set is certain way mix the cube and start other, basically my way to solve rubik’s cube has 50/50 chances.
It feels like my life at this point, I have to leave my kids, sell the house, quit the job and start over hoping my life would become better.
Kids are the hardest part. Last year I went to the conference for a week. And the first question from my son when I came back was: why your conference was so long? He was missing me. I do not know how I can handle a conference lasting for the life.
I don’t think I would ever to have courage to do it. This is why I adore C. She burned a lot of bridges trying to find her happiness.
I miss her a lot.
“Pho”
I brought my son for coding classes and because I did not have any time to have a lunch, I am having lunch at Pho place right now.
Yesterday, I bought a new iPhone. It is upgrade from 6s+ to Xs. I am happy with the upgrade, had some problems to reactivate Duo, but everything else went very smooth. I like the new way without home button, I like smaller size of the phone and slightly bigger screen. I was thinking a lot about switching to Android ecosystem, but I realized I do not have mental energy to do it. I use 1Password for instance and all passwords stored in iCloud, I have no idea how to transfer them to Android. Or this app Working Copy, probably I would need to buy all this apps again or find analogs. Pain. Face ID is good improvement, I do not noticing it, it is noticeable only if it fails to recognize your face, it happened once then my head was covered with hoodie, and other time when my fingers were in the way.
I disabled True Tone, looks weird.
Several days ago I found ravine in Minecraft. I was looking for a village, but found ravine, so I am building mining operation in ravine. I was looking for a village because I want to build armor stand, and I need to take something from village.
Also I want to see something under water, but it kind or hard to start alchemy at this point. Everything is mined in nether.
Ok. Pho was good. It is almost time to pick up my son from the classe.
“const”
Last year around December I posted a bug on SDL2. Here is the link: https://bugzilla.libsdl.org/show_bug.cgi?id=4421 . The request was simple: SDL_Texture should be passed as a const pointer. And example was:
int SDL_RenderCopy(SDL_Renderer* renderer,
const SDL_Texture* texture,
const SDL_Rect* srcrect,
const SDL_Rect* dstrect);
In SDL2 API texture is passed to the function without const. So my bug was closed as invalid. We had some back and forth, read the conversation in the link. Your thoughts?
“More Minecraft”
I was streaming Mincraft on Twitch yesterday for… 7 hours. It is surprisingly little I have been done for this time. I built a Nether Portal, made 9 cakes and made some minor decorations in the house and that is it.
“Um…”
Lately while I am doing some randome thinkgs (playing games usualy) I am thinking: “What am I doing?” Um… actually I do not think like this anymore. I just play. So I was playing Minecraft three days in the raw - at night - until 2am. Yeah…
I did not build too match. Just house. Mostly wondering in the caves and mining iron and coal and listening Late Night Jazz on Spotify.

Previous - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 40 - 41 - 42 - 43 - 44 - 45 - 46 - 47 - 48 - 49 - 50 - 51 - 52 - 53 - 54 - 55 - 56 - 57 - 58 - 59 - 60 - 61 - 62 - 63 - 64 - Next