Hi all,
Here it is, the last day of 2011. So make some overview about the year.
First look the blog itself. There were 28 post including this. The blog was viewed 444 times. The top 10 of countries are: Hungary (216), Ukraine (59), USA (39), Russia (36) , Germany (28), Taiwan (16), Vietnam (5), Italy (4), Canada (3), Netherlands (3)
The web browsers that opened the blog : Firefox (51%), Chrome (32%), IE (11%), Opera (3%), and Namoroka, Netscape,Safary also. I wonder who use Netscape these days...
On Youtube there are 8 video reliated to the blog, with 122 view. Wow thats something :)
Lets talk about sources now. Fortunatelly Sourceforge have great statistics, so here it is project by project. Prince of Darkness: 12 download, Prince of Droid: 22 download, Flaming Image Browser: 42 download, Mutation 13: 8 download, Flaming Game Development: 6 download. As you can see the most "successfull" project was the Image Browser. I wonder how many people downloaded i,t while searcing Fibonacchi calculating program, because of the FIB sort name... Secound best was Prince of Droid that shows the great potention of mobile programs these days. At least here are the countries where the 90 downloads was made:
Ukrain, Romania, Hungary, France, USA, Italy Korea, India, Vietnam, Taiwan, Philippines, Belgium, Netherlends, Turkey, Germany, Marocco. China, Brazile, Indonesia, Spain, CAnada Polland, Finland, Argentina. Wow some of them are unexpected.
Thank for everyone support this blog and our work. Happy New Year! See you in 2012. Hope that the world won't end... XD
December 31, 2011
December 19, 2011
B.V. - alpha
Hi all,
The game project is on a good progress. All of the planned features are coded. We reached the alpha state! At least I hope so... The following weeks the code will undergo some refactorization, parallel with generating contents to it. I will inform you about the developments week by week.
You can download the BV_alpha sourcecode from here.
The game project is on a good progress. All of the planned features are coded. We reached the alpha state! At least I hope so... The following weeks the code will undergo some refactorization, parallel with generating contents to it. I will inform you about the developments week by week.
You can download the BV_alpha sourcecode from here.
December 12, 2011
Objects
Hi,
Here is my next development video. Last week I implemented objects in the word. You can walk around them, but can't walk through them :). You can't shoot them through neighter. These objects can be static like tent, dinamic, like fire or portal circle or interactive like rage crystal. I also implemented switch between levels. During the coding I changed the previous render class a bit, so no more layer operation needed. The overlap of the sprites now handled with an ordered blitting to screen. At the end some bug was handled. This week I will work on the AI, and if it go well the pre-alpha state will be over.
Here is a video about the progress:
Here is the sourcecode.
Here is my next development video. Last week I implemented objects in the word. You can walk around them, but can't walk through them :). You can't shoot them through neighter. These objects can be static like tent, dinamic, like fire or portal circle or interactive like rage crystal. I also implemented switch between levels. During the coding I changed the previous render class a bit, so no more layer operation needed. The overlap of the sprites now handled with an ordered blitting to screen. At the end some bug was handled. This week I will work on the AI, and if it go well the pre-alpha state will be over.
Here is a video about the progress:
Here is the sourcecode.
December 5, 2011
All you need is... RAGE!!!
Hi,
Here is the next stage of my game development. Last week I implemented the rage system. The main tought behind it was add more fun and strategy to the game. Thats how it work:
You have some skills, that have a rage cost. If you cast them, that much rage you will lose. If you don't have enough rage for a skill you can't cast it.
You can get rage in two different way. First if you couse damage to an enemy, it give you a small amount of rage. Secound, if you hurted by an enemy, it gives more rage.
Simple, isnt it?
You can download the tech_demo_v05 source from here.
And here is a short video about it. The game has its own sound, because I added some sound play feature to it. So watch carefully....
Here is the next stage of my game development. Last week I implemented the rage system. The main tought behind it was add more fun and strategy to the game. Thats how it work:
You have some skills, that have a rage cost. If you cast them, that much rage you will lose. If you don't have enough rage for a skill you can't cast it.
You can get rage in two different way. First if you couse damage to an enemy, it give you a small amount of rage. Secound, if you hurted by an enemy, it gives more rage.
Simple, isnt it?
You can download the tech_demo_v05 source from here.
And here is a short video about it. The game has its own sound, because I added some sound play feature to it. So watch carefully....
November 30, 2011
Resources
Lately I searching for different stuffs like spritesheets and sound for my upcoming game. Of course these are need to be open source. After many hours of hard workt I found two sites, that I deffenetly will use at the future.
One for arts and sound:
http://opengameart.org/
Another for sounds and effects:
http://soundbible.com/
Stay tunned for the next video! It will come at the next week. :)
One for arts and sound:
http://opengameart.org/
Another for sounds and effects:
http://soundbible.com/
Stay tunned for the next video! It will come at the next week. :)
Labels:
art,
opengameart,
resource,
sound,
soundbible,
spritesheet
November 20, 2011
B.V. development progresses
Hi Everyone,
Here is a short video about the develeopments that I recently made on B.V. Enjoy it!
Here is a short video about the develeopments that I recently made on B.V. Enjoy it!
November 10, 2011
Some more classes
Hi,
As I said in my last post, I'm going to share some more of my classes now. These are:
UpdateRectSprite: I use it to update the sprites rect during move update, because of the collosions.
GarbageCollector: Its track some objects during moving and kill them at the boundary of the levelmap.
Dialog: It is update the HUD dialog data.
MoveSprite: Update sprites posÃtion according to time and speed.
AnimateSprite: It update the Sprites frames.
As I said in my last post, I'm going to share some more of my classes now. These are:
UpdateRectSprite: I use it to update the sprites rect during move update, because of the collosions.
GarbageCollector: Its track some objects during moving and kill them at the boundary of the levelmap.
Dialog: It is update the HUD dialog data.
MoveSprite: Update sprites posÃtion according to time and speed.
AnimateSprite: It update the Sprites frames.
November 3, 2011
First look on B.V.
Hi Everyone!
Long time no see? Well I was on a small holiday, but I code a lot. XD. I hope all of you remember that, I started to rewrite the Tech Demo v0.2, that you can now download here . Below you can see a short video about the new 'engine'. Thats for now, next time I will share some of my classes with you.
Long time no see? Well I was on a small holiday, but I code a lot. XD. I hope all of you remember that, I started to rewrite the Tech Demo v0.2, that you can now download here . Below you can see a short video about the new 'engine'. Thats for now, next time I will share some of my classes with you.
October 23, 2011
B.V First Class(es)
Hi, here are some classes, that I finished during the week.
SourceLoader class load my resources from a directory or just one specific resource. Use MassSourceLoader to load sound, text and images from a directory and from its subdirectories. If something went wrong the ErrorLogger class give you a feedback. Use OpenTxt, OpenWav and OpenImage methods to load a single source.
SourceLoader class load my resources from a directory or just one specific resource. Use MassSourceLoader to load sound, text and images from a directory and from its subdirectories. If something went wrong the ErrorLogger class give you a feedback. Use OpenTxt, OpenWav and OpenImage methods to load a single source.
SplitSheet class to split my spritesheets. Give the source image and the width and hight of one sprite on the sheet and the class return an image list, where every element is an individual image, use Images[x] to get them
ErrorLogger class to log errors that occure during the source loading or other activity. If something get wrong you can find an ErrorLog.txt on your work directory with some information about the error.
Thats for now, next week I will share more, I hope, finished classes.
October 14, 2011
Code Name: B.V.
OK, here is my tech demo v0.3 features specification:
Currently I'm working on the demo's class diagramm, to achive proper conceptual integrity. When making classes I use the 1 class 1 responsibility approach. As soon as I will finish it I will share it with all of you. Have a good weekend.
- Handle bigger maps then screen size,
- link maps,
- place static and dinamic objects on map,
- place animated player and npc-s on map,
- dialog with npc-s,
- interaction with objects,
- handle player in front or behind objects,
- Graphical User Interface,
- implement some skills,
- skills and battles are animated,
- implement some monsters,
- implement battle system,
- have a short story,
- monsters have artifical inteligent,
- checkpoint style saving.
Currently I'm working on the demo's class diagramm, to achive proper conceptual integrity. When making classes I use the 1 class 1 responsibility approach. As soon as I will finish it I will share it with all of you. Have a good weekend.
October 9, 2011
Syrtis War Stalkers: SWS IRL: a hot and fluffy story
Great News! Our team's activities were published on Syrtis War Stalkers blog, where I have fun playing Regnum Online MMO game during my free time! Check: Syrtis War Stalkers: SWS IRL: a hot and fluffy story. If you want to know more, visit Regnum Online, make an account, go to Horus, join Syrtis and look for us, SWS clan. Our mighty leader is Titanium Axle, get in touch with him if you are inside War Zone, just typing "/chat Titanium Axle", or speak with any SWS member with "Son of Ares", "Virtuous Elite", and "Honored Hero" rank to be recruited and join our friendly and brave clan.
October 7, 2011
Flaming Wolf on Youtube
Hi, as you can see Flaming Wolf went to Youtube too. Here are two video about past projects.
Prince of Darkness:
Mutation 13:
Prince of Darkness:
Mutation 13:
October 4, 2011
Tech Demo v0.2
I'm back again with Tech demo v0.2. You can watch the video below.
Here is some changelog:
You can download the source of the Tech demo v0.1 here.
Here is some changelog:
- 8 ways player sprite was added, figure 1,
- isometric background was added,
- map boundaries and unwalkable places was implemented (check video),
- changed control to WASD and mouse,
- throw shuriken with left mouse button click, to the direction of the cursor (check video),
- shurikens can throw at a 90° angle, in front of the player (check video).
Figure 1. 8 way player sprite |
You can download the source of the Tech demo v0.1 here.
See you next time!
October 2, 2011
13th Pyweek in numbers
The 13th Pyweek is over. Let's see some numbers about it. There was 32 individual entries and 23 team entries. The first 3 awarded in individual are
My personal favourite is Mutated Maze, which is a rear pearl I think.
In team:
My personal favourite in this category is mamba! It is really cool. :) You can find the rating list here.
Now speak a bit about my first time ever Pyweek enty. Flaming Wolf - Mutation was ranked as the 22nd best game. Hm quite low, but my game isn't too complex so I'm happy not being the last one. The game avarages are, on a 5 scale:
What is more, the game got 2 awards. These are the:
Wow I never tought I could got any award.
My goal for the next Pyweek, which will take place on the next spring, is to make a game that will get better ratings. See you on the next Pyweek.
- 1st: Universe Factory 13
- 2nd: Chimera Chimera
- 3th: Godspeed You! Mutated Maze
My personal favourite is Mutated Maze, which is a rear pearl I think.
In team:
- 1st: Errors in frot of keayboards
- 2nd: mamba
- 3th: Perceptibly Sideways
My personal favourite in this category is mamba! It is really cool. :) You can find the rating list here.
Now speak a bit about my first time ever Pyweek enty. Flaming Wolf - Mutation was ranked as the 22nd best game. Hm quite low, but my game isn't too complex so I'm happy not being the last one. The game avarages are, on a 5 scale:
- Fun: 2.6
- Production: 2.7
- Innovation: 2.2
What is more, the game got 2 awards. These are the:
- Number 1 Finisher
- Magic School Bus Award for ship inside a person
Wow I never tought I could got any award.
My goal for the next Pyweek, which will take place on the next spring, is to make a game that will get better ratings. See you on the next Pyweek.
September 28, 2011
New Project
After Pyweek, I hadn't have any good idea to make a similar program to my image browser, so I started to write a new game. I had a suitable idea in my mind for some time, so I started to develope it. Furtunatelly two of my friends joined too, so now my project have a lot of creative minds. :) At first step I started to make tech-demos, to develope and implement the visuals for the game. My aim is to make a Diablo I looking game. So it will have an isometric point of view. You can watch a short video about my first tech-demo. Its about how I can animate things like shurikens, and how I can move a character in 8 different direction, unfortunatelly I have just a 4 way sprite, yet.
The code is need some refactorization, so I will give a download link when I'm done with it. During the coding I got great ideas about sprite animation from this blog, what is more, you can find good advises about time managament here. My sprites are free, I downloaded them from here
My game don't have any title yet, we just started to work on the games world.
Stay tunned for more info about the project!
The code is need some refactorization, so I will give a download link when I'm done with it. During the coding I got great ideas about sprite animation from this blog, what is more, you can find good advises about time managament here. My sprites are free, I downloaded them from here
He is my first avatar. |
Stay tunned for more info about the project!
September 23, 2011
Refactorization
To ease my future work I refactorized my previous Button and Entry class that I used it the image browser project, and made one Interface class from them. Much more simple. Beside some refactorization I created a resource loader, it will be great help at next Pyweek. You can load images, text files and sound into a dictionary which grant easy access to resources. I wrote a small code to demonstrate their work. They are under GNU licence, so feel free to download them from here.
September 21, 2011
Summary of the 13th Pyweek
Pyweek 13 is in its final stage. So here is a summary of my experiances, for everyone who want to participate in the future.
Schedule:
When theme voting begin, make sort plan about each theme. I mean think about what game would you write for each one. It will save you a lot of developing time later.
After challenge start think some more about your game idea. Take account how much time will you have to code and how complex game you can finish.
If you add artworks and sounds during coding you don't need to plan days long polishing, so you will have more time to develope.
It save you time if you just submit a source code and don't make any executable. See "Killer moves" for more advise.
Killer moves:
ALWAYS add readme with dependencies. Somebody may find disturbing to hunt them down.
Don't dare write a code with a lot of dependencies. Max 2-3 if you plan to submit source. Maybe some people will think:" Oh man a lot of dependencies I wont instal them for sure!" or just "Ragequit" after the 4. dep. installation.
Create controls that make sense.
My mistakes:
I missed the theme voiting time to think about games.
Schedule:
When theme voting begin, make sort plan about each theme. I mean think about what game would you write for each one. It will save you a lot of developing time later.
After challenge start think some more about your game idea. Take account how much time will you have to code and how complex game you can finish.
If you add artworks and sounds during coding you don't need to plan days long polishing, so you will have more time to develope.
It save you time if you just submit a source code and don't make any executable. See "Killer moves" for more advise.
Killer moves:
ALWAYS add readme with dependencies. Somebody may find disturbing to hunt them down.
Don't dare write a code with a lot of dependencies. Max 2-3 if you plan to submit source. Maybe some people will think:" Oh man a lot of dependencies I wont instal them for sure!" or just "Ragequit" after the 4. dep. installation.
Create controls that make sense.
My mistakes:
I missed the theme voiting time to think about games.
I made a mistake in my schedule. Underestameted my coding skills (XD) and I was done with it at the 2nd day. So I had a lot of time after finish code that I could use to write a more complex game.
September 16, 2011
Mutate and Pyweek
I'm finished my Pyweek entry today, and upload it on the site as well as upload on Sourceforge too. You can download eighter the source code or the win 32 installer here. So get it and play it :).
So what is Pyweek about: It is a one week programing challange. The aim is to develope a game according to a theme. After the develepoment week all candidates are judge each other game in the following categories with rate 1-5:
About Mutation 13: This Pyweek theme was mutate, so my game is about mutation. It take place in the near future, where an evil virus change humans into SUPER LOLLIES.That young big breasted ones that you see in animes and mangas lol. In short your goal is to fight agains this virus with your state of the art, high-tech nano ship equiped with an Atomic Ion Cannon.
Here is some screenshot from the game:
As last word in this post Pyweek is a lot of fun. I learnt a lot, but I will talk about it in another post.
So what is Pyweek about: It is a one week programing challange. The aim is to develope a game according to a theme. After the develepoment week all candidates are judge each other game in the following categories with rate 1-5:
- Fun
- Innovation
- Production
About Mutation 13: This Pyweek theme was mutate, so my game is about mutation. It take place in the near future, where an evil virus change humans into SUPER LOLLIES.That young big breasted ones that you see in animes and mangas lol. In short your goal is to fight agains this virus with your state of the art, high-tech nano ship equiped with an Atomic Ion Cannon.
Here is some screenshot from the game:
As last word in this post Pyweek is a lot of fun. I learnt a lot, but I will talk about it in another post.
September 8, 2011
Image Browser - Part 5 - Final release
OK, the final version of Flaming Image Browser is out on the internet. You can download it here.
Changelog:
Changelog:
- Better button images
- Buttons more visible now
- New transformation when resizeing images for the better quality
- More comment in sourcecode
- Additional "Really want to exit?" screen
- Some bugs was handled
September 6, 2011
Pyweek 2011
Today I registered on Pyweek, a one week long python game programing challenge. Look for Flaming Wolf among the entries. So whish good luck for me for the next week. :)
September 3, 2011
Image Browser - Part 4 - BETA
With days of hard work I finished the image browser's BETA version, what you can download from here. I publish it under GNU licence. During the coding, I made some changes in the classes.
Click Browse button to go through directories on your HDD, and use Forward-Backward buttons to move directory pages.
Stay tunned for the final release, and report any bug that you find in the BETA version.
Click Browse button to go through directories on your HDD, and use Forward-Backward buttons to move directory pages.
Stay tunned for the final release, and report any bug that you find in the BETA version.
August 28, 2011
Image Browser - Part 3 - Class diagramm
Class Button:
This class handle button graphic, animation, and its catch user interaction.
Class Entry:
This class handle how the directory list elements show on sreen and handle user interaction with these elements.
Class HMI:
This class provide a Human-Machine Interface. The basic tasks of this class is to countain buttons and entries. Handle user interaction, like find witch button was pushed, and show buttons and directory list.
Class Directory:
Handle directory reliated tasks.
Class Image:
Basic image showing and functions to browse through images in a given directory.
This class handle button graphic, animation, and its catch user interaction.
Class Entry:
This class handle how the directory list elements show on sreen and handle user interaction with these elements.
Class HMI:
This class provide a Human-Machine Interface. The basic tasks of this class is to countain buttons and entries. Handle user interaction, like find witch button was pushed, and show buttons and directory list.
Class Directory:
Handle directory reliated tasks.
Class Image:
Basic image showing and functions to browse through images in a given directory.
August 26, 2011
August 25, 2011
Image browser in Python - Part 1 - Specification
My next project is an image browser. Which specifications are the followings:
- Minimalistic desing
- Maximum space for pictures
- Support the most common image types (png, bmp,gif,jpeg)
- Automatic align of the buttons at different screen sizes
- Always in full screen mode
- Browsing through directories function
- Animated buttons
- Automatic picture downsize if need
August 18, 2011
Python on Android
Did you know that Android is base on a Linux kernel? And I think almost all Linux for PC-s has a built in Python. So let's put Python on Android and have some fun. :) But how to do that? First you need a SL4A (Scripting layer for Android) on your system. SL4A is like a shell and the next step is install Python or any other program language engine. See more information in the main website. After some minutes/hours/days of work you can write and run Python scripts on your mobile device. If it's not enough disco to you, you can add Python subset for Android too. And make games and earn a furtune with them throught Android Market. For example here is my previus Prince of Darkness game ported to Android. I made some changes in intefaces to be more cool looking on Android, and slightly change gameplay too (and you can still run it on an avarage PC). If someone could help me how make an .apk file from it please discous it with me.
Hints:
Hints:
- Both SL4A and PS4A is on the Market, you can download them. If not, use websites download areas.
- If you use Pygame Subset for Android 0.9.3 don't forget to add android.init() to the code else touchscreen won't work. I spent 2 days with this problem...
- You don't need to have a Android mobile device for these things, they are run on Android emulator too. I developed my game on it.
August 14, 2011
Python to Windows executable
To convert my Python programs to Windows executables I use Py2exe and here goes some line about how to use it. So you installed it and wana convert your .py file to .exe. First you need a setup script like the following:
import sets
from distutils.core import setup
import py2exe
setup(windows=['yourprogram.py'])
The 'windows' key makes your program run without a console, if you wana run your program with an ugly looking console write 'console' instead. It is just a minimalistick script, if you wana add icon picture or other stuffs look documentation on web.
Next thing is after you saved your setup.py script is run the script. But don't use IDLE for it. Use command line. Like this: "c:\python\python.exe setup.py py2exe" As you can see the main things are define the program (python.exe) that you wana use for execute setup.py and add py2exe for run setup.py with py2exe option.
After a bunch of lines its over, and you will find two new directory, where your setup.py. These are build and dist. You dont need the build dir just the dist one. All the files in the dist directory that you need to use for run your program without an installed Python. So zip them for distribution.
If you use fonts in your program and after the conversation it gives you error messages its could be because of missing fonts. To solve this just copy the following files to your dist filder. "SDL_ttf.dll, font.pyd, libfreetype-6.dll"
Thats all...
import sets
from distutils.core import setup
import py2exe
setup(windows=['yourprogram.py'])
The 'windows' key makes your program run without a console, if you wana run your program with an ugly looking console write 'console' instead. It is just a minimalistick script, if you wana add icon picture or other stuffs look documentation on web.
Next thing is after you saved your setup.py script is run the script. But don't use IDLE for it. Use command line. Like this: "c:\python\python.exe setup.py py2exe" As you can see the main things are define the program (python.exe) that you wana use for execute setup.py and add py2exe for run setup.py with py2exe option.
After a bunch of lines its over, and you will find two new directory, where your setup.py. These are build and dist. You dont need the build dir just the dist one. All the files in the dist directory that you need to use for run your program without an installed Python. So zip them for distribution.
If you use fonts in your program and after the conversation it gives you error messages its could be because of missing fonts. To solve this just copy the following files to your dist filder. "SDL_ttf.dll, font.pyd, libfreetype-6.dll"
Thats all...
August 10, 2011
Prince of Darkness : Bloody Saturday
This post will be about my first game that I wrote, it is: Prince of Darkness: Bloody Saturday
Review:
Tha base concepts are: a quarc game from tha late 80's - early 90's and a romour about a famous star. So I took thes things and made my game. You can download the windows executable or the source here . Lets see what programs I used. First Python 2.6 for basic operations, Pygame 1.9 to handle graphic, Buzhug 1.8 for database to save high scores and players name's. At least Py2exe for making windows executables.
How to play:
Your aim during the game is to catch as much bat as you can before lose your 4 life.
After start the game, you can see the scoretable by hitting the 'S' key, to begin game hit key 'B'. You can move with the 'H','U','J','Y' keys.
During the game you get continous feedback of your score and how much life remained.
When game end you can write your name in the score table. If you mistake use BACKSPACE to delete and hit ENTER when you ready.
Usefull advice:
If you using pygame and experiance slow down during gameplay, look for sprites that you draw but not delete, over and over. 700-1000 sprites can cause serious slow down. :)
Review:
Tha base concepts are: a quarc game from tha late 80's - early 90's and a romour about a famous star. So I took thes things and made my game. You can download the windows executable or the source here . Lets see what programs I used. First Python 2.6 for basic operations, Pygame 1.9 to handle graphic, Buzhug 1.8 for database to save high scores and players name's. At least Py2exe for making windows executables.
How to play:
Your aim during the game is to catch as much bat as you can before lose your 4 life.
After start the game, you can see the scoretable by hitting the 'S' key, to begin game hit key 'B'. You can move with the 'H','U','J','Y' keys.
During the game you get continous feedback of your score and how much life remained.
When game end you can write your name in the score table. If you mistake use BACKSPACE to delete and hit ENTER when you ready.
Usefull advice:
If you using pygame and experiance slow down during gameplay, look for sprites that you draw but not delete, over and over. 700-1000 sprites can cause serious slow down. :)
August 8, 2011
Art Gallery
My first "work" was an art gallery for my vectorgraphic drawings. You can check it on
chiharu.net46.net
It is the secound version of my gallery. It has a lot of improvements compared to the first one. It is more modular now. Which is make the coding, developing and maintaning more easier. You can select languages, rate picuters, and like it on Facebook besides placing comments.
The code was written in PHP mostly. I could get rid of the javascript that I used at the previous version to handle user enteraction when forward or backward selected. For the dinamic contents I use SQL databases and queries.
I developed and tested it offline on my PC useing XAMPP. Whitch contain apache and sql server as well as an ftp server. It has great features so I recomand it to everyone.
About hosting. My host is www.000webhost.com its free of course and they don't delete your site if it is look dead.
If you have any question about the gallery dont hasitate to ask.
chiharu.net46.net
It is the secound version of my gallery. It has a lot of improvements compared to the first one. It is more modular now. Which is make the coding, developing and maintaning more easier. You can select languages, rate picuters, and like it on Facebook besides placing comments.
The code was written in PHP mostly. I could get rid of the javascript that I used at the previous version to handle user enteraction when forward or backward selected. For the dinamic contents I use SQL databases and queries.
I developed and tested it offline on my PC useing XAMPP. Whitch contain apache and sql server as well as an ftp server. It has great features so I recomand it to everyone.
About hosting. My host is www.000webhost.com its free of course and they don't delete your site if it is look dead.
If you have any question about the gallery dont hasitate to ask.
Subscribe to:
Posts (Atom)